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

Contents of /trunk/models/atoms.a4l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2651 - (show annotations) (download) (as text)
Thu Dec 13 07:29:48 2012 UTC (11 years, 6 months ago) by jpye
File MIME type: text/x-ascend
File size: 34706 byte(s)
Fixing GPL header, removing postal address (rpmlint incorrect-fsf-address)
1 (* ASCEND modelling environment
2 * Copyright (C) 1994-2007 Carnegie Mellon University
3 *
4 * The ASCEND Modeling Library is free software; you can redistribute
5 * it and/or modify it under the terms of the GNU General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * The ASCEND Modeling Library is distributed in hope that it
10 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
11 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 *)
17 REQUIRE "system.a4l"; (* => system.a4l, basemodel.a4l *)
18 REQUIRE "measures.a4l"; (* => measures.a4l *)
19 PROVIDE "atoms.a4l";
20 (*
21 Original Author: Joseph J. Zaher
22 Contributors: Ben Allan, Bob Huss, John Pye.
23
24 ASCEND atom definitions for engineering variable types.
25 Many of the anticipated dimensional variables which occur
26 in engineering design calculations are given to provide a
27 means of standardization. Chosen defaults, nominal, and
28 lower and upper bound values should be re-specified if
29 necessary to enhance the convergence properties of
30 specific models. Units to be displayed are to be controlled
31 using the UNITS tool kit of the environment.
32
33 If you add a new type here, you are encouraged to also make corresponding
34 changes to the syntax definition files pygtk/gnome/ascend.lang (for gedit
35 on GNOME) and ascend.syn (for TextPad on Windows).
36 *)
37
38 (* 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 )
39 -------------------------------------------------------------------- *)
40
41 CONSTANT constant
42 (* any sloppiness about what is a constant will yield a wild real *)
43 REFINES real_constant;
44
45 (* dimensionless *)
46
47 CONSTANT critical_compressibility REFINES real_constant DIMENSIONLESS;
48
49 CONSTANT acentric_factor REFINES real_constant DIMENSIONLESS;
50
51 CONSTANT UNIFAC_size REFINES real_constant DIMENSIONLESS;
52
53 CONSTANT Wilson_constant REFINES real_constant DIMENSIONLESS;
54
55 CONSTANT vapor_pressure_constant REFINES real_constant;
56
57 CONSTANT factor_constant REFINES real_constant DIMENSIONLESS;
58
59 (* angles *)
60 CONSTANT angle_constant
61 REFINES real_constant DIMENSION P;
62
63 CONSTANT solid_angle_constant
64 REFINES real_constant DIMENSION S;
65
66 (* time *)
67 CONSTANT time_constant
68 REFINES real_constant DIMENSION T;
69
70 (* molecular weight *)
71 CONSTANT molar_weight_constant
72 REFINES real_constant DIMENSION M/Q;
73
74 (* atomic mass *)
75 CONSTANT atomic_mass_constant
76 REFINES real_constant DIMENSION M;
77
78 (* temperatures *)
79 CONSTANT temperature_constant
80 REFINES real_constant DIMENSION TMP;
81
82 CONSTANT boiling_temperature
83 REFINES temperature_constant;
84
85 CONSTANT critical_temperature
86 REFINES temperature_constant;
87
88 CONSTANT reference_temperature
89 REFINES temperature_constant;
90
91 CONSTANT UNIFAC_a
92 REFINES temperature_constant;
93
94 (* pressures *)
95 CONSTANT pressure_constant
96 REFINES real_constant DIMENSION M/L/T^2;
97
98 CONSTANT critical_pressure
99 REFINES pressure_constant;
100
101 CONSTANT reference_pressure
102 REFINES pressure_constant;
103
104 (* molar volumes *)
105 CONSTANT molar_volume_constant
106 REFINES real_constant DIMENSION L^3/Q;
107
108 CONSTANT critical_volume
109 REFINES molar_volume_constant;
110
111 CONSTANT reference_molar_volume
112 REFINES molar_volume_constant;
113
114 (* mass densities *)
115 CONSTANT reference_mass_density
116 REFINES real_constant DIMENSION M/L^3;
117
118 (* molar energies *)
119 CONSTANT molar_energy_constant
120 REFINES real_constant DIMENSION M*L^2/T^2/Q;
121
122 CONSTANT reference_molar_energy
123 REFINES molar_energy_constant;
124
125 CONSTANT enthalpy_of_formation_constant
126 REFINES molar_energy_constant;
127
128 CONSTANT free_energy_of_formation_constant
129 REFINES molar_energy_constant;
130
131 CONSTANT heat_of_vaporization_constant
132 REFINES molar_energy_constant;
133
134 CONSTANT Wilson_energy_constant
135 REFINES molar_energy_constant;
136
137 (* molar entropies *)
138 CONSTANT molar_entropy_constant
139 REFINES real_constant DIMENSION M*L^2/T^2/Q/TMP;
140
141 CONSTANT reference_molar_entropy
142 REFINES molar_entropy_constant;
143
144 (* other strange correlation coefficients *)
145 CONSTANT heat_capacity_constant
146 REFINES real_constant;
147
148 CONSTANT heat_capacity_a_constant
149 REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP;
150
151 CONSTANT heat_capacity_b_constant
152 REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^2;
153
154 CONSTANT heat_capacity_c_constant
155 REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^3;
156
157 CONSTANT heat_capacity_d_constant
158 REFINES heat_capacity_constant DIMENSION M*L^2/T^2/Q/TMP^4;
159
160 (*
161 CONSTANT
162 REFINES real_constant DIMENSION;
163 *)
164
165 (* U N I V E R S A L C O N S T A N T S
166 -------------------------------------- *)
167
168 UNIVERSAL CONSTANT molar_gas_constant
169 (* DIMENSION M*L^2/T^2/Q/TMP *)
170 REFINES real_constant :== 1{GAS_C};
171
172 UNIVERSAL CONSTANT gravity_constant
173 (* DIMENSION L/T^2 *)
174 REFINES real_constant :== 1{EARTH_G};
175
176 UNIVERSAL CONSTANT circle_constant
177 REFINES real_constant :== 1{PI};
178
179 UNIVERSAL CONSTANT speed_of_light
180 REFINES real_constant :== 1{LIGHT_C};
181
182 UNIVERSAL CONSTANT planck_constant
183 (* DIMENSION M*L^2/T *)
184 REFINES real_constant :== 1{PLANCK_C};
185
186 UNIVERSAL CONSTANT avogadro_constant
187 REFINES real_constant :== 1{AVOGADRO_C};
188
189 UNIVERSAL CONSTANT permittivity_constant
190 (* DIMENSION E^2*T^4/M/L^3 *)
191 REFINES real_constant :== 1{EPSILON0};
192
193 UNIVERSAL CONSTANT permeability_constant
194 REFINES real_constant :== 1{MU0};
195
196 UNIVERSAL CONSTANT electron_charge
197 REFINES real_constant :== 1{eCHARGE};
198
199 UNIVERSAL CONSTANT electron_mass
200 REFINES real_constant :== 1{eMASS};
201
202 UNIVERSAL CONSTANT proton_mass
203 REFINES real_constant :== 1{pMASS};
204
205 (* B O O L E A N S *)
206
207 (* use these booleans *)
208 ATOM boolean_start_true REFINES boolean
209 DEFAULT TRUE;
210 END boolean_start_true;
211
212 ATOM boolean_start_false REFINES boolean
213 DEFAULT FALSE;
214 END boolean_start_false;
215
216 (* for backward compatibility *)
217 ATOM start_true REFINES boolean
218 DEFAULT TRUE;
219 END start_true;
220
221 ATOM start_false REFINES boolean
222 DEFAULT FALSE;
223 END start_false;
224
225
226 (* P A R A M E T E R S *)
227
228 UNIVERSAL ATOM bound_width REFINES real
229 (* not really a constant but a parameter to tell us how wide to
230 * put bounds from the current point, in relative terms.
231 * e.g. a.upper_bound := a + a.nominal * bound_width_instance;
232 *)
233 DIMENSIONLESS
234 DEFAULT 1.0e8;
235 END bound_width;
236
237 UNIVERSAL ATOM scaling_constant REFINES real
238 (* not really a constant but a parameter. which
239 * needs problem dependent information to be useful.
240 *)
241 DIMENSIONLESS
242 DEFAULT 1.0;
243 END scaling_constant;
244
245 UNIVERSAL ATOM ode_counter REFINES integer
246 DIMENSIONLESS
247 DEFAULT 1;
248 END ode_counter;
249
250 UNIVERSAL ATOM obs_counter REFINES integer
251 DIMENSIONLESS
252 DEFAULT 1;
253 END obs_counter;
254
255 ATOM real_parameter REFINES real;
256 END real_parameter;
257
258 ATOM length_parameter REFINES real_parameter
259 DIMENSION L
260 DEFAULT 1.0 {m};
261 END length_parameter;
262
263
264 (* D I M E N S I O N L E S S Q U A N T I T I E S
265 ---------------------------------------------- *)
266
267 ATOM positive_variable REFINES solver_var
268 (* one for the gams folks *)
269 DIMENSIONLESS
270 DEFAULT 1.0;
271 lower_bound := 0.0;
272 upper_bound := 1e20;
273 nominal := 1.0;
274 END positive_variable;
275
276 ATOM factor REFINES solver_var
277 DIMENSIONLESS
278 DEFAULT 1.0;
279 lower_bound := -1e50;
280 upper_bound := 1e50;
281 nominal := 1.0;
282 END factor;
283
284 ATOM variable REFINES solver_var
285 DIMENSIONLESS;
286 END variable;
287
288
289 ATOM fraction REFINES solver_var
290 DIMENSIONLESS
291 DEFAULT 0.5;
292 nominal := 1.0;
293 lower_bound := 0.0;
294 upper_bound := 1.0;
295 END fraction;
296
297 ATOM positive_factor REFINES factor;
298 lower_bound := 0.0;
299 END positive_factor;
300
301 ATOM small_factor REFINES factor;
302 lower_bound := -10.0;
303 upper_bound := 10.0;
304 END small_factor;
305
306 ATOM small_positive_factor REFINES factor;
307 lower_bound := 0.0;
308 upper_bound := 10.0;
309 END small_positive_factor;
310
311 ATOM reduced_pressure REFINES factor;
312 END reduced_pressure;
313
314 (* S U B S T I T U T I O N V A R I A B L E S
315 ------------------------------------------ *)
316 ATOM exp_sub REFINES factor ;
317 lower_bound := -1e50;
318 upper_bound := 100;
319 nominal := 1.0;
320 END exp_sub;
321
322 ATOM power_sub REFINES factor;
323 lower_bound := -25;
324 upper_bound := 25;
325 nominal := 1.0;
326 END power_sub;
327
328 (* T E M P E R A T U R E
329 --------------------- *)
330
331 ATOM temperature REFINES solver_var
332 DIMENSION TMP
333 DEFAULT 298.0{K};
334 lower_bound := 1.0e-6{K};
335 upper_bound := 10000{K};
336 nominal := 298.0{K};
337 END temperature;
338
339 ATOM inverse_temperature REFINES solver_var
340 DIMENSION 1/TMP
341 DEFAULT 0.00366099{1/K};
342 lower_bound := 0.0{1/K};
343 upper_bound := 1e50{1/K};
344 nominal := 0.00366099{1/K};
345 END inverse_temperature;
346
347 ATOM delta_temperature REFINES solver_var
348 DIMENSION TMP
349 DEFAULT 0.1{K};
350 lower_bound := -1000{K};
351 upper_bound := +1000{K};
352 nominal := 5{K};
353 END delta_temperature;
354
355 (* forces *)
356 ATOM force REFINES solver_var
357 DIMENSION M*L/T^2
358 DEFAULT 1.0{N};
359 lower_bound := -1e20{N};
360 upper_bound := 1e20{N};
361 nominal := 1.0{kN};
362 END force;
363
364 ATOM force_per_length REFINES solver_var
365 DIMENSION M/T^2
366 DEFAULT 1.0{N/m};
367 lower_bound := -1e20{N/m};
368 upper_bound := 1e20{N/m};
369 nominal := 1.0{N/m};
370 END force_per_length;
371
372 ATOM force_per_volume REFINES solver_var
373 DIMENSION M/T^2/L^2
374 DEFAULT 1.0{N/m^3};
375 lower_bound := -1e20{N/m^3};
376 upper_bound := 1e20{N/m^3};
377 nominal := 1.0{N/m^3};
378 END force_per_volume;
379
380 ATOM surface_tension REFINES solver_var
381 DIMENSION M/T^2
382 DEFAULT 1.0{N/m};
383 lower_bound := 0{N/m};
384 upper_bound := 1e20{N/m};
385 nominal := 1.0{N/m};
386 END surface_tension;
387
388 (* P R E S S U R E
389 --------------- *)
390
391 ATOM pressure REFINES solver_var
392 DIMENSION M/L/T^2
393 DEFAULT 1.0{atm};
394 lower_bound := 0.001{Pa};
395 upper_bound := 5000{atm};
396 nominal := 1.0{atm};
397 END pressure;
398
399 ATOM pressure_rate REFINES solver_var
400 DIMENSION M/L/T^3
401 DEFAULT -1 {kPa/s};
402 lower_bound := -5 {bar/s};
403 upper_bound := +5 {bar/s};
404 nominal := 1 {kPa/s};
405 END pressure_rate;
406
407 ATOM delta_pressure REFINES solver_var
408 DIMENSION M/L/T^2
409 DEFAULT 1.0{atm};
410 lower_bound := -1000{atm};
411 upper_bound := 1000{atm};
412 nominal := 1.0{atm};
413 END delta_pressure;
414
415 ATOM vapor_pressure REFINES pressure
416 DIMENSION M/L/T^2
417 DEFAULT 1.0{atm};
418 lower_bound := 0.001{Pa};
419 upper_bound := 5000{atm};
420 nominal := 0.5{atm};
421 END vapor_pressure;
422
423 ATOM k_constant REFINES solver_var
424 (* what IS this ? ? ? (it rings a bell...) *)
425 DIMENSION T^2/L^5
426 DEFAULT 1.0 {s^2/ft^5};
427 lower_bound := 0.001 {s^2/ft^5};
428 upper_bound := 5000 {s^2/ft^5};
429 nominal := 1.0 {s^2/ft^5};
430 END k_constant;
431
432 ATOM youngs_modulus REFINES solver_var
433 (* the measure of the physical stiffness of a material *)
434 DIMENSION M/L/T^2
435 DEFAULT 200 {GPa};
436 lower_bound := 0 {Pa};
437 upper_bound := 1500 {GPa};
438 nominal := 40 {GPa};
439 END youngs_modulus;
440
441 ATOM pressure_per_length REFINES solver_var
442 DIMENSION M/L^2/T^2
443 DEFAULT 50 {Pa/m};
444 lower_bound := -1e20{bar/m};
445 upper_bound := +1e20{bar/m};
446 nominal := 50 {Pa/m};
447 END pressure_per_length;
448
449
450 (* M A S S / M O L E Q U A N T I T I E S
451 -------------------------------------- *)
452
453 ATOM molar_mass REFINES solver_var
454 DIMENSION M/Q
455 DEFAULT 100.0{g/g_mole};
456 lower_bound := 0.0{g/g_mole};
457 upper_bound := 1e9{g/g_mole};
458 nominal := 100.0{g/g_mole};
459 END molar_mass;
460
461 ATOM mass REFINES solver_var
462 DIMENSION M
463 DEFAULT 10.0{kg};
464 lower_bound := 0.0{kg};
465 upper_bound := 1e50{kg};
466 nominal := 10.0{kg};
467 END mass;
468
469 ATOM mole_scale REFINES real DIMENSION Q DEFAULT 1 {mole};
470 END mole_scale;
471
472 ATOM mole REFINES solver_var
473 DIMENSION Q
474 DEFAULT 10.0{lb_mole};
475 lower_bound := 0.0{lb_mole};
476 upper_bound := 1e50{lb_mole};
477 nominal := 10.0{lb_mole};
478 END mole;
479
480 ATOM mass_rate REFINES solver_var
481 DIMENSION M/T
482 DEFAULT 50{g/s};
483 lower_bound := 0.0{g/s};
484 upper_bound := 1e50{g/s};
485 nominal := 100.0{g/s};
486 END mass_rate;
487
488 CONSTANT mass_rate_constant
489 REFINES real_constant DIMENSION M/T;
490
491 ATOM mass_flux REFINES solver_var
492 DIMENSION M/T/L^2
493 DEFAULT 10{kg/s/m^2};
494 lower_bound := -1e12{kg/s/m^2};
495 upper_bound := 1e12{kg/s/m^2};
496 nominal := 10.0{kg/s/m^2};
497 END mass_flux;
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_per_area REFINES solver_var
646 DIMENSION M/T^2
647 DEFAULT 1000{kJ/m^2};
648 lower_bound := -1e50{kJ/m^2};
649 upper_bound := 1e50{kJ/m^2};
650 nominal := 1000{kJ/m^2};
651 END energy_per_area;
652
653 ATOM energy_per_volume REFINES solver_var
654 DIMENSION M/L/T^2
655 DEFAULT 1000{kJ/L};
656 lower_bound := -1e50{kJ/L};
657 upper_bound := 1e50{kJ/L};
658 nominal := 1000{kJ/L};
659 END energy_per_volume;
660
661 ATOM energy_rate_scale REFINES real DIMENSION M*L^2/T^3 DEFAULT 1{watt};
662 END energy_rate_scale;
663
664 ATOM energy_rate REFINES solver_var
665 DIMENSION M*L^2/T^3
666 DEFAULT 100000.0{BTU/hour};
667 lower_bound := -1e50{BTU/hour};
668 upper_bound := 1e50{BTU/hour};
669 nominal := 100000.0{BTU/hour};
670 END energy_rate;
671
672 ATOM power_per_length REFINES solver_var
673 DIMENSION M*L/T^3
674 DEFAULT 1.0{kW/m};
675 lower_bound := -1e50{kW/m};
676 upper_bound := 1e50{kW/m};
677 nominal := 1.0{kW/m};
678 END power_per_length;
679
680 ATOM power_per_volume REFINES solver_var
681 DIMENSION M/L/T^3
682 DEFAULT 1.0{kW/m^3};
683 lower_bound := -1e50{kW/m^3};
684 upper_bound := 1e50{kW/m^3};
685 nominal := 1.0{kW/m^3};
686 END power_per_volume;
687
688 ATOM power_per_area REFINES solver_var
689 DIMENSION M/T^3
690 DEFAULT 1.0{kW/m^2};
691 lower_bound := -1e50{kW/m^2};
692 upper_bound := 1e50{kW/m^2};
693 nominal := 1.0{kW/m^2};
694 END power_per_area;
695
696 ATOM power_per_temperature REFINES solver_var
697 DIMENSION M*L^2/T^3/TMP
698 DEFAULT 1.0{kW/K};
699 lower_bound := -1e30{kW/K};
700 upper_bound := 1e30{kW/K};
701 nominal := 1.0 {kW/K};
702 END power_per_temperature;
703
704 ATOM irradiance REFINES solver_var
705 DIMENSION M/T^3
706 DEFAULT 1000{W/m^2};
707 lower_bound := 0{W/m^2};
708 upper_bound := 1.5{MW/m^2}; (* a bit more that the max possible from sunlight *)
709 nominal := 300{W/m^2};
710 END irradiance;
711
712 ATOM irradiation REFINES solver_var
713 DIMENSION M/T^2
714 DEFAULT 1000{J/m^2};
715 lower_bound := 0{J/m^2};
716 upper_bound := 1e50{J/m^2}; (* a bit more that the max possible from sunlight *)
717 nominal := 300{J/m^2};
718 END irradiation;
719
720
721 ATOM molar_heat_capacity REFINES solver_var
722 DIMENSION M*L^2/T^2/Q/TMP
723 DEFAULT 1.00e5{J/mole/K};
724 lower_bound := 0.0{J/mole/K};
725 upper_bound := 1e60{J/mole/K};
726 nominal := 1.00e5{J/mole/K};
727 END molar_heat_capacity;
728
729 ATOM molar_energy_rate REFINES solver_var
730 DIMENSION M*L^2/T^3/Q
731 DEFAULT 0 {BTU/lb_mole/h};
732 lower_bound := -1e50 {BTU/lb_mole/h};
733 upper_bound := 1e50 {BTU/lb_mole/h};
734 nominal := 10000.0 {BTU/lb_mole/h};
735 END molar_energy_rate;
736
737 (* E N T R O P Y Q U A N T I T I E S
738 ---------------------------------- *)
739
740 ATOM molar_entropy REFINES solver_var
741 DIMENSION M*L^2/T^2/Q/TMP
742 DEFAULT 100.0{BTU/lb_mole/R};
743 lower_bound := -1e50{BTU/lb_mole/R};
744 upper_bound := 1e50{BTU/lb_mole/R};
745 nominal := 100.0{BTU/lb_mole/R};
746 END molar_entropy;
747
748 ATOM entropy REFINES solver_var
749 DIMENSION M*L^2/T^2/TMP
750 DEFAULT 1000.0{BTU/R};
751 lower_bound := -1e50{BTU/R};
752 upper_bound := 1e50{BTU/R};
753 nominal := 1000.0{BTU/R};
754 END entropy;
755
756 ATOM entropy_rate REFINES solver_var
757 DIMENSION M*L^2/T^3/TMP
758 DEFAULT 1000.0{BTU/hour/R};
759 lower_bound := -1e50{BTU/hour/R};
760 upper_bound := 1e50{BTU/hour/R};
761 nominal := 1000.0{BTU/hour/R};
762 END entropy_rate;
763
764
765
766 (* E Q U I L I B R I U M Q U A N T I T I E S
767 ------------------------------------------ *)
768
769 ATOM partition_coefficient REFINES factor (* new *)
770 DEFAULT 1.0;
771 lower_bound := 1.0e-10;
772 upper_bound := 30.0;
773 nominal := 1.0;
774 END partition_coefficient;
775
776 ATOM relative_volatility REFINES partition_coefficient; (* new *)
777 END relative_volatility;
778
779
780 (* M O N E T A R Y Q U A N T I T I E S
781 ------------------------------------ *)
782
783 ATOM monetary_unit REFINES solver_var
784 DIMENSION C
785 DEFAULT 100.0{USD};
786 lower_bound := -1e50{USD};
787 upper_bound := 1e50{USD};
788 nominal := 100.0{USD};
789 END monetary_unit;
790
791 ATOM cost_per_volume REFINES solver_var
792 DIMENSION C/L^3
793 DEFAULT 1.0{USD/gallon};
794 lower_bound := 0.0{USD/gallon};
795 upper_bound := 1e50{USD/gallon};
796 nominal := 1.0{USD/gallon};
797 END cost_per_volume;
798
799 ATOM cost_per_mass REFINES solver_var
800 DIMENSION C/M
801 DEFAULT 1.0{USD/lbm};
802 lower_bound := 0.0{USD/lbm};
803 upper_bound := 1e50{USD/lbm};
804 nominal := 1.0{USD/lbm};
805 END cost_per_mass;
806
807 CONSTANT cost_per_mass_constant
808 REFINES real_constant DIMENSION C/M;
809
810 ATOM cost_per_mole REFINES solver_var
811 DIMENSION C/Q
812 DEFAULT 1.0{USD/lb_mole};
813 lower_bound := 0.0{USD/lb_mole};
814 upper_bound := 1e50{USD/lb_mole};
815 nominal := 1.0{USD/lb_mole};
816 END cost_per_mole;
817
818 ATOM cost_per_time REFINES solver_var
819 DIMENSION C/T
820 DEFAULT 1.0{USD/min};
821 lower_bound := 0.0{USD/min};
822 upper_bound := 1e50{USD/min};
823 nominal := 1.0{USD/min};
824 END cost_per_time;
825
826 ATOM cost_per_energy REFINES solver_var
827 DIMENSION C*T^2/M/L^2
828 DEFAULT 1.0{USD/BTU};
829 lower_bound := 0.0{USD/BTU};
830 upper_bound := 1e50{USD/BTU};
831 nominal := 1.0{USD/BTU};
832 END cost_per_energy;
833
834 CONSTANT cost_per_mass_per_distance_constant
835 REFINES real_constant DIMENSION C/M/L;
836
837
838 (* S U R V E Y I N G Q U A N T I T I E S
839 --------------------------------------- *)
840
841 ATOM distance REFINES solver_var
842 DIMENSION L
843 DEFAULT 10.0{ft};
844 lower_bound := 0.0{ft};
845 upper_bound := 1e50{ft};
846 nominal := 10.0{ft};
847 END distance;
848
849 CONSTANT distance_constant
850 REFINES real_constant DIMENSION L;
851
852 ATOM area REFINES solver_var
853 DIMENSION L^2
854 DEFAULT 1{m^2};
855 lower_bound := 0.0{m^2};
856 upper_bound := 1e50{m^2};
857 nominal := 1{m^2};
858 END area;
859
860 ATOM inverse_area REFINES solver_var
861 DIMENSION L^-2
862 DEFAULT 1{1/ft^2};
863 lower_bound := 0.0{1/ft^2};
864 upper_bound := 1e50{1/ft^2};
865 nominal := 1.0{1/ft^2};
866 END inverse_area;
867
868 ATOM angle REFINES solver_var
869 DIMENSION P
870 DEFAULT 1 {rad};
871 lower_bound := -1e50 {rad};
872 upper_bound := 1e50 {rad};
873 nominal := 1 {rad};
874 END angle;
875
876 ATOM solid_angle REFINES solver_var
877 DIMENSION S
878 DEFAULT 1 {srad};
879 lower_bound := -1e50 {srad};
880 upper_bound := 1e50 {srad};
881 nominal := 1 {srad};
882 END solid_angle;
883
884 (* M O T I O N Q U A N T I T I E S
885 --------------------------------- *)
886
887 ATOM time REFINES solver_var
888 DIMENSION T
889 DEFAULT 60.0{s};
890 lower_bound := -1e50{s};
891 upper_bound := 1e50{s};
892 nominal := 60.0{s};
893 END time;
894
895 ATOM speed REFINES solver_var
896 DIMENSION L/T
897 DEFAULT 3.0{ft/s};
898 lower_bound := -1e50{m/s};
899 upper_bound := 1e50{m/s};
900 nominal := 1.0{m/s};
901 END speed;
902
903 ATOM angular_speed REFINES solver_var
904 DIMENSION P/T
905 DEFAULT 1.0 {rad/s};
906 lower_bound := -1e50{rad/s};
907 upper_bound := 1e50{rad/s};
908 nominal := 1 {rad/s};
909 END angular_speed;
910
911 ATOM acceleration REFINES solver_var
912 DIMENSION L/T^2
913 DEFAULT 9.8{m/s^2};
914 lower_bound := -1e50{m/s^2};
915 upper_bound := 1e50{m/s^2};
916 nominal := 9.8{m/s^2};
917 END acceleration;
918
919 ATOM frequency REFINES solver_var
920 DIMENSION 1/T
921 DEFAULT 60.0{1/s};
922 lower_bound := 0.0{1/s};
923 upper_bound := 1e50{1/s};
924 nominal := 60.0{1/s};
925 END frequency;
926
927 ATOM stiffness REFINES solver_var
928 DIMENSION M/T^2
929 DEFAULT 1 {N/m};
930 lower_bound := 0 {N/m};
931 upper_bound := 1e12 {N/m};
932 nominal := 1 {N/m};
933 END stiffness;
934
935 ATOM damping_coefficient REFINES solver_var
936 DIMENSION M/T
937 DEFAULT 1 {N*s/m};
938 lower_bound := 0 {N*s/m};
939 upper_bound := 1e12 {N*s/m};
940 nominal := 1 {N*s/m};
941 END damping_coefficient;
942
943
944 (* T R A N S P O R T Q U A N T I T I E S
945 --------------------------------------- *)
946
947 ATOM viscosity REFINES solver_var
948 DIMENSION M/L/T
949 DEFAULT 1.0{cP};
950 lower_bound := 0.0{cP};
951 upper_bound := 1e50{cP};
952 nominal := 1.0{cP};
953 END viscosity;
954
955 ATOM kinematic_viscosity REFINES solver_var
956 DIMENSION L^2/T
957 DEFAULT 1e-6 {m^2/s};
958 lower_bound := 0.0 {m^2/s};
959 upper_bound := 1e50 {m^2/s};
960 nominal := 1.3 {g/s/m} * 0.001 {m^3/kg};
961 END kinematic_viscosity;
962
963 ATOM thermal_conductivity REFINES solver_var
964 DIMENSION M*L/T^3/TMP
965 DEFAULT 0.1{BTU/hour/ft/R};
966 lower_bound := 0.0{BTU/hour/ft/R};
967 upper_bound := 1e50{BTU/hour/ft/R};
968 nominal := 0.1{BTU/hour/ft/R};
969 END thermal_conductivity;
970
971 ATOM diffusivity REFINES solver_var
972 DIMENSION L^2/T
973 DEFAULT 1.0{cm^2/s};
974 lower_bound := 0.0{cm^2/s};
975 upper_bound := 1e50{cm^2/s};
976 nominal := 1.0{cm^2/s};
977 END diffusivity;
978
979
980 (* 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
981 ---------------------------------------------------- *)
982
983 ATOM voltage REFINES solver_var
984 DIMENSION M*L^2/(T^3*E)
985 DEFAULT 10.0{volt};
986 lower_bound := -1e50{volt};
987 upper_bound := 1e50{volt};
988 nominal := 10.0{volt};
989 END voltage;
990
991 ATOM resistance REFINES solver_var
992 DIMENSION M*L^2/(E^2*T^3)
993 DEFAULT 10.0{ohm};
994 lower_bound := -1e50{ohm};
995 upper_bound := 1e50{ohm};
996 nominal := 10.0{ohm};
997 END resistance;
998
999 ATOM conductance REFINES solver_var
1000 DIMENSION (E^2*T^3)/(M*L^2)
1001 DEFAULT 0.01{siemens};
1002 lower_bound := -1e50{siemens};
1003 upper_bound := 1e50{siemens};
1004 nominal := 0.01{siemens};
1005 END conductance;
1006
1007 ATOM current REFINES solver_var
1008 DIMENSION E
1009 DEFAULT 1.0{amp};
1010 lower_bound := -1e50{amp};
1011 upper_bound := 1e50{amp};
1012 nominal := 1.0{amp};
1013 END current;
1014
1015 ATOM capacitance REFINES solver_var
1016 DIMENSION E^2*T^4/M/L^2
1017 DEFAULT 1.0{coulomb/volt};
1018 lower_bound := -1e50{coulomb/volt};
1019 upper_bound := 1e50{coulomb/volt};
1020 nominal := 1.0{coulomb/volt};
1021 END capacitance;
1022
1023 ATOM inductance REFINES solver_var
1024 DIMENSION M*L^2/E^2/T^2
1025 DEFAULT 1.0{volt*s/amp};
1026 lower_bound := -1e50{volt*s/amp};
1027 upper_bound := 1e50{volt*s/amp};
1028 nominal := 1.0{volt*s/amp};
1029 END inductance;
1030
1031 ATOM magnetic_field REFINES solver_var
1032 DIMENSION E/L
1033 DEFAULT 1.0{amp/m};
1034 lower_bound := -1e50{amp/m};
1035 upper_bound := 1e50{amp/m};
1036 nominal := 1.0{amp/m};
1037 END magnetic_field;
1038
1039 ATOM electric_field REFINES solver_var
1040 DIMENSION M*L/E/T^3
1041 DEFAULT 1.0{volt/m};
1042 lower_bound := -1e50{volt/m};
1043 upper_bound := 1e50{volt/m};
1044 nominal := 1.0{volt/m};
1045 END electric_field;
1046
1047 ATOM electrical_conductivity REFINES solver_var
1048 DIMENSION E^2*T^3/M/L^3
1049 DEFAULT 1000 {S/m};
1050 lower_bound := 1e-50 {S/m};
1051 upper_bound := 1e50 {S/m};
1052 nominal := 1000 {S/m};
1053 END electrical_conductivity;
1054
1055 ATOM thermoelectric_power_factor REFINES solver_var
1056 DIMENSION M*L/T^3/TMP^2
1057 DEFAULT 10e-5 {W/m/K^2};
1058 lower_bound := 1e-50 {W/m/K^2};
1059 upper_bound := 1e50 {W/m/K^2};
1060 nominal := 10e-5 {W/m/K^2};
1061 END thermoelectric_power_factor;
1062
1063 ATOM seebeck_coefficient REFINES solver_var
1064 DIMENSION M*L^2/T^3/E/TMP
1065 DEFAULT 200 {micro*V/K};
1066 lower_bound := 1e-50 {micro*V/K};
1067 upper_bound := 1e50 {micro*V/K};
1068 nominal := 200 {micro*V/K};
1069 END seebeck_coefficient;
1070
1071
1072 (* D I F F E R E N T I A L Q U A N T I T I E S
1073 ------------------------------------------- *)
1074
1075 ATOM delta_distance REFINES solver_var
1076 DIMENSION L
1077 DEFAULT 10.0{ft};
1078 lower_bound := -1e50{ft};
1079 upper_bound := 1e50{ft};
1080 nominal := 10.0{ft};
1081 END delta_distance;
1082
1083 ATOM delta_area REFINES solver_var
1084 DIMENSION L^2
1085 DEFAULT 1{m^2};
1086 lower_bound := -1e50{m^2};
1087 upper_bound := 1e50{m^2};
1088 nominal := 1{m^2};
1089 END delta_area;
1090
1091 ATOM temperature_rate REFINES solver_var
1092 DIMENSION TMP/T
1093 DEFAULT 0{K/s};
1094 lower_bound := -100{K/s};
1095 upper_bound := 100{K/s};
1096 nominal := 298.0{K/s};
1097 END temperature_rate;
1098
1099 ATOM delta_mass REFINES solver_var
1100 DIMENSION M
1101 DEFAULT 0.0{kg};
1102 lower_bound := -1e50{kg};
1103 upper_bound := 1e50{kg};
1104 nominal := 10.0{kg};
1105 END delta_mass;
1106
1107 ATOM delta_mole REFINES solver_var
1108 DIMENSION Q
1109 DEFAULT 0{lb_mole};
1110 lower_bound := -1e50{lb_mole};
1111 upper_bound := 1e50{lb_mole};
1112 nominal := 10.0{lb_mole};
1113 END delta_mole;
1114
1115 ATOM delta_mass_rate REFINES solver_var
1116 DIMENSION M/T
1117 DEFAULT 0{g/s};
1118 lower_bound := -1e50{g/s};
1119 upper_bound := 1e50{g/s};
1120 nominal := 100.0{g/s};
1121 END delta_mass_rate;
1122
1123 ATOM delta_molar_rate REFINES solver_var
1124 DIMENSION Q/T
1125 DEFAULT 0.0{lb_mole/hour};
1126 lower_bound := -1e50{lb_mole/hour};
1127 upper_bound := 1e50{lb_mole/hour};
1128 nominal := 100.0{lb_mole/hour};
1129 END delta_molar_rate;
1130
1131 ATOM delta_volume_rate REFINES solver_var
1132 DIMENSION L^3/T
1133 DEFAULT 0.0{gpm};
1134 lower_bound := -1e50{gpm};
1135 upper_bound := 1e50{gpm};
1136 nominal := 100.0{gpm};
1137 END delta_volume_rate;
1138
1139 ATOM density_rate REFINES solver_var
1140 DIMENSION M/L^3/T
1141 DEFAULT 0.0 {kg/m^3/s};
1142 lower_bound := -1e50 {kg/m^3/s};
1143 upper_bound := 1e50 {kg/m^3/s};
1144 nominal := 0.1 {kg/m^3/s};
1145 END density_rate;
1146
1147 ATOM delta_energy_rate REFINES solver_var
1148 DIMENSION M*L^2/T^3
1149 DEFAULT 0.0{BTU/hour};
1150 lower_bound := -1e50{BTU/hour};
1151 upper_bound := 1e50{BTU/hour};
1152 nominal := 100000.0{BTU/hour};
1153 END delta_energy_rate;
1154
1155 ATOM delta_molar_energy_rate REFINES solver_var
1156 DIMENSION M*L^2/T^3/Q
1157 DEFAULT 0 {BTU/lb_mole/h};
1158 lower_bound := -1e50 {BTU/lb_mole/h};
1159 upper_bound := 1e50 {BTU/lb_mole/h};
1160 nominal := 10000.0 {BTU/lb_mole/h};
1161 END delta_molar_energy_rate;
1162
1163 ATOM delta_entropy REFINES solver_var
1164 DIMENSION M*L^2/T^2/TMP
1165 DEFAULT 0.0{BTU/R};
1166 lower_bound := -1e50{BTU/R};
1167 upper_bound := 1e50{BTU/R};
1168 nominal := 1000.0{BTU/R};
1169 END delta_entropy;
1170
1171 ATOM delta_entropy_rate REFINES solver_var
1172 DIMENSION M*L^2/T^3/TMP
1173 DEFAULT 0.0{BTU/hour/R};
1174 lower_bound := -1e50{BTU/hour/R};
1175 upper_bound := 1e50{BTU/hour/R};
1176 nominal := 1000.0{BTU/hour/R};
1177 END delta_entropy_rate;
1178
1179
1180 (* C O N T R O L L E R Q U A N T I T I E S
1181 ---------------------------------------- *)
1182
1183 ATOM mass_sec REFINES solver_var
1184 DIMENSION M*T
1185 DEFAULT 0.0{kg*s};
1186 lower_bound := -1e50{kg*s};
1187 upper_bound := 1e50{kg*s};
1188 nominal := 10.0{kg*s};
1189 END mass_sec;
1190
1191 ATOM mole_sec REFINES solver_var
1192 DIMENSION Q*T
1193 DEFAULT 0.0{lb_mole*s};
1194 lower_bound := -1e50{lb_mole*s};
1195 upper_bound := 1e50{lb_mole*s};
1196 nominal := 10.0{lb_mole*s};
1197 END mole_sec;
1198
1199 (* D I F F E R E N T I A L S *)
1200
1201 ATOM rate REFINES solver_var
1202 DIMENSION T^-1
1203 DEFAULT 0{s^-1};
1204 lower_bound := -1e50{s^-1};
1205 upper_bound := 1e50{s^-1};
1206 nominal := 1{s^-1};
1207 END rate;
1208
1209 (* M E C H A N I C AL P R O P E R T I E S
1210 ---------------------------------------- *)
1211
1212 ATOM deflection REFINES solver_var (* to facilitate different display units for small values *)
1213 DIMENSION L
1214 DEFAULT 1 {mm};
1215 lower_bound := -10{m};
1216 upper_bound := 10{m};
1217 nominal := 5{mm};
1218 END deflection;
1219
1220 ATOM second_moment_of_area REFINES solver_var (* for use in beam bending problems *)
1221 DIMENSION L^4
1222 DEFAULT 6.67e5 {mm^4}; (* for 150UB14 Universal Beam, AISC (Australia) *)
1223 lower_bound := 0 {mm^4};
1224 upper_bound := 10000e6 {mm^4};
1225 nominal := 1e6 {mm^4}; (* this may be too high still *)
1226 END second_moment_of_area;
1227
1228 ATOM polar_moment_of_inertia REFINES solver_var (* for use in torsion problems *)
1229 DIMENSION L^4
1230 DEFAULT 28.2e3 {mm^4}; (* for 150UB14 Universal Beam, AISC (Australia) *)
1231 lower_bound := 0 {mm^4};
1232 upper_bound := 10000e3 {mm^4};
1233 nominal := 100e3 {mm^4}; (* this may be too high still *)
1234 END polar_moment_of_inertia;
1235
1236 CONSTANT second_moment_of_area_constant
1237 REFINES real_constant DIMENSION L^4;
1238
1239 CONSTANT length_constant
1240 REFINES real_constant DIMENSION L;
1241
1242 CONSTANT area_constant
1243 REFINES real_constant DIMENSION L^2;
1244
1245 ATOM moment REFINES solver_var
1246 DIMENSION M*L^2/T^2
1247 DEFAULT 1 {kN*m};
1248 lower_bound := -1e5 {kN*m};
1249 upper_bound := 1e5 {kN*m};
1250 nominal := 1 {kN*m};
1251 END moment;
1252
1253 ATOM stress REFINES solver_var
1254 DIMENSION M/L/T^2
1255 DEFAULT 1.0 {MPa};
1256 lower_bound := -5000 {MPa};
1257 upper_bound := 5000 {MPa};
1258 nominal := 1.0 {MPa};
1259 END stress;

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