1 |
REQUIRE "system.a4l"; (* => system.a4l, basemodel.a4l *) |
2 |
REQUIRE "measures.a4l"; (* => measures.a4l *) |
3 |
PROVIDE "atoms.a4l"; |
4 |
|
5 |
(* ASCEND modelling environment |
6 |
* Copyright (C) 1994-2006 Carnegie Mellon University |
7 |
* |
8 |
* The ASCEND Modeling Library is free software; you can redistribute |
9 |
* it and/or modify it under the terms of the GNU General Public |
10 |
* License as published by the Free Software Foundation; either |
11 |
* version 2 of the License, or (at your option) any later version. |
12 |
* |
13 |
* The ASCEND Modeling Library is distributed in hope that it |
14 |
* will be useful, but WITHOUT ANY WARRANTY; without even the implied |
15 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
16 |
* See the GNU General Public License for more details. |
17 |
* |
18 |
* You should have received a copy of the GNU General Public License |
19 |
* along with the program; if not, write to the Free Software |
20 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. |
21 |
*) |
22 |
|
23 |
(*============================================================================* |
24 |
|
25 |
A T O M S . A 4 L |
26 |
------------------------- |
27 |
|
28 |
AUTHOR: Joseph J. Zaher |
29 |
|
30 |
DATES: 07/91 - Original code. |
31 |
02/92 - Eliminated "display_units" assignments, added |
32 |
commonly used UNIVERSAL constants and transport |
33 |
quantities. |
34 |
04/92 - Added electro-magnetic quantities. |
35 |
06/92 - Converted by Ben Allan to be compatible with ASCEND3C |
36 |
08/92 - Additional monetary atoms added by Bob Huss |
37 |
02/96 - Brought proper constants into the library. Ben Allan. |
38 |
07/96 - Incorporated Ken Tyner's substitution atoms. BAA. |
39 |
07/96 - Switched to REQUIRE syntax. |
40 |
08/96 - Switched to REQUIRE ivpsystem.a4l. |
41 |
08/97 - Switched to REQUIRE/PROVIDE syntax. |
42 |
|
43 |
CONTENTS: ASCEND atom definitions for engineering variable types. |
44 |
Many of the anticipated dimensional variables which occur |
45 |
in engineering design calculations are given to provide a |
46 |
means of standardization. Chosen defaults, nominal, and |
47 |
lower and upper bound values should be re-specified if |
48 |
necessary to enhance the convergence properties of |
49 |
specific models. Units to be displayed are to be controlled |
50 |
using the UNITS tool kit of the environment. |
51 |
|
52 |
REQUIRES: see top of file. |
53 |
|
54 |
This file by Joseph J. Zaher, Benjamin A. Allan, Robert S. Huss, John Pye |
55 |
Last in CVS: $Date: 1998/08/17 13:07:11 $ $Revision: 1.11 $ |
56 |
|
57 |
*===========================================================================*) |
58 |
|
59 |
(* G E N E R I C C O N S T A N T S ( C H E M . E . B I A S ) |
60 |
-------------------------------------------------------------------- *) |
61 |
|
62 |
CONSTANT constant |
63 |
(* any sloppiness about what is a constant will yield a wild real *) |
64 |
REFINES real_constant; |
65 |
|
66 |
(* dimensionless *) |
67 |
|
68 |
CONSTANT critical_compressibility REFINES real_constant DIMENSIONLESS; |
69 |
|
70 |
CONSTANT acentric_factor REFINES real_constant DIMENSIONLESS; |
71 |
|
72 |
CONSTANT UNIFAC_size REFINES real_constant DIMENSIONLESS; |
73 |
|
74 |
CONSTANT Wilson_constant REFINES real_constant DIMENSIONLESS; |
75 |
|
76 |
CONSTANT vapor_pressure_constant REFINES real_constant; |
77 |
|
78 |
CONSTANT factor_constant REFINES real_constant DIMENSIONLESS; |
79 |
|
80 |
(* molecular weight *) |
81 |
CONSTANT molar_weight_constant |
82 |
REFINES real_constant DIMENSION M/Q; |
83 |
|
84 |
(* atomic mass *) |
85 |
CONSTANT atomic_mass_constant |
86 |
REFINES real_constant DIMENSION M; |
87 |
|
88 |
(* temperatures *) |
89 |
CONSTANT temperature_constant |
90 |
REFINES real_constant DIMENSION TMP; |
91 |
|
92 |
CONSTANT boiling_temperature |
93 |
REFINES temperature_constant; |
94 |
|
95 |
CONSTANT critical_temperature |
96 |
REFINES temperature_constant; |
97 |
|
98 |
CONSTANT reference_temperature |
99 |
REFINES temperature_constant; |
100 |
|
101 |
CONSTANT UNIFAC_a |
102 |
REFINES temperature_constant; |
103 |
|
104 |
(* pressures *) |
105 |
CONSTANT pressure_constant |
106 |
REFINES real_constant DIMENSION M/L/T^2; |
107 |
|
108 |
CONSTANT critical_pressure |
109 |
REFINES pressure_constant; |
110 |
|
111 |
CONSTANT reference_pressure |
112 |
REFINES pressure_constant; |
113 |
|
114 |
(* molar volumes *) |
115 |
CONSTANT molar_volume_constant |
116 |
REFINES real_constant DIMENSION L^3/Q; |
117 |
|
118 |
CONSTANT critical_volume |
119 |
REFINES molar_volume_constant; |
120 |
|
121 |
CONSTANT reference_molar_volume |
122 |
REFINES molar_volume_constant; |
123 |
|
124 |
(* mass densities *) |
125 |
CONSTANT reference_mass_density |
126 |
REFINES real_constant DIMENSION M/L^3; |
127 |
|
128 |
(* molar energies *) |
129 |
CONSTANT molar_energy_constant |
130 |
REFINES real_constant DIMENSION M*L^2/T^2/Q; |
131 |
|
132 |
CONSTANT reference_molar_energy |
133 |
REFINES molar_energy_constant; |
134 |
|
135 |
CONSTANT enthalpy_of_formation_constant |
136 |
REFINES molar_energy_constant; |
137 |
|
138 |
CONSTANT free_energy_of_formation_constant |
139 |
REFINES molar_energy_constant; |
140 |
|
141 |
CONSTANT heat_of_vaporization_constant |
142 |
REFINES molar_energy_constant; |
143 |
|
144 |
CONSTANT Wilson_energy_constant |
145 |
REFINES molar_energy_constant; |
146 |
|
147 |
(* molar entropies *) |
148 |
CONSTANT molar_entropy_constant |
149 |
REFINES real_constant DIMENSION M*L^2/T^2/Q/TMP; |
150 |
|
151 |
CONSTANT reference_molar_entropy |
152 |
REFINES molar_entropy_constant; |
153 |
|
154 |
(* other strange correlation coefficients *) |
155 |
CONSTANT heat_capacity_constant |
156 |
REFINES real_constant; |
157 |
|
158 |
CONSTANT heat_capacity_a_constant |
159 |
REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP; |
160 |
|
161 |
CONSTANT heat_capacity_b_constant |
162 |
REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^2; |
163 |
|
164 |
CONSTANT heat_capacity_c_constant |
165 |
REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^3; |
166 |
|
167 |
CONSTANT heat_capacity_d_constant |
168 |
REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^4; |
169 |
|
170 |
(* |
171 |
CONSTANT |
172 |
REFINES real_constant DIMENSION; |
173 |
*) |
174 |
|
175 |
(* U N I V E R S A L C O N S T A N T S |
176 |
-------------------------------------- *) |
177 |
|
178 |
UNIVERSAL CONSTANT gas_constant |
179 |
(* DIMENSION M*L^2/T^2/Q/TMP *) |
180 |
REFINES real_constant :== 1{GAS_C}; |
181 |
|
182 |
UNIVERSAL CONSTANT gravity_constant |
183 |
(* DIMENSION L/T^2 *) |
184 |
REFINES real_constant :== 1{EARTH_G}; |
185 |
|
186 |
UNIVERSAL CONSTANT circle_constant |
187 |
REFINES real_constant :== 1{PI}; |
188 |
|
189 |
UNIVERSAL CONSTANT speed_of_light |
190 |
REFINES real_constant :== 1{LIGHT_C}; |
191 |
|
192 |
UNIVERSAL CONSTANT planck_constant |
193 |
(* DIMENSION M*L^2/T *) |
194 |
REFINES real_constant :== 1{PLANCK_C}; |
195 |
|
196 |
UNIVERSAL CONSTANT avogadro_constant |
197 |
REFINES real_constant :== 1{AVOGADRO_C}; |
198 |
|
199 |
UNIVERSAL CONSTANT permittivity_constant |
200 |
(* DIMENSION E^2*T^4/M/L^3 *) |
201 |
REFINES real_constant :== 1{EPSILON0}; |
202 |
|
203 |
UNIVERSAL CONSTANT permeability_constant |
204 |
REFINES real_constant :== 1{MU0}; |
205 |
|
206 |
UNIVERSAL CONSTANT electron_charge |
207 |
REFINES real_constant :== 1{eCHARGE}; |
208 |
|
209 |
UNIVERSAL CONSTANT electron_mass |
210 |
REFINES real_constant :== 1{eMASS}; |
211 |
|
212 |
UNIVERSAL CONSTANT proton_mass |
213 |
REFINES real_constant :== 1{pMASS}; |
214 |
|
215 |
(* B O O L E A N S *) |
216 |
|
217 |
(* use these booleans *) |
218 |
ATOM boolean_start_true REFINES boolean |
219 |
DEFAULT TRUE; |
220 |
END boolean_start_true; |
221 |
|
222 |
ATOM boolean_start_false REFINES boolean |
223 |
DEFAULT FALSE; |
224 |
END boolean_start_false; |
225 |
|
226 |
(* for backward compatibility *) |
227 |
ATOM start_true REFINES boolean |
228 |
DEFAULT TRUE; |
229 |
END start_true; |
230 |
|
231 |
ATOM start_false REFINES boolean |
232 |
DEFAULT FALSE; |
233 |
END start_false; |
234 |
|
235 |
|
236 |
(* P A R A M E T E R S *) |
237 |
|
238 |
UNIVERSAL ATOM bound_width REFINES real |
239 |
(* not really a constant but a parameter to tell us how wide to |
240 |
* put bounds from the current point, in relative terms. |
241 |
* e.g. a.upper_bound := a + a.nominal * bound_width_instance; |
242 |
*) |
243 |
DIMENSIONLESS |
244 |
DEFAULT 1.0e8; |
245 |
END bound_width; |
246 |
|
247 |
UNIVERSAL ATOM scaling_constant REFINES real |
248 |
(* not really a constant but a parameter. which |
249 |
* needs problem dependent information to be useful. |
250 |
*) |
251 |
DIMENSIONLESS |
252 |
DEFAULT 1.0; |
253 |
END scaling_constant; |
254 |
|
255 |
UNIVERSAL ATOM ode_counter REFINES integer |
256 |
DIMENSIONLESS |
257 |
DEFAULT 1; |
258 |
END ode_counter; |
259 |
|
260 |
UNIVERSAL ATOM obs_counter REFINES integer |
261 |
DIMENSIONLESS |
262 |
DEFAULT 1; |
263 |
END obs_counter; |
264 |
|
265 |
ATOM real_parameter REFINES real; |
266 |
END real_parameter; |
267 |
|
268 |
ATOM length_parameter REFINES real_parameter |
269 |
DIMENSION L |
270 |
DEFAULT 1.0 {m}; |
271 |
END length_parameter; |
272 |
|
273 |
|
274 |
(* D I M E N S I O N L E S S Q U A N T I T I E S |
275 |
---------------------------------------------- *) |
276 |
|
277 |
ATOM positive_variable REFINES solver_var |
278 |
(* one for the gams folks *) |
279 |
DIMENSIONLESS |
280 |
DEFAULT 1.0; |
281 |
lower_bound := 0.0; |
282 |
upper_bound := 1e20; |
283 |
nominal := 1.0; |
284 |
END positive_variable; |
285 |
|
286 |
ATOM factor REFINES solver_var |
287 |
DIMENSIONLESS |
288 |
DEFAULT 1.0; |
289 |
lower_bound := -1e50; |
290 |
upper_bound := 1e50; |
291 |
nominal := 1.0; |
292 |
END factor; |
293 |
|
294 |
ATOM variable REFINES solver_var |
295 |
DIMENSIONLESS; |
296 |
END variable; |
297 |
|
298 |
|
299 |
ATOM fraction REFINES solver_var |
300 |
DIMENSIONLESS |
301 |
DEFAULT 0.5; |
302 |
nominal := 1.0; |
303 |
lower_bound := 0.0; |
304 |
upper_bound := 1.0; |
305 |
END fraction; |
306 |
|
307 |
ATOM positive_factor REFINES factor; |
308 |
lower_bound := 0.0; |
309 |
END positive_factor; |
310 |
|
311 |
ATOM small_factor REFINES factor; |
312 |
lower_bound := -10.0; |
313 |
upper_bound := 10.0; |
314 |
END small_factor; |
315 |
|
316 |
ATOM small_positive_factor REFINES factor; |
317 |
lower_bound := 0.0; |
318 |
upper_bound := 10.0; |
319 |
END small_positive_factor; |
320 |
|
321 |
ATOM reduced_pressure REFINES factor; |
322 |
END reduced_pressure; |
323 |
|
324 |
(* S U B S T I T U T I O N V A R I A B L E S |
325 |
------------------------------------------ *) |
326 |
ATOM exp_sub REFINES factor ; |
327 |
lower_bound := -1e50; |
328 |
upper_bound := 100; |
329 |
nominal := 1.0; |
330 |
END exp_sub; |
331 |
|
332 |
ATOM power_sub REFINES factor; |
333 |
lower_bound := -25; |
334 |
upper_bound := 25; |
335 |
nominal := 1.0; |
336 |
END power_sub; |
337 |
|
338 |
(* T E M P E R A T U R E |
339 |
--------------------- *) |
340 |
|
341 |
ATOM temperature REFINES solver_var |
342 |
DIMENSION TMP |
343 |
DEFAULT 298.0{K}; |
344 |
lower_bound := 1.0e-6{K}; |
345 |
upper_bound := 10000{K}; |
346 |
nominal := 298.0{K}; |
347 |
END temperature; |
348 |
|
349 |
ATOM inverse_temperature REFINES solver_var |
350 |
DIMENSION 1/TMP |
351 |
DEFAULT 0.00366099{1/K}; |
352 |
lower_bound := 0.0{1/K}; |
353 |
upper_bound := 1e50{1/K}; |
354 |
nominal := 0.00366099{1/K}; |
355 |
END inverse_temperature; |
356 |
|
357 |
ATOM delta_temperature REFINES solver_var |
358 |
DIMENSION TMP |
359 |
DEFAULT 0.1{K}; |
360 |
lower_bound := -1000{K}; |
361 |
upper_bound := +1000{K}; |
362 |
nominal := 5{K}; |
363 |
END delta_temperature; |
364 |
|
365 |
(* forces *) |
366 |
ATOM force REFINES solver_var |
367 |
DIMENSION M*L/T^2 |
368 |
DEFAULT 1.0{N}; |
369 |
lower_bound := -1e20{N}; |
370 |
upper_bound := 1e20{N}; |
371 |
nominal := 1.0{kN}; |
372 |
END force; |
373 |
|
374 |
ATOM force_per_length REFINES solver_var |
375 |
DIMENSION M/T^2 |
376 |
DEFAULT 1.0{N/m}; |
377 |
lower_bound := -1e20{N/m}; |
378 |
upper_bound := 1e20{N/m}; |
379 |
nominal := 1.0{N/m}; |
380 |
END force_per_length; |
381 |
|
382 |
ATOM surface_tension REFINES solver_var |
383 |
DIMENSION M/T^2 |
384 |
DEFAULT 1.0{N/m}; |
385 |
lower_bound := 0{N/m}; |
386 |
upper_bound := 1e20{N/m}; |
387 |
nominal := 1.0{N/m}; |
388 |
END surface_tension; |
389 |
|
390 |
(* P R E S S U R E |
391 |
--------------- *) |
392 |
|
393 |
ATOM pressure REFINES solver_var |
394 |
DIMENSION M/L/T^2 |
395 |
DEFAULT 1.0{atm}; |
396 |
lower_bound := 0.001{Pa}; |
397 |
upper_bound := 5000{atm}; |
398 |
nominal := 1.0{atm}; |
399 |
END pressure; |
400 |
|
401 |
ATOM delta_pressure REFINES solver_var |
402 |
DIMENSION M/L/T^2 |
403 |
DEFAULT 1.0{atm}; |
404 |
lower_bound := -1000{atm}; |
405 |
upper_bound := 1000{atm}; |
406 |
nominal := 1.0{atm}; |
407 |
END delta_pressure; |
408 |
|
409 |
ATOM vapor_pressure REFINES pressure |
410 |
DIMENSION M/L/T^2 |
411 |
DEFAULT 1.0{atm}; |
412 |
lower_bound := 0.001{Pa}; |
413 |
upper_bound := 5000{atm}; |
414 |
nominal := 0.5{atm}; |
415 |
END vapor_pressure; |
416 |
|
417 |
ATOM k_constant REFINES solver_var |
418 |
(* what IS this ? ? ? (it rings a bell...) *) |
419 |
DIMENSION T^2/L^5 |
420 |
DEFAULT 1.0 {s^2/ft^5}; |
421 |
lower_bound := 0.001 {s^2/ft^5}; |
422 |
upper_bound := 5000 {s^2/ft^5}; |
423 |
nominal := 1.0 {s^2/ft^5}; |
424 |
END k_constant; |
425 |
|
426 |
ATOM youngs_modulus REFINES solver_var |
427 |
(* the measure of the physical stiffness of a material *) |
428 |
DIMENSION M/L/T^2 |
429 |
DEFAULT 200 {GPa}; |
430 |
lower_bound := 0 {Pa}; |
431 |
upper_bound := 1500 {GPa}; |
432 |
nominal := 40 {GPa}; |
433 |
END youngs_modulus; |
434 |
|
435 |
ATOM pressure_per_length REFINES solver_var |
436 |
DIMENSION M/L^2/T^2 |
437 |
DEFAULT 50 {Pa/m}; |
438 |
lower_bound := -10{bar/m}; |
439 |
upper_bound := +10{bar/m}; |
440 |
nominal := 50 {Pa/m}; |
441 |
END pressure_per_length; |
442 |
|
443 |
|
444 |
(* M A S S / M O L E Q U A N T I T I E S |
445 |
-------------------------------------- *) |
446 |
|
447 |
ATOM molar_mass REFINES solver_var |
448 |
DIMENSION M/Q |
449 |
DEFAULT 100.0{g/g_mole}; |
450 |
lower_bound := 0.0{g/g_mole}; |
451 |
upper_bound := 1e9{g/g_mole}; |
452 |
nominal := 100.0{g/g_mole}; |
453 |
END molar_mass; |
454 |
|
455 |
ATOM mass REFINES solver_var |
456 |
DIMENSION M |
457 |
DEFAULT 10.0{kg}; |
458 |
lower_bound := 0.0{kg}; |
459 |
upper_bound := 1e50{kg}; |
460 |
nominal := 10.0{kg}; |
461 |
END mass; |
462 |
|
463 |
ATOM mole_scale REFINES real DIMENSION Q DEFAULT 1 {mole}; |
464 |
END mole_scale; |
465 |
|
466 |
ATOM mole REFINES solver_var |
467 |
DIMENSION Q |
468 |
DEFAULT 10.0{lb_mole}; |
469 |
lower_bound := 0.0{lb_mole}; |
470 |
upper_bound := 1e50{lb_mole}; |
471 |
nominal := 10.0{lb_mole}; |
472 |
END mole; |
473 |
|
474 |
ATOM mass_rate REFINES solver_var |
475 |
DIMENSION M/T |
476 |
DEFAULT 50{g/s}; |
477 |
lower_bound := 0.0{g/s}; |
478 |
upper_bound := 1e50{g/s}; |
479 |
nominal := 100.0{g/s}; |
480 |
END mass_rate; |
481 |
|
482 |
ATOM mass_flux REFINES solver_var |
483 |
DIMENSION M/T/L^2 |
484 |
DEFAULT 10{kg/s/m^2}; |
485 |
lower_bound := -1e12{kg/s/m^2}; |
486 |
upper_bound := 1e12{kg/s/m^2}; |
487 |
nominal := 10.0{kg/s/m^2}; |
488 |
END mass_flux; |
489 |
|
490 |
|
491 |
ATOM mass_rate_rate REFINES solver_var |
492 |
DIMENSION M/T^2 |
493 |
DEFAULT 10{g/s/s}; |
494 |
lower_bound := -1e50{g/s/s}; |
495 |
upper_bound := 1e50{g/s/s}; |
496 |
nominal := 10.0{g/s/s}; |
497 |
END mass_rate_rate; |
498 |
|
499 |
ATOM mass_rate_per_length REFINES solver_var |
500 |
DIMENSION M/T/L |
501 |
DEFAULT 0.1 {kg/s/m}; |
502 |
lower_bound := -1e50 {kg/s/m}; |
503 |
upper_bound := 1e50 {kg/s/m}; |
504 |
nominal := 1.0 {kg/s/m}; |
505 |
END mass_rate_per_length; |
506 |
|
507 |
|
508 |
ATOM molar_rate_scale REFINES real DIMENSION Q/T DEFAULT 1 {mole/second}; |
509 |
END molar_rate_scale; |
510 |
|
511 |
ATOM molar_rate REFINES solver_var |
512 |
DIMENSION Q/T |
513 |
DEFAULT 100.0{lb_mole/hour}; |
514 |
lower_bound := 0.0{lb_mole/hour}; |
515 |
upper_bound := 1e50{lb_mole/hour}; |
516 |
nominal := 100.0{lb_mole/hour}; |
517 |
END molar_rate; |
518 |
|
519 |
ATOM conc_rate REFINES solver_var |
520 |
DIMENSION Q/L^3/T |
521 |
DEFAULT 100.0{lb_mole/ft^3/hour}; |
522 |
lower_bound := 0.0{lb_mole/ft^3/hour}; |
523 |
upper_bound := 1e50{lb_mole/ft^3/hour}; |
524 |
nominal := 100.0{lb_mole/ft^3/hour}; |
525 |
END conc_rate; |
526 |
|
527 |
|
528 |
ATOM mole_fraction REFINES fraction |
529 |
DIMENSIONLESS |
530 |
DEFAULT 0.5; |
531 |
lower_bound := 0.0; |
532 |
nominal := 0.3; |
533 |
upper_bound := 1.0; |
534 |
END mole_fraction; |
535 |
|
536 |
ATOM mass_fraction REFINES fraction |
537 |
DIMENSIONLESS |
538 |
DEFAULT 0.5; |
539 |
lower_bound := 0.0; |
540 |
nominal := 0.3; |
541 |
upper_bound := 1.0; |
542 |
END mass_fraction; |
543 |
|
544 |
|
545 |
(* V O L U M E Q U A N T I T I E S |
546 |
-------------------------------- *) |
547 |
|
548 |
ATOM molar_volume REFINES solver_var |
549 |
DIMENSION L^3/Q |
550 |
DEFAULT 1000.0{cm^3/g_mole}; |
551 |
lower_bound := 0.0{cm^3/g_mole}; |
552 |
upper_bound := 1e50{cm^3/g_mole}; |
553 |
nominal := 1000.0{cm^3/g_mole}; |
554 |
END molar_volume; |
555 |
|
556 |
ATOM volume_scale REFINES real DIMENSION L^3 DEFAULT 1.0 {m^3}; |
557 |
END volume_scale; |
558 |
|
559 |
ATOM volume REFINES solver_var |
560 |
DIMENSION L^3 |
561 |
DEFAULT 100.0{ft^3}; |
562 |
lower_bound := 0.0{ft^3}; |
563 |
upper_bound := 1e50{ft^3}; |
564 |
nominal := 100.0{ft^3}; |
565 |
END volume; |
566 |
|
567 |
ATOM volume_rate_scale REFINES real DIMENSION L^3/T DEFAULT 1{m^3/s}; |
568 |
END volume_rate_scale; |
569 |
|
570 |
ATOM volume_rate REFINES solver_var |
571 |
DIMENSION L^3/T |
572 |
DEFAULT 100.0{gpm}; |
573 |
lower_bound := 0.0{gpm}; |
574 |
upper_bound := 1e50{gpm}; |
575 |
nominal := 100.0{gpm}; |
576 |
END volume_rate; |
577 |
|
578 |
ATOM volume_rate_square REFINES solver_var |
579 |
DIMENSION L^6/T^2 |
580 |
DEFAULT 100.0{ft^6/s^2}; |
581 |
lower_bound := 0.0{ft^6/s^2}; |
582 |
upper_bound := 1e50{ft^6/s^2}; |
583 |
nominal := 100 {ft^6/s^2}; |
584 |
END volume_rate_square; |
585 |
|
586 |
ATOM volume_expansivity REFINES solver_var |
587 |
DIMENSION 1/TMP |
588 |
DEFAULT 0.001{1/K}; |
589 |
lower_bound := 0.0{1/K}; |
590 |
upper_bound := 1e50{1/K}; |
591 |
nominal := 0.001{1/K}; |
592 |
END volume_expansivity; |
593 |
|
594 |
|
595 |
(* D E N S I T Y Q U A N T I T I E S |
596 |
---------------------------------- *) |
597 |
|
598 |
ATOM molar_density REFINES solver_var |
599 |
DIMENSION Q/L^3 |
600 |
DEFAULT 0.1{mole/m^3}; |
601 |
lower_bound := 0.0{mole/m^3}; |
602 |
upper_bound := 1e50{mole/m^3}; |
603 |
nominal := 0.1{mole/m^3}; |
604 |
END molar_density; |
605 |
|
606 |
ATOM mass_density REFINES solver_var |
607 |
DIMENSION M/L^3 |
608 |
DEFAULT 1.0{g/cm^3}; |
609 |
lower_bound := 0.0{g/cm^3}; |
610 |
upper_bound := 1e50{g/cm^3}; |
611 |
nominal := 1.0{g/cm^3}; |
612 |
END mass_density; |
613 |
|
614 |
|
615 |
(* E N E R G Y Q U A N T I T I E S |
616 |
------------------------------------ *) |
617 |
|
618 |
ATOM molar_energy REFINES solver_var |
619 |
DIMENSION M*L^2/T^2/Q |
620 |
DEFAULT 10000.0{BTU/lb_mole}; |
621 |
lower_bound := -1e50{BTU/lb_mole}; |
622 |
upper_bound := 1e50{BTU/lb_mole}; |
623 |
nominal := 10000.0{BTU/lb_mole}; |
624 |
END molar_energy; |
625 |
|
626 |
ATOM energy_scale REFINES real DIMENSION M*L^2/T^2 DEFAULT 1{joule}; |
627 |
END energy_scale; |
628 |
|
629 |
ATOM energy REFINES solver_var |
630 |
DIMENSION M*L^2/T^2 |
631 |
DEFAULT 100000.0{BTU}; |
632 |
lower_bound := -1e50{BTU}; |
633 |
upper_bound := 1e50{BTU}; |
634 |
nominal := 100000.0{BTU}; |
635 |
END energy; |
636 |
|
637 |
ATOM energy_rate_scale REFINES real DIMENSION M*L^2/T^3 DEFAULT 1{watt}; |
638 |
END energy_rate_scale; |
639 |
|
640 |
ATOM energy_rate REFINES solver_var |
641 |
DIMENSION M*L^2/T^3 |
642 |
DEFAULT 100000.0{BTU/hour}; |
643 |
lower_bound := -1e50{BTU/hour}; |
644 |
upper_bound := 1e50{BTU/hour}; |
645 |
nominal := 100000.0{BTU/hour}; |
646 |
END energy_rate; |
647 |
|
648 |
ATOM power_per_length REFINES solver_var |
649 |
DIMENSION M*L/T^3 |
650 |
DEFAULT 1.0{kW/m}; |
651 |
lower_bound := -1e50{kW/m}; |
652 |
upper_bound := 1e50{kW/m}; |
653 |
nominal := 1.0{kW/m}; |
654 |
END power_per_length; |
655 |
|
656 |
ATOM irradiance REFINES solver_var |
657 |
DIMENSION M/T^3 |
658 |
DEFAULT 1000{W/m^2}; |
659 |
lower_bound := 0{W/m^2}; |
660 |
upper_bound := 1.5{MW/m^2}; (* a bit more that the max possible from sunlight *) |
661 |
nominal := 300{W/m^2}; |
662 |
END irradiance; |
663 |
|
664 |
ATOM irradiation REFINES solver_var |
665 |
DIMENSION M/T^2 |
666 |
DEFAULT 1000{J/m^2}; |
667 |
lower_bound := 0{J/m^2}; |
668 |
upper_bound := 1e50{J/m^2}; (* a bit more that the max possible from sunlight *) |
669 |
nominal := 300{J/m^2}; |
670 |
END irradiation; |
671 |
|
672 |
|
673 |
ATOM molar_heat_capacity REFINES solver_var |
674 |
DIMENSION M*L^2/T^2/Q/TMP |
675 |
DEFAULT 1.00e5{J/mole/K}; |
676 |
lower_bound := 0.0{J/mole/K}; |
677 |
upper_bound := 1e60{J/mole/K}; |
678 |
nominal := 1.00e5{J/mole/K}; |
679 |
END molar_heat_capacity; |
680 |
|
681 |
ATOM molar_energy_rate REFINES solver_var |
682 |
DIMENSION M*L^2/T^3/Q |
683 |
DEFAULT 0 {BTU/lb_mole/h}; |
684 |
lower_bound := -1e50 {BTU/lb_mole/h}; |
685 |
upper_bound := 1e50 {BTU/lb_mole/h}; |
686 |
nominal := 10000.0 {BTU/lb_mole/h}; |
687 |
END molar_energy_rate; |
688 |
|
689 |
(* E N T R O P Y Q U A N T I T I E S |
690 |
---------------------------------- *) |
691 |
|
692 |
ATOM molar_entropy REFINES solver_var |
693 |
DIMENSION M*L^2/T^2/Q/TMP |
694 |
DEFAULT 100.0{BTU/lb_mole/R}; |
695 |
lower_bound := -1e50{BTU/lb_mole/R}; |
696 |
upper_bound := 1e50{BTU/lb_mole/R}; |
697 |
nominal := 100.0{BTU/lb_mole/R}; |
698 |
END molar_entropy; |
699 |
|
700 |
ATOM entropy REFINES solver_var |
701 |
DIMENSION M*L^2/T^2/TMP |
702 |
DEFAULT 1000.0{BTU/R}; |
703 |
lower_bound := -1e50{BTU/R}; |
704 |
upper_bound := 1e50{BTU/R}; |
705 |
nominal := 1000.0{BTU/R}; |
706 |
END entropy; |
707 |
|
708 |
ATOM entropy_rate REFINES solver_var |
709 |
DIMENSION M*L^2/T^3/TMP |
710 |
DEFAULT 1000.0{BTU/hour/R}; |
711 |
lower_bound := -1e50{BTU/hour/R}; |
712 |
upper_bound := 1e50{BTU/hour/R}; |
713 |
nominal := 1000.0{BTU/hour/R}; |
714 |
END entropy_rate; |
715 |
|
716 |
|
717 |
|
718 |
(* E Q U I L I B R I U M Q U A N T I T I E S |
719 |
------------------------------------------ *) |
720 |
|
721 |
ATOM partition_coefficient REFINES factor (* new *) |
722 |
DEFAULT 1.0; |
723 |
lower_bound := 1.0e-10; |
724 |
upper_bound := 30.0; |
725 |
nominal := 1.0; |
726 |
END partition_coefficient; |
727 |
|
728 |
ATOM relative_volatility REFINES partition_coefficient; (* new *) |
729 |
END relative_volatility; |
730 |
|
731 |
|
732 |
(* M O N E T A R Y Q U A N T I T I E S |
733 |
------------------------------------ *) |
734 |
|
735 |
ATOM monetary_unit REFINES solver_var |
736 |
DIMENSION C |
737 |
DEFAULT 100.0{USD}; |
738 |
lower_bound := -1e50{USD}; |
739 |
upper_bound := 1e50{USD}; |
740 |
nominal := 100.0{USD}; |
741 |
END monetary_unit; |
742 |
|
743 |
ATOM cost_per_volume REFINES solver_var |
744 |
DIMENSION C/L^3 |
745 |
DEFAULT 1.0{USD/gallon}; |
746 |
lower_bound := 0.0{USD/gallon}; |
747 |
upper_bound := 1e50{USD/gallon}; |
748 |
nominal := 1.0{USD/gallon}; |
749 |
END cost_per_volume; |
750 |
|
751 |
ATOM cost_per_mass REFINES solver_var |
752 |
DIMENSION C/M |
753 |
DEFAULT 1.0{USD/lbm}; |
754 |
lower_bound := 0.0{USD/lbm}; |
755 |
upper_bound := 1e50{USD/lbm}; |
756 |
nominal := 1.0{USD/lbm}; |
757 |
END cost_per_mass; |
758 |
|
759 |
ATOM cost_per_mole REFINES solver_var |
760 |
DIMENSION C/Q |
761 |
DEFAULT 1.0{USD/lb_mole}; |
762 |
lower_bound := 0.0{USD/lb_mole}; |
763 |
upper_bound := 1e50{USD/lb_mole}; |
764 |
nominal := 1.0{USD/lb_mole}; |
765 |
END cost_per_mole; |
766 |
|
767 |
ATOM cost_per_time REFINES solver_var |
768 |
DIMENSION C/T |
769 |
DEFAULT 1.0{USD/min}; |
770 |
lower_bound := 0.0{USD/min}; |
771 |
upper_bound := 1e50{USD/min}; |
772 |
nominal := 1.0{USD/min}; |
773 |
END cost_per_time; |
774 |
|
775 |
ATOM cost_per_energy REFINES solver_var |
776 |
DIMENSION C*T^2/M/L^2 |
777 |
DEFAULT 1.0{USD/BTU}; |
778 |
lower_bound := 0.0{USD/BTU}; |
779 |
upper_bound := 1e50{USD/BTU}; |
780 |
nominal := 1.0{USD/BTU}; |
781 |
END cost_per_energy; |
782 |
|
783 |
|
784 |
(* S U R V E Y I N G Q U A N T I T I E S |
785 |
--------------------------------------- *) |
786 |
|
787 |
ATOM distance REFINES solver_var |
788 |
DIMENSION L |
789 |
DEFAULT 10.0{ft}; |
790 |
lower_bound := 0.0{ft}; |
791 |
upper_bound := 1e50{ft}; |
792 |
nominal := 10.0{ft}; |
793 |
END distance; |
794 |
|
795 |
ATOM area REFINES solver_var |
796 |
DIMENSION L^2 |
797 |
DEFAULT 10.0{ft^2}; |
798 |
lower_bound := 0.0{ft^2}; |
799 |
upper_bound := 1e50{ft^2}; |
800 |
nominal := 10.0{ft^2}; |
801 |
END area; |
802 |
|
803 |
ATOM inverse_area REFINES solver_var |
804 |
DIMENSION L^-2 |
805 |
DEFAULT 1{1/ft^2}; |
806 |
lower_bound := 0.0{1/ft^2}; |
807 |
upper_bound := 1e50{1/ft^2}; |
808 |
nominal := 1.0{1/ft^2}; |
809 |
END inverse_area; |
810 |
|
811 |
ATOM angle REFINES solver_var |
812 |
DIMENSION P |
813 |
DEFAULT 1 {rad}; |
814 |
lower_bound := -1e50 {rad}; |
815 |
upper_bound := 1e50 {rad}; |
816 |
nominal := 1 {rad}; |
817 |
END angle; |
818 |
|
819 |
ATOM solid_angle REFINES solver_var |
820 |
DIMENSION S |
821 |
DEFAULT 1 {srad}; |
822 |
lower_bound := -1e50 {srad}; |
823 |
upper_bound := 1e50 {srad}; |
824 |
nominal := 1 {srad}; |
825 |
END solid_angle; |
826 |
|
827 |
(* M O T I O N Q U A N T I T I E S |
828 |
--------------------------------- *) |
829 |
|
830 |
ATOM time REFINES solver_var |
831 |
DIMENSION T |
832 |
DEFAULT 60.0{s}; |
833 |
lower_bound := -1e50{s}; |
834 |
upper_bound := 1e50{s}; |
835 |
nominal := 60.0{s}; |
836 |
END time; |
837 |
|
838 |
ATOM speed REFINES solver_var |
839 |
DIMENSION L/T |
840 |
DEFAULT 3.0{ft/s}; |
841 |
lower_bound := -1e50{m/s}; |
842 |
upper_bound := 1e50{m/s}; |
843 |
nominal := 1.0{m/s}; |
844 |
END speed; |
845 |
|
846 |
ATOM acceleration REFINES solver_var |
847 |
DIMENSION L/T^2 |
848 |
DEFAULT 9.8{m/s^2}; |
849 |
lower_bound := -1e50{m/s^2}; |
850 |
upper_bound := 1e50{m/s^2}; |
851 |
nominal := 9.8{m/s^2}; |
852 |
END acceleration; |
853 |
|
854 |
ATOM frequency REFINES solver_var |
855 |
DIMENSION 1/T |
856 |
DEFAULT 60.0{1/s}; |
857 |
lower_bound := 0.0{1/s}; |
858 |
upper_bound := 1e50{1/s}; |
859 |
nominal := 60.0{1/s}; |
860 |
END frequency; |
861 |
|
862 |
ATOM stiffness REFINES solver_var |
863 |
DIMENSION M/T^2 |
864 |
DEFAULT 1 {N/m}; |
865 |
lower_bound := 0 {N/m}; |
866 |
upper_bound := 1e12 {N/m}; |
867 |
nominal := 1 {N/m}; |
868 |
END stiffness; |
869 |
|
870 |
|
871 |
|
872 |
(* T R A N S P O R T Q U A N T I T I E S |
873 |
--------------------------------------- *) |
874 |
|
875 |
ATOM viscosity REFINES solver_var |
876 |
DIMENSION M/L/T |
877 |
DEFAULT 1.0{cP}; |
878 |
lower_bound := 0.0{cP}; |
879 |
upper_bound := 1e50{cP}; |
880 |
nominal := 1.0{cP}; |
881 |
END viscosity; |
882 |
|
883 |
ATOM thermal_conductivity REFINES solver_var |
884 |
DIMENSION M*L/T^3/TMP |
885 |
DEFAULT 0.1{BTU/hour/ft/R}; |
886 |
lower_bound := 0.0{BTU/hour/ft/R}; |
887 |
upper_bound := 1e50{BTU/hour/ft/R}; |
888 |
nominal := 0.1{BTU/hour/ft/R}; |
889 |
END thermal_conductivity; |
890 |
|
891 |
ATOM diffusivity REFINES solver_var |
892 |
DIMENSION L^2/T |
893 |
DEFAULT 1.0{cm^2/s}; |
894 |
lower_bound := 0.0{cm^2/s}; |
895 |
upper_bound := 1e50{cm^2/s}; |
896 |
nominal := 1.0{cm^2/s}; |
897 |
END diffusivity; |
898 |
|
899 |
|
900 |
(* E L E C T R O - M A G N E T I C Q U A N T I T I E S |
901 |
---------------------------------------------------- *) |
902 |
|
903 |
ATOM voltage REFINES solver_var |
904 |
DIMENSION M*L^2/(T^3*E) |
905 |
DEFAULT 10.0{volt}; |
906 |
lower_bound := -1e50{volt}; |
907 |
upper_bound := 1e50{volt}; |
908 |
nominal := 10.0{volt}; |
909 |
END voltage; |
910 |
|
911 |
ATOM resistance REFINES solver_var |
912 |
DIMENSION M*L^2/(E^2*T^3) |
913 |
DEFAULT 10.0{ohm}; |
914 |
lower_bound := -1e50{ohm}; |
915 |
upper_bound := 1e50{ohm}; |
916 |
nominal := 10.0{ohm}; |
917 |
END resistance; |
918 |
|
919 |
ATOM current REFINES solver_var |
920 |
DIMENSION E |
921 |
DEFAULT 1.0{amp}; |
922 |
lower_bound := -1e50{amp}; |
923 |
upper_bound := 1e50{amp}; |
924 |
nominal := 1.0{amp}; |
925 |
END current; |
926 |
|
927 |
ATOM capacitance REFINES solver_var |
928 |
DIMENSION E^2*T^4/M/L^2 |
929 |
DEFAULT 1.0{coulomb/volt}; |
930 |
lower_bound := -1e50{coulomb/volt}; |
931 |
upper_bound := 1e50{coulomb/volt}; |
932 |
nominal := 1.0{coulomb/volt}; |
933 |
END capacitance; |
934 |
|
935 |
ATOM inductance REFINES solver_var |
936 |
DIMENSION M*L^2/E^2/T^2 |
937 |
DEFAULT 1.0{volt*s/amp}; |
938 |
lower_bound := -1e50{volt*s/amp}; |
939 |
upper_bound := 1e50{volt*s/amp}; |
940 |
nominal := 1.0{volt*s/amp}; |
941 |
END inductance; |
942 |
|
943 |
ATOM magnetic_field REFINES solver_var |
944 |
DIMENSION E/L |
945 |
DEFAULT 1.0{amp/m}; |
946 |
lower_bound := -1e50{amp/m}; |
947 |
upper_bound := 1e50{amp/m}; |
948 |
nominal := 1.0{amp/m}; |
949 |
END magnetic_field; |
950 |
|
951 |
ATOM electric_field REFINES solver_var |
952 |
DIMENSION M*L/E/T^3 |
953 |
DEFAULT 1.0{volt/m}; |
954 |
lower_bound := -1e50{volt/m}; |
955 |
upper_bound := 1e50{volt/m}; |
956 |
nominal := 1.0{volt/m}; |
957 |
END electric_field; |
958 |
|
959 |
(* D I F F E R E N T I A L Q U A N T I T I E S |
960 |
------------------------------------------- *) |
961 |
|
962 |
ATOM delta_distance REFINES solver_var |
963 |
DIMENSION L |
964 |
DEFAULT 10.0{ft}; |
965 |
lower_bound := -1e50{ft}; |
966 |
upper_bound := 1e50{ft}; |
967 |
nominal := 10.0{ft}; |
968 |
END delta_distance; |
969 |
|
970 |
ATOM temperature_rate REFINES solver_var |
971 |
DIMENSION TMP/T |
972 |
DEFAULT 0{K/s}; |
973 |
lower_bound := -100{K/s}; |
974 |
upper_bound := 100{K/s}; |
975 |
nominal := 298.0{K/s}; |
976 |
END temperature_rate; |
977 |
|
978 |
ATOM delta_mass REFINES solver_var |
979 |
DIMENSION M |
980 |
DEFAULT 0.0{kg}; |
981 |
lower_bound := -1e50{kg}; |
982 |
upper_bound := 1e50{kg}; |
983 |
nominal := 10.0{kg}; |
984 |
END delta_mass; |
985 |
|
986 |
ATOM delta_mole REFINES solver_var |
987 |
DIMENSION Q |
988 |
DEFAULT 0{lb_mole}; |
989 |
lower_bound := -1e50{lb_mole}; |
990 |
upper_bound := 1e50{lb_mole}; |
991 |
nominal := 10.0{lb_mole}; |
992 |
END delta_mole; |
993 |
|
994 |
ATOM delta_mass_rate REFINES solver_var |
995 |
DIMENSION M/T |
996 |
DEFAULT 0{g/s}; |
997 |
lower_bound := -1e50{g/s}; |
998 |
upper_bound := 1e50{g/s}; |
999 |
nominal := 100.0{g/s}; |
1000 |
END delta_mass_rate; |
1001 |
|
1002 |
ATOM delta_molar_rate REFINES solver_var |
1003 |
DIMENSION Q/T |
1004 |
DEFAULT 0.0{lb_mole/hour}; |
1005 |
lower_bound := -1e50{lb_mole/hour}; |
1006 |
upper_bound := 1e50{lb_mole/hour}; |
1007 |
nominal := 100.0{lb_mole/hour}; |
1008 |
END delta_molar_rate; |
1009 |
|
1010 |
ATOM delta_volume_rate REFINES solver_var |
1011 |
DIMENSION L^3/T |
1012 |
DEFAULT 0.0{gpm}; |
1013 |
lower_bound := -1e50{gpm}; |
1014 |
upper_bound := 1e50{gpm}; |
1015 |
nominal := 100.0{gpm}; |
1016 |
END delta_volume_rate; |
1017 |
|
1018 |
ATOM density_rate REFINES solver_var |
1019 |
DIMENSION M/L^3/T |
1020 |
DEFAULT 0.0 {kg/m^3/s}; |
1021 |
lower_bound := -1e50 {kg/m^3/s}; |
1022 |
upper_bound := 1e50 {kg/m^3/s}; |
1023 |
nominal := 0.1 {kg/m^3/s}; |
1024 |
END density_rate; |
1025 |
|
1026 |
ATOM delta_energy_rate REFINES solver_var |
1027 |
DIMENSION M*L^2/T^3 |
1028 |
DEFAULT 0.0{BTU/hour}; |
1029 |
lower_bound := -1e50{BTU/hour}; |
1030 |
upper_bound := 1e50{BTU/hour}; |
1031 |
nominal := 100000.0{BTU/hour}; |
1032 |
END delta_energy_rate; |
1033 |
|
1034 |
ATOM delta_molar_energy_rate REFINES solver_var |
1035 |
DIMENSION M*L^2/T^3/Q |
1036 |
DEFAULT 0 {BTU/lb_mole/h}; |
1037 |
lower_bound := -1e50 {BTU/lb_mole/h}; |
1038 |
upper_bound := 1e50 {BTU/lb_mole/h}; |
1039 |
nominal := 10000.0 {BTU/lb_mole/h}; |
1040 |
END delta_molar_energy_rate; |
1041 |
|
1042 |
ATOM delta_entropy_rate REFINES solver_var |
1043 |
DIMENSION M*L^2/T^3/TMP |
1044 |
DEFAULT 0.0{BTU/hour/R}; |
1045 |
lower_bound := -1e50{BTU/hour/R}; |
1046 |
upper_bound := 1e50{BTU/hour/R}; |
1047 |
nominal := 1000.0{BTU/hour/R}; |
1048 |
END delta_entropy_rate; |
1049 |
|
1050 |
|
1051 |
(* C O N T R O L L E R Q U A N T I T I E S |
1052 |
---------------------------------------- *) |
1053 |
|
1054 |
ATOM mass_sec REFINES solver_var |
1055 |
DIMENSION M*T |
1056 |
DEFAULT 0.0{kg*s}; |
1057 |
lower_bound := -1e50{kg*s}; |
1058 |
upper_bound := 1e50{kg*s}; |
1059 |
nominal := 10.0{kg*s}; |
1060 |
END mass_sec; |
1061 |
|
1062 |
ATOM mole_sec REFINES solver_var |
1063 |
DIMENSION Q*T |
1064 |
DEFAULT 0.0{lb_mole*s}; |
1065 |
lower_bound := -1e50{lb_mole*s}; |
1066 |
upper_bound := 1e50{lb_mole*s}; |
1067 |
nominal := 10.0{lb_mole*s}; |
1068 |
END mole_sec; |
1069 |
|
1070 |
(* M E C H A N I C AL P R O P E R T I E S |
1071 |
---------------------------------------- *) |
1072 |
|
1073 |
ATOM deflection REFINES solver_var |
1074 |
DIMENSION L |
1075 |
DEFAULT 1 {mm}; |
1076 |
lower_bound := -10{m}; |
1077 |
upper_bound := 10{m}; |
1078 |
nominal := 5{mm}; |
1079 |
END deflection; |
1080 |
|
1081 |
ATOM second_moment_of_area REFINES solver_var |
1082 |
DIMENSION L^4 |
1083 |
DEFAULT 6.67e5 {mm^4}; (* for 150UB14 Universal Beam, AISC (Australia) *) |
1084 |
lower_bound := 0 {mm^4}; |
1085 |
upper_bound := 10000e6 {mm^4}; |
1086 |
nominal := 1e6 {mm^4}; (* this may be too high still *) |
1087 |
END second_moment_of_area; |