/[ascend]/trunk/models/atoms.a4l
ViewVC logotype

Contents of /trunk/models/atoms.a4l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 863 - (show annotations) (download) (as text)
Thu Sep 28 08:17:18 2006 UTC (16 years, 8 months ago) by johnpye
File MIME type: text/x-ascend
File size: 31407 byte(s)


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 force_per_volume REFINES solver_var
383 DIMENSION M/T^2/L^2
384 DEFAULT 1.0{N/m^3};
385 lower_bound := -1e20{N/m^3};
386 upper_bound := 1e20{N/m^3};
387 nominal := 1.0{N/m^3};
388 END force_per_volume;
389
390 ATOM surface_tension REFINES solver_var
391 DIMENSION M/T^2
392 DEFAULT 1.0{N/m};
393 lower_bound := 0{N/m};
394 upper_bound := 1e20{N/m};
395 nominal := 1.0{N/m};
396 END surface_tension;
397
398 (* P R E S S U R E
399 --------------- *)
400
401 ATOM pressure REFINES solver_var
402 DIMENSION M/L/T^2
403 DEFAULT 1.0{atm};
404 lower_bound := 0.001{Pa};
405 upper_bound := 5000{atm};
406 nominal := 1.0{atm};
407 END pressure;
408
409 ATOM delta_pressure REFINES solver_var
410 DIMENSION M/L/T^2
411 DEFAULT 1.0{atm};
412 lower_bound := -1000{atm};
413 upper_bound := 1000{atm};
414 nominal := 1.0{atm};
415 END delta_pressure;
416
417 ATOM vapor_pressure REFINES pressure
418 DIMENSION M/L/T^2
419 DEFAULT 1.0{atm};
420 lower_bound := 0.001{Pa};
421 upper_bound := 5000{atm};
422 nominal := 0.5{atm};
423 END vapor_pressure;
424
425 ATOM k_constant REFINES solver_var
426 (* what IS this ? ? ? (it rings a bell...) *)
427 DIMENSION T^2/L^5
428 DEFAULT 1.0 {s^2/ft^5};
429 lower_bound := 0.001 {s^2/ft^5};
430 upper_bound := 5000 {s^2/ft^5};
431 nominal := 1.0 {s^2/ft^5};
432 END k_constant;
433
434 ATOM youngs_modulus REFINES solver_var
435 (* the measure of the physical stiffness of a material *)
436 DIMENSION M/L/T^2
437 DEFAULT 200 {GPa};
438 lower_bound := 0 {Pa};
439 upper_bound := 1500 {GPa};
440 nominal := 40 {GPa};
441 END youngs_modulus;
442
443 ATOM pressure_per_length REFINES solver_var
444 DIMENSION M/L^2/T^2
445 DEFAULT 50 {Pa/m};
446 lower_bound := -1e20{bar/m};
447 upper_bound := +1e20{bar/m};
448 nominal := 50 {Pa/m};
449 END pressure_per_length;
450
451
452 (* M A S S / M O L E Q U A N T I T I E S
453 -------------------------------------- *)
454
455 ATOM molar_mass REFINES solver_var
456 DIMENSION M/Q
457 DEFAULT 100.0{g/g_mole};
458 lower_bound := 0.0{g/g_mole};
459 upper_bound := 1e9{g/g_mole};
460 nominal := 100.0{g/g_mole};
461 END molar_mass;
462
463 ATOM mass REFINES solver_var
464 DIMENSION M
465 DEFAULT 10.0{kg};
466 lower_bound := 0.0{kg};
467 upper_bound := 1e50{kg};
468 nominal := 10.0{kg};
469 END mass;
470
471 ATOM mole_scale REFINES real DIMENSION Q DEFAULT 1 {mole};
472 END mole_scale;
473
474 ATOM mole REFINES solver_var
475 DIMENSION Q
476 DEFAULT 10.0{lb_mole};
477 lower_bound := 0.0{lb_mole};
478 upper_bound := 1e50{lb_mole};
479 nominal := 10.0{lb_mole};
480 END mole;
481
482 ATOM mass_rate REFINES solver_var
483 DIMENSION M/T
484 DEFAULT 50{g/s};
485 lower_bound := 0.0{g/s};
486 upper_bound := 1e50{g/s};
487 nominal := 100.0{g/s};
488 END mass_rate;
489
490 ATOM mass_flux REFINES solver_var
491 DIMENSION M/T/L^2
492 DEFAULT 10{kg/s/m^2};
493 lower_bound := -1e12{kg/s/m^2};
494 upper_bound := 1e12{kg/s/m^2};
495 nominal := 10.0{kg/s/m^2};
496 END mass_flux;
497
498
499 ATOM mass_rate_rate REFINES solver_var
500 DIMENSION M/T^2
501 DEFAULT 10{g/s/s};
502 lower_bound := -1e50{g/s/s};
503 upper_bound := 1e50{g/s/s};
504 nominal := 10.0{g/s/s};
505 END mass_rate_rate;
506
507 ATOM mass_rate_per_length REFINES solver_var
508 DIMENSION M/T/L
509 DEFAULT 0.1 {kg/s/m};
510 lower_bound := -1e50 {kg/s/m};
511 upper_bound := 1e50 {kg/s/m};
512 nominal := 1.0 {kg/s/m};
513 END mass_rate_per_length;
514
515
516 ATOM molar_rate_scale REFINES real DIMENSION Q/T DEFAULT 1 {mole/second};
517 END molar_rate_scale;
518
519 ATOM molar_rate REFINES solver_var
520 DIMENSION Q/T
521 DEFAULT 100.0{lb_mole/hour};
522 lower_bound := 0.0{lb_mole/hour};
523 upper_bound := 1e50{lb_mole/hour};
524 nominal := 100.0{lb_mole/hour};
525 END molar_rate;
526
527 ATOM conc_rate REFINES solver_var
528 DIMENSION Q/L^3/T
529 DEFAULT 100.0{lb_mole/ft^3/hour};
530 lower_bound := 0.0{lb_mole/ft^3/hour};
531 upper_bound := 1e50{lb_mole/ft^3/hour};
532 nominal := 100.0{lb_mole/ft^3/hour};
533 END conc_rate;
534
535
536 ATOM mole_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 mole_fraction;
543
544 ATOM mass_fraction REFINES fraction
545 DIMENSIONLESS
546 DEFAULT 0.5;
547 lower_bound := 0.0;
548 nominal := 0.3;
549 upper_bound := 1.0;
550 END mass_fraction;
551
552
553 (* V O L U M E Q U A N T I T I E S
554 -------------------------------- *)
555
556 ATOM molar_volume REFINES solver_var
557 DIMENSION L^3/Q
558 DEFAULT 1000.0{cm^3/g_mole};
559 lower_bound := 0.0{cm^3/g_mole};
560 upper_bound := 1e50{cm^3/g_mole};
561 nominal := 1000.0{cm^3/g_mole};
562 END molar_volume;
563
564 ATOM volume_scale REFINES real DIMENSION L^3 DEFAULT 1.0 {m^3};
565 END volume_scale;
566
567 ATOM volume REFINES solver_var
568 DIMENSION L^3
569 DEFAULT 100.0{ft^3};
570 lower_bound := 0.0{ft^3};
571 upper_bound := 1e50{ft^3};
572 nominal := 100.0{ft^3};
573 END volume;
574
575 ATOM volume_rate_scale REFINES real DIMENSION L^3/T DEFAULT 1{m^3/s};
576 END volume_rate_scale;
577
578 ATOM volume_rate REFINES solver_var
579 DIMENSION L^3/T
580 DEFAULT 100.0{gpm};
581 lower_bound := 0.0{gpm};
582 upper_bound := 1e50{gpm};
583 nominal := 100.0{gpm};
584 END volume_rate;
585
586 ATOM volume_rate_square REFINES solver_var
587 DIMENSION L^6/T^2
588 DEFAULT 100.0{ft^6/s^2};
589 lower_bound := 0.0{ft^6/s^2};
590 upper_bound := 1e50{ft^6/s^2};
591 nominal := 100 {ft^6/s^2};
592 END volume_rate_square;
593
594 ATOM volume_expansivity REFINES solver_var
595 DIMENSION 1/TMP
596 DEFAULT 0.001{1/K};
597 lower_bound := 0.0{1/K};
598 upper_bound := 1e50{1/K};
599 nominal := 0.001{1/K};
600 END volume_expansivity;
601
602
603 (* D E N S I T Y Q U A N T I T I E S
604 ---------------------------------- *)
605
606 ATOM molar_density REFINES solver_var
607 DIMENSION Q/L^3
608 DEFAULT 0.1{mole/m^3};
609 lower_bound := 0.0{mole/m^3};
610 upper_bound := 1e50{mole/m^3};
611 nominal := 0.1{mole/m^3};
612 END molar_density;
613
614 ATOM mass_density REFINES solver_var
615 DIMENSION M/L^3
616 DEFAULT 1.0{g/cm^3};
617 lower_bound := 0.0{g/cm^3};
618 upper_bound := 1e50{g/cm^3};
619 nominal := 1.0{g/cm^3};
620 END mass_density;
621
622
623 (* E N E R G Y Q U A N T I T I E S
624 ------------------------------------ *)
625
626 ATOM molar_energy REFINES solver_var
627 DIMENSION M*L^2/T^2/Q
628 DEFAULT 10000.0{BTU/lb_mole};
629 lower_bound := -1e50{BTU/lb_mole};
630 upper_bound := 1e50{BTU/lb_mole};
631 nominal := 10000.0{BTU/lb_mole};
632 END molar_energy;
633
634 ATOM energy_scale REFINES real DIMENSION M*L^2/T^2 DEFAULT 1{joule};
635 END energy_scale;
636
637 ATOM energy REFINES solver_var
638 DIMENSION M*L^2/T^2
639 DEFAULT 100000.0{BTU};
640 lower_bound := -1e50{BTU};
641 upper_bound := 1e50{BTU};
642 nominal := 100000.0{BTU};
643 END energy;
644
645 ATOM energy_rate_scale REFINES real DIMENSION M*L^2/T^3 DEFAULT 1{watt};
646 END energy_rate_scale;
647
648 ATOM energy_rate REFINES solver_var
649 DIMENSION M*L^2/T^3
650 DEFAULT 100000.0{BTU/hour};
651 lower_bound := -1e50{BTU/hour};
652 upper_bound := 1e50{BTU/hour};
653 nominal := 100000.0{BTU/hour};
654 END energy_rate;
655
656 ATOM power_per_length REFINES solver_var
657 DIMENSION M*L/T^3
658 DEFAULT 1.0{kW/m};
659 lower_bound := -1e50{kW/m};
660 upper_bound := 1e50{kW/m};
661 nominal := 1.0{kW/m};
662 END power_per_length;
663
664 ATOM irradiance REFINES solver_var
665 DIMENSION M/T^3
666 DEFAULT 1000{W/m^2};
667 lower_bound := 0{W/m^2};
668 upper_bound := 1.5{MW/m^2}; (* a bit more that the max possible from sunlight *)
669 nominal := 300{W/m^2};
670 END irradiance;
671
672 ATOM irradiation REFINES solver_var
673 DIMENSION M/T^2
674 DEFAULT 1000{J/m^2};
675 lower_bound := 0{J/m^2};
676 upper_bound := 1e50{J/m^2}; (* a bit more that the max possible from sunlight *)
677 nominal := 300{J/m^2};
678 END irradiation;
679
680
681 ATOM molar_heat_capacity REFINES solver_var
682 DIMENSION M*L^2/T^2/Q/TMP
683 DEFAULT 1.00e5{J/mole/K};
684 lower_bound := 0.0{J/mole/K};
685 upper_bound := 1e60{J/mole/K};
686 nominal := 1.00e5{J/mole/K};
687 END molar_heat_capacity;
688
689 ATOM molar_energy_rate REFINES solver_var
690 DIMENSION M*L^2/T^3/Q
691 DEFAULT 0 {BTU/lb_mole/h};
692 lower_bound := -1e50 {BTU/lb_mole/h};
693 upper_bound := 1e50 {BTU/lb_mole/h};
694 nominal := 10000.0 {BTU/lb_mole/h};
695 END molar_energy_rate;
696
697 (* E N T R O P Y Q U A N T I T I E S
698 ---------------------------------- *)
699
700 ATOM molar_entropy REFINES solver_var
701 DIMENSION M*L^2/T^2/Q/TMP
702 DEFAULT 100.0{BTU/lb_mole/R};
703 lower_bound := -1e50{BTU/lb_mole/R};
704 upper_bound := 1e50{BTU/lb_mole/R};
705 nominal := 100.0{BTU/lb_mole/R};
706 END molar_entropy;
707
708 ATOM entropy REFINES solver_var
709 DIMENSION M*L^2/T^2/TMP
710 DEFAULT 1000.0{BTU/R};
711 lower_bound := -1e50{BTU/R};
712 upper_bound := 1e50{BTU/R};
713 nominal := 1000.0{BTU/R};
714 END entropy;
715
716 ATOM entropy_rate REFINES solver_var
717 DIMENSION M*L^2/T^3/TMP
718 DEFAULT 1000.0{BTU/hour/R};
719 lower_bound := -1e50{BTU/hour/R};
720 upper_bound := 1e50{BTU/hour/R};
721 nominal := 1000.0{BTU/hour/R};
722 END entropy_rate;
723
724
725
726 (* E Q U I L I B R I U M Q U A N T I T I E S
727 ------------------------------------------ *)
728
729 ATOM partition_coefficient REFINES factor (* new *)
730 DEFAULT 1.0;
731 lower_bound := 1.0e-10;
732 upper_bound := 30.0;
733 nominal := 1.0;
734 END partition_coefficient;
735
736 ATOM relative_volatility REFINES partition_coefficient; (* new *)
737 END relative_volatility;
738
739
740 (* M O N E T A R Y Q U A N T I T I E S
741 ------------------------------------ *)
742
743 ATOM monetary_unit REFINES solver_var
744 DIMENSION C
745 DEFAULT 100.0{USD};
746 lower_bound := -1e50{USD};
747 upper_bound := 1e50{USD};
748 nominal := 100.0{USD};
749 END monetary_unit;
750
751 ATOM cost_per_volume REFINES solver_var
752 DIMENSION C/L^3
753 DEFAULT 1.0{USD/gallon};
754 lower_bound := 0.0{USD/gallon};
755 upper_bound := 1e50{USD/gallon};
756 nominal := 1.0{USD/gallon};
757 END cost_per_volume;
758
759 ATOM cost_per_mass REFINES solver_var
760 DIMENSION C/M
761 DEFAULT 1.0{USD/lbm};
762 lower_bound := 0.0{USD/lbm};
763 upper_bound := 1e50{USD/lbm};
764 nominal := 1.0{USD/lbm};
765 END cost_per_mass;
766
767 ATOM cost_per_mole REFINES solver_var
768 DIMENSION C/Q
769 DEFAULT 1.0{USD/lb_mole};
770 lower_bound := 0.0{USD/lb_mole};
771 upper_bound := 1e50{USD/lb_mole};
772 nominal := 1.0{USD/lb_mole};
773 END cost_per_mole;
774
775 ATOM cost_per_time REFINES solver_var
776 DIMENSION C/T
777 DEFAULT 1.0{USD/min};
778 lower_bound := 0.0{USD/min};
779 upper_bound := 1e50{USD/min};
780 nominal := 1.0{USD/min};
781 END cost_per_time;
782
783 ATOM cost_per_energy REFINES solver_var
784 DIMENSION C*T^2/M/L^2
785 DEFAULT 1.0{USD/BTU};
786 lower_bound := 0.0{USD/BTU};
787 upper_bound := 1e50{USD/BTU};
788 nominal := 1.0{USD/BTU};
789 END cost_per_energy;
790
791
792 (* S U R V E Y I N G Q U A N T I T I E S
793 --------------------------------------- *)
794
795 ATOM distance REFINES solver_var
796 DIMENSION L
797 DEFAULT 10.0{ft};
798 lower_bound := 0.0{ft};
799 upper_bound := 1e50{ft};
800 nominal := 10.0{ft};
801 END distance;
802
803 ATOM area REFINES solver_var
804 DIMENSION L^2
805 DEFAULT 10.0{ft^2};
806 lower_bound := 0.0{ft^2};
807 upper_bound := 1e50{ft^2};
808 nominal := 10.0{ft^2};
809 END area;
810
811 ATOM inverse_area REFINES solver_var
812 DIMENSION L^-2
813 DEFAULT 1{1/ft^2};
814 lower_bound := 0.0{1/ft^2};
815 upper_bound := 1e50{1/ft^2};
816 nominal := 1.0{1/ft^2};
817 END inverse_area;
818
819 ATOM angle REFINES solver_var
820 DIMENSION P
821 DEFAULT 1 {rad};
822 lower_bound := -1e50 {rad};
823 upper_bound := 1e50 {rad};
824 nominal := 1 {rad};
825 END angle;
826
827 ATOM solid_angle REFINES solver_var
828 DIMENSION S
829 DEFAULT 1 {srad};
830 lower_bound := -1e50 {srad};
831 upper_bound := 1e50 {srad};
832 nominal := 1 {srad};
833 END solid_angle;
834
835 (* M O T I O N Q U A N T I T I E S
836 --------------------------------- *)
837
838 ATOM time REFINES solver_var
839 DIMENSION T
840 DEFAULT 60.0{s};
841 lower_bound := -1e50{s};
842 upper_bound := 1e50{s};
843 nominal := 60.0{s};
844 END time;
845
846 ATOM speed REFINES solver_var
847 DIMENSION L/T
848 DEFAULT 3.0{ft/s};
849 lower_bound := -1e50{m/s};
850 upper_bound := 1e50{m/s};
851 nominal := 1.0{m/s};
852 END speed;
853
854 ATOM acceleration REFINES solver_var
855 DIMENSION L/T^2
856 DEFAULT 9.8{m/s^2};
857 lower_bound := -1e50{m/s^2};
858 upper_bound := 1e50{m/s^2};
859 nominal := 9.8{m/s^2};
860 END acceleration;
861
862 ATOM frequency REFINES solver_var
863 DIMENSION 1/T
864 DEFAULT 60.0{1/s};
865 lower_bound := 0.0{1/s};
866 upper_bound := 1e50{1/s};
867 nominal := 60.0{1/s};
868 END frequency;
869
870 ATOM stiffness REFINES solver_var
871 DIMENSION M/T^2
872 DEFAULT 1 {N/m};
873 lower_bound := 0 {N/m};
874 upper_bound := 1e12 {N/m};
875 nominal := 1 {N/m};
876 END stiffness;
877
878
879
880 (* T R A N S P O R T Q U A N T I T I E S
881 --------------------------------------- *)
882
883 ATOM viscosity REFINES solver_var
884 DIMENSION M/L/T
885 DEFAULT 1.0{cP};
886 lower_bound := 0.0{cP};
887 upper_bound := 1e50{cP};
888 nominal := 1.0{cP};
889 END viscosity;
890
891 ATOM thermal_conductivity REFINES solver_var
892 DIMENSION M*L/T^3/TMP
893 DEFAULT 0.1{BTU/hour/ft/R};
894 lower_bound := 0.0{BTU/hour/ft/R};
895 upper_bound := 1e50{BTU/hour/ft/R};
896 nominal := 0.1{BTU/hour/ft/R};
897 END thermal_conductivity;
898
899 ATOM diffusivity REFINES solver_var
900 DIMENSION L^2/T
901 DEFAULT 1.0{cm^2/s};
902 lower_bound := 0.0{cm^2/s};
903 upper_bound := 1e50{cm^2/s};
904 nominal := 1.0{cm^2/s};
905 END diffusivity;
906
907
908 (* 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
909 ---------------------------------------------------- *)
910
911 ATOM voltage REFINES solver_var
912 DIMENSION M*L^2/(T^3*E)
913 DEFAULT 10.0{volt};
914 lower_bound := -1e50{volt};
915 upper_bound := 1e50{volt};
916 nominal := 10.0{volt};
917 END voltage;
918
919 ATOM resistance REFINES solver_var
920 DIMENSION M*L^2/(E^2*T^3)
921 DEFAULT 10.0{ohm};
922 lower_bound := -1e50{ohm};
923 upper_bound := 1e50{ohm};
924 nominal := 10.0{ohm};
925 END resistance;
926
927 ATOM current REFINES solver_var
928 DIMENSION E
929 DEFAULT 1.0{amp};
930 lower_bound := -1e50{amp};
931 upper_bound := 1e50{amp};
932 nominal := 1.0{amp};
933 END current;
934
935 ATOM capacitance REFINES solver_var
936 DIMENSION E^2*T^4/M/L^2
937 DEFAULT 1.0{coulomb/volt};
938 lower_bound := -1e50{coulomb/volt};
939 upper_bound := 1e50{coulomb/volt};
940 nominal := 1.0{coulomb/volt};
941 END capacitance;
942
943 ATOM inductance REFINES solver_var
944 DIMENSION M*L^2/E^2/T^2
945 DEFAULT 1.0{volt*s/amp};
946 lower_bound := -1e50{volt*s/amp};
947 upper_bound := 1e50{volt*s/amp};
948 nominal := 1.0{volt*s/amp};
949 END inductance;
950
951 ATOM magnetic_field REFINES solver_var
952 DIMENSION E/L
953 DEFAULT 1.0{amp/m};
954 lower_bound := -1e50{amp/m};
955 upper_bound := 1e50{amp/m};
956 nominal := 1.0{amp/m};
957 END magnetic_field;
958
959 ATOM electric_field REFINES solver_var
960 DIMENSION M*L/E/T^3
961 DEFAULT 1.0{volt/m};
962 lower_bound := -1e50{volt/m};
963 upper_bound := 1e50{volt/m};
964 nominal := 1.0{volt/m};
965 END electric_field;
966
967 (* D I F F E R E N T I A L Q U A N T I T I E S
968 ------------------------------------------- *)
969
970 ATOM delta_distance REFINES solver_var
971 DIMENSION L
972 DEFAULT 10.0{ft};
973 lower_bound := -1e50{ft};
974 upper_bound := 1e50{ft};
975 nominal := 10.0{ft};
976 END delta_distance;
977
978 ATOM temperature_rate REFINES solver_var
979 DIMENSION TMP/T
980 DEFAULT 0{K/s};
981 lower_bound := -100{K/s};
982 upper_bound := 100{K/s};
983 nominal := 298.0{K/s};
984 END temperature_rate;
985
986 ATOM delta_mass REFINES solver_var
987 DIMENSION M
988 DEFAULT 0.0{kg};
989 lower_bound := -1e50{kg};
990 upper_bound := 1e50{kg};
991 nominal := 10.0{kg};
992 END delta_mass;
993
994 ATOM delta_mole REFINES solver_var
995 DIMENSION Q
996 DEFAULT 0{lb_mole};
997 lower_bound := -1e50{lb_mole};
998 upper_bound := 1e50{lb_mole};
999 nominal := 10.0{lb_mole};
1000 END delta_mole;
1001
1002 ATOM delta_mass_rate REFINES solver_var
1003 DIMENSION M/T
1004 DEFAULT 0{g/s};
1005 lower_bound := -1e50{g/s};
1006 upper_bound := 1e50{g/s};
1007 nominal := 100.0{g/s};
1008 END delta_mass_rate;
1009
1010 ATOM delta_molar_rate REFINES solver_var
1011 DIMENSION Q/T
1012 DEFAULT 0.0{lb_mole/hour};
1013 lower_bound := -1e50{lb_mole/hour};
1014 upper_bound := 1e50{lb_mole/hour};
1015 nominal := 100.0{lb_mole/hour};
1016 END delta_molar_rate;
1017
1018 ATOM delta_volume_rate REFINES solver_var
1019 DIMENSION L^3/T
1020 DEFAULT 0.0{gpm};
1021 lower_bound := -1e50{gpm};
1022 upper_bound := 1e50{gpm};
1023 nominal := 100.0{gpm};
1024 END delta_volume_rate;
1025
1026 ATOM density_rate REFINES solver_var
1027 DIMENSION M/L^3/T
1028 DEFAULT 0.0 {kg/m^3/s};
1029 lower_bound := -1e50 {kg/m^3/s};
1030 upper_bound := 1e50 {kg/m^3/s};
1031 nominal := 0.1 {kg/m^3/s};
1032 END density_rate;
1033
1034 ATOM delta_energy_rate REFINES solver_var
1035 DIMENSION M*L^2/T^3
1036 DEFAULT 0.0{BTU/hour};
1037 lower_bound := -1e50{BTU/hour};
1038 upper_bound := 1e50{BTU/hour};
1039 nominal := 100000.0{BTU/hour};
1040 END delta_energy_rate;
1041
1042 ATOM delta_molar_energy_rate REFINES solver_var
1043 DIMENSION M*L^2/T^3/Q
1044 DEFAULT 0 {BTU/lb_mole/h};
1045 lower_bound := -1e50 {BTU/lb_mole/h};
1046 upper_bound := 1e50 {BTU/lb_mole/h};
1047 nominal := 10000.0 {BTU/lb_mole/h};
1048 END delta_molar_energy_rate;
1049
1050 ATOM delta_entropy_rate REFINES solver_var
1051 DIMENSION M*L^2/T^3/TMP
1052 DEFAULT 0.0{BTU/hour/R};
1053 lower_bound := -1e50{BTU/hour/R};
1054 upper_bound := 1e50{BTU/hour/R};
1055 nominal := 1000.0{BTU/hour/R};
1056 END delta_entropy_rate;
1057
1058
1059 (* C O N T R O L L E R Q U A N T I T I E S
1060 ---------------------------------------- *)
1061
1062 ATOM mass_sec REFINES solver_var
1063 DIMENSION M*T
1064 DEFAULT 0.0{kg*s};
1065 lower_bound := -1e50{kg*s};
1066 upper_bound := 1e50{kg*s};
1067 nominal := 10.0{kg*s};
1068 END mass_sec;
1069
1070 ATOM mole_sec REFINES solver_var
1071 DIMENSION Q*T
1072 DEFAULT 0.0{lb_mole*s};
1073 lower_bound := -1e50{lb_mole*s};
1074 upper_bound := 1e50{lb_mole*s};
1075 nominal := 10.0{lb_mole*s};
1076 END mole_sec;
1077
1078 (* D I F F E R E N T I A L S *)
1079
1080 ATOM rate REFINES solver_var
1081 DIMENSION T^-1
1082 DEFAULT 0{s^-1};
1083 lower_bound := -1e50{s^-1};
1084 upper_bound := 1e50{s^-1};
1085 nominal := 1{s^-1};
1086 END rate;
1087
1088 (* M E C H A N I C AL P R O P E R T I E S
1089 ---------------------------------------- *)
1090
1091 ATOM deflection REFINES solver_var
1092 DIMENSION L
1093 DEFAULT 1 {mm};
1094 lower_bound := -10{m};
1095 upper_bound := 10{m};
1096 nominal := 5{mm};
1097 END deflection;
1098
1099 ATOM second_moment_of_area REFINES solver_var
1100 DIMENSION L^4
1101 DEFAULT 6.67e5 {mm^4}; (* for 150UB14 Universal Beam, AISC (Australia) *)
1102 lower_bound := 0 {mm^4};
1103 upper_bound := 10000e6 {mm^4};
1104 nominal := 1e6 {mm^4}; (* this may be too high still *)
1105 END second_moment_of_area;
1106
1107 CONSTANT second_moment_of_area_constant
1108 REFINES real_constant DIMENSION L^4;
1109
1110 CONSTANT length_constant
1111 REFINES real_constant DIMENSION L;
1112
1113 CONSTANT area_constant
1114 REFINES real_constant DIMENSION L^2;
1115
1116 ATOM moment REFINES solver_var
1117 DIMENSION M*L^2/T^2
1118 DEFAULT 1 {kN*m};
1119 lower_bound := -1e5 {kN*m};
1120 upper_bound := 1e5 {kN*m};
1121 nominal := 1 {kN*m};
1122 END moment;
1123
1124 ATOM stress REFINES solver_var
1125 DIMENSION M/L/T^2
1126 DEFAULT 1.0 {MPa};
1127 lower_bound := -5000 {MPa};
1128 upper_bound := 5000 {MPa};
1129 nominal := 1.0 {MPa};
1130 END stress;
1131
1132

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22