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