1 |
REQUIRE "atoms.a4l"; |
2 |
(* => atoms.a4l, measures.a4l, system.a4l, basemodel.a4l *) |
3 |
PROVIDE "guthriecosts.a4l"; |
4 |
|
5 |
(* |
6 |
* guthriecosts.a4l |
7 |
* by Arthur W. Westerberg |
8 |
* Part of the ASCEND Library |
9 |
* $Date: 2006/03/03 10:39:19 $ |
10 |
* |
11 |
* This file is part of the ASCEND Modeling Library. |
12 |
* |
13 |
* Copyright (C) 1994-1998 Carnegie Mellon University |
14 |
* |
15 |
* The ASCEND Modeling Library is free software; you can redistribute |
16 |
* it and/or modify it under the terms of the GNU General Public |
17 |
* License as published by the Free Software Foundation; either |
18 |
* version 2 of the License, or (at your option) any later version. |
19 |
* |
20 |
* The ASCEND Modeling Library is distributed in hope that it |
21 |
* will be useful, but WITHOUT ANY WARRANTY; without even the implied |
22 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
23 |
* See the GNU General Public License for more details. |
24 |
* |
25 |
* You should have received a copy of the GNU General Public License |
26 |
* along with the program; if not, write to the Free Software |
27 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check |
28 |
* the file named COPYING. |
29 |
*) |
30 |
|
31 |
|
32 |
MODEL cost_info_pressure_vessel; |
33 |
|
34 |
MandSindex,Fp,Fm,Fc IS_A factor; |
35 |
|
36 |
Fc = Fp*Fm; |
37 |
|
38 |
|
39 |
(* |
40 |
|
41 |
Marshall and Swift FOR May 1994 - 990.8 |
42 |
|
43 |
pressure factor Fp |
44 |
|
45 |
P up to 50psig 100 200 300 400 500 |
46 |
Fp 1.00 1.05 1.15 1.20 1.35 1.45 |
47 |
|
48 |
P 600 700 800 900 1000 |
49 |
Fp 1.60 1.80 1.90 2.30 2.50 |
50 |
|
51 |
|
52 |
material factor Fm |
53 |
|
54 |
material CS SS Monel Titanium |
55 |
Fm,clad 1.00 2.25 3.89 4.25 |
56 |
Fm,solid 1.00 3.67 6.34 7.89 |
57 |
|
58 |
*) |
59 |
|
60 |
|
61 |
METHODS |
62 |
|
63 |
METHOD specify; |
64 |
FIX MandSindex; |
65 |
FIX Fm; |
66 |
FIX Fp; |
67 |
END specify; |
68 |
|
69 |
METHOD reset; |
70 |
RUN ClearAll; |
71 |
RUN specify; |
72 |
END reset; |
73 |
|
74 |
END cost_info_pressure_vessel; |
75 |
|
76 |
|
77 |
MODEL Guthrie_cost_pressure_vessel; |
78 |
|
79 |
ci IS_A cost_info_pressure_vessel; |
80 |
installed_cost IS_A monetary_unit; |
81 |
D,H IS_A distance; |
82 |
|
83 |
installed_cost = (ci.MandSindex/280)*101.9{USD}*(D/1{ft})^1.066 |
84 |
*(H/1{ft})^0.802*(2.18+ci.Fc); |
85 |
|
86 |
|
87 |
METHODS |
88 |
|
89 |
METHOD specify; |
90 |
RUN ci.specify; |
91 |
FIX D; |
92 |
FIX H; |
93 |
END specify; |
94 |
|
95 |
METHOD reset; |
96 |
RUN ClearAll; |
97 |
RUN specify; |
98 |
END reset; |
99 |
|
100 |
END Guthrie_cost_pressure_vessel; |
101 |
|
102 |
MODEL simple_pressure_vessel_cost; |
103 |
|
104 |
gc IS_A Guthrie_cost_pressure_vessel; |
105 |
installed_cost IS_A monetary_unit; |
106 |
cc IS_A circle_constant; |
107 |
liq_holdup_time IS_A time; |
108 |
vol_flow IS_A volume_rate; |
109 |
volume IS_A volume; |
110 |
H_to_D IS_A factor; |
111 |
D,H IS_A distance; |
112 |
|
113 |
gc.D,D ARE_THE_SAME; |
114 |
gc.H,H ARE_THE_SAME; |
115 |
gc.installed_cost, |
116 |
installed_cost ARE_THE_SAME; |
117 |
|
118 |
|
119 |
|
120 |
volume = vol_flow*liq_holdup_time; |
121 |
volume = cc*D^2/4.0*H; |
122 |
H = H_to_D*D; |
123 |
|
124 |
METHODS |
125 |
|
126 |
METHOD specify; |
127 |
RUN gc.specify; |
128 |
FREE D; |
129 |
FREE H; |
130 |
FIX vol_flow; |
131 |
FIX liq_holdup_time; |
132 |
FIX H_to_D; |
133 |
END specify; |
134 |
|
135 |
METHOD reset; |
136 |
RUN ClearAll; |
137 |
RUN specify; |
138 |
END reset; |
139 |
|
140 |
END simple_pressure_vessel_cost; |