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

Contents of /trunk/models/atoms.a4l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 822 - (show annotations) (download) (as text)
Thu Aug 17 14:54:26 2006 UTC (13 years, 11 months ago) by johnpye
File MIME type: text/x-ascend
File size: 29528 byte(s)
Added a sun position and extraterrestrial radiation model using the equations from Duffie and Beckman.
When combined with the new data reader, this will start to be useful for 'real' solar energy problems.
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 pressure_per_length REFINES solver_var
427 DIMENSION M/L^2/T^2
428 DEFAULT 50 {Pa/m};
429 lower_bound := -10{bar/m};
430 upper_bound := +10{bar/m};
431 nominal := 50 {Pa/m};
432 END pressure_per_length;
433
434 (* M A S S / M O L E Q U A N T I T I E S
435 -------------------------------------- *)
436
437 ATOM molar_mass REFINES solver_var
438 DIMENSION M/Q
439 DEFAULT 100.0{g/g_mole};
440 lower_bound := 0.0{g/g_mole};
441 upper_bound := 1e9{g/g_mole};
442 nominal := 100.0{g/g_mole};
443 END molar_mass;
444
445 ATOM mass REFINES solver_var
446 DIMENSION M
447 DEFAULT 10.0{kg};
448 lower_bound := 0.0{kg};
449 upper_bound := 1e50{kg};
450 nominal := 10.0{kg};
451 END mass;
452
453 ATOM mole_scale REFINES real DIMENSION Q DEFAULT 1 {mole};
454 END mole_scale;
455
456 ATOM mole REFINES solver_var
457 DIMENSION Q
458 DEFAULT 10.0{lb_mole};
459 lower_bound := 0.0{lb_mole};
460 upper_bound := 1e50{lb_mole};
461 nominal := 10.0{lb_mole};
462 END mole;
463
464 ATOM mass_rate REFINES solver_var
465 DIMENSION M/T
466 DEFAULT 50{g/s};
467 lower_bound := 0.0{g/s};
468 upper_bound := 1e50{g/s};
469 nominal := 100.0{g/s};
470 END mass_rate;
471
472 ATOM mass_flux REFINES solver_var
473 DIMENSION M/T/L^2
474 DEFAULT 10{kg/s/m^2};
475 lower_bound := -1e12{kg/s/m^2};
476 upper_bound := 1e12{kg/s/m^2};
477 nominal := 10.0{kg/s/m^2};
478 END mass_flux;
479
480
481 ATOM mass_rate_rate REFINES solver_var
482 DIMENSION M/T^2
483 DEFAULT 10{g/s/s};
484 lower_bound := -1e50{g/s/s};
485 upper_bound := 1e50{g/s/s};
486 nominal := 10.0{g/s/s};
487 END mass_rate_rate;
488
489 ATOM mass_rate_per_length REFINES solver_var
490 DIMENSION M/T/L
491 DEFAULT 0.1 {kg/s/m};
492 lower_bound := -1e50 {kg/s/m};
493 upper_bound := 1e50 {kg/s/m};
494 nominal := 1.0 {kg/s/m};
495 END mass_rate_per_length;
496
497
498 ATOM molar_rate_scale REFINES real DIMENSION Q/T DEFAULT 1 {mole/second};
499 END molar_rate_scale;
500
501 ATOM molar_rate REFINES solver_var
502 DIMENSION Q/T
503 DEFAULT 100.0{lb_mole/hour};
504 lower_bound := 0.0{lb_mole/hour};
505 upper_bound := 1e50{lb_mole/hour};
506 nominal := 100.0{lb_mole/hour};
507 END molar_rate;
508
509 ATOM conc_rate REFINES solver_var
510 DIMENSION Q/L^3/T
511 DEFAULT 100.0{lb_mole/ft^3/hour};
512 lower_bound := 0.0{lb_mole/ft^3/hour};
513 upper_bound := 1e50{lb_mole/ft^3/hour};
514 nominal := 100.0{lb_mole/ft^3/hour};
515 END conc_rate;
516
517
518 ATOM mole_fraction REFINES fraction
519 DIMENSIONLESS
520 DEFAULT 0.5;
521 lower_bound := 0.0;
522 nominal := 0.3;
523 upper_bound := 1.0;
524 END mole_fraction;
525
526 ATOM mass_fraction REFINES fraction
527 DIMENSIONLESS
528 DEFAULT 0.5;
529 lower_bound := 0.0;
530 nominal := 0.3;
531 upper_bound := 1.0;
532 END mass_fraction;
533
534
535 (* V O L U M E Q U A N T I T I E S
536 -------------------------------- *)
537
538 ATOM molar_volume REFINES solver_var
539 DIMENSION L^3/Q
540 DEFAULT 1000.0{cm^3/g_mole};
541 lower_bound := 0.0{cm^3/g_mole};
542 upper_bound := 1e50{cm^3/g_mole};
543 nominal := 1000.0{cm^3/g_mole};
544 END molar_volume;
545
546 ATOM volume_scale REFINES real DIMENSION L^3 DEFAULT 1.0 {m^3};
547 END volume_scale;
548
549 ATOM volume REFINES solver_var
550 DIMENSION L^3
551 DEFAULT 100.0{ft^3};
552 lower_bound := 0.0{ft^3};
553 upper_bound := 1e50{ft^3};
554 nominal := 100.0{ft^3};
555 END volume;
556
557 ATOM volume_rate_scale REFINES real DIMENSION L^3/T DEFAULT 1{m^3/s};
558 END volume_rate_scale;
559
560 ATOM volume_rate REFINES solver_var
561 DIMENSION L^3/T
562 DEFAULT 100.0{gpm};
563 lower_bound := 0.0{gpm};
564 upper_bound := 1e50{gpm};
565 nominal := 100.0{gpm};
566 END volume_rate;
567
568 ATOM volume_rate_square REFINES solver_var
569 DIMENSION L^6/T^2
570 DEFAULT 100.0{ft^6/s^2};
571 lower_bound := 0.0{ft^6/s^2};
572 upper_bound := 1e50{ft^6/s^2};
573 nominal := 100 {ft^6/s^2};
574 END volume_rate_square;
575
576 ATOM volume_expansivity REFINES solver_var
577 DIMENSION 1/TMP
578 DEFAULT 0.001{1/K};
579 lower_bound := 0.0{1/K};
580 upper_bound := 1e50{1/K};
581 nominal := 0.001{1/K};
582 END volume_expansivity;
583
584
585 (* D E N S I T Y Q U A N T I T I E S
586 ---------------------------------- *)
587
588 ATOM molar_density REFINES solver_var
589 DIMENSION Q/L^3
590 DEFAULT 0.1{mole/m^3};
591 lower_bound := 0.0{mole/m^3};
592 upper_bound := 1e50{mole/m^3};
593 nominal := 0.1{mole/m^3};
594 END molar_density;
595
596 ATOM mass_density REFINES solver_var
597 DIMENSION M/L^3
598 DEFAULT 1.0{g/cm^3};
599 lower_bound := 0.0{g/cm^3};
600 upper_bound := 1e50{g/cm^3};
601 nominal := 1.0{g/cm^3};
602 END mass_density;
603
604
605 (* E N E R G Y Q U A N T I T I E S
606 ------------------------------------ *)
607
608 ATOM molar_energy REFINES solver_var
609 DIMENSION M*L^2/T^2/Q
610 DEFAULT 10000.0{BTU/lb_mole};
611 lower_bound := -1e50{BTU/lb_mole};
612 upper_bound := 1e50{BTU/lb_mole};
613 nominal := 10000.0{BTU/lb_mole};
614 END molar_energy;
615
616 ATOM energy_scale REFINES real DIMENSION M*L^2/T^2 DEFAULT 1{joule};
617 END energy_scale;
618
619 ATOM energy REFINES solver_var
620 DIMENSION M*L^2/T^2
621 DEFAULT 100000.0{BTU};
622 lower_bound := -1e50{BTU};
623 upper_bound := 1e50{BTU};
624 nominal := 100000.0{BTU};
625 END energy;
626
627 ATOM energy_rate_scale REFINES real DIMENSION M*L^2/T^3 DEFAULT 1{watt};
628 END energy_rate_scale;
629
630 ATOM energy_rate REFINES solver_var
631 DIMENSION M*L^2/T^3
632 DEFAULT 100000.0{BTU/hour};
633 lower_bound := -1e50{BTU/hour};
634 upper_bound := 1e50{BTU/hour};
635 nominal := 100000.0{BTU/hour};
636 END energy_rate;
637
638 ATOM power_per_length REFINES solver_var
639 DIMENSION M*L/T^3
640 DEFAULT 1.0{kW/m};
641 lower_bound := -1e50{kW/m};
642 upper_bound := 1e50{kW/m};
643 nominal := 1.0{kW/m};
644 END power_per_length;
645
646 ATOM irradiance REFINES solver_var
647 DIMENSION M/T^3
648 DEFAULT 1000{W/m^2};
649 lower_bound := 0{W/m^2};
650 upper_bound := 1.5{MW/m^2}; (* a bit more that the max possible from sunlight *)
651 nominal := 300{W/m^2};
652 END irradiance;
653
654 ATOM irradiation REFINES solver_var
655 DIMENSION M/T^2
656 DEFAULT 1000{J/m^2};
657 lower_bound := 0{J/m^2};
658 upper_bound := 1e50{J/m^2}; (* a bit more that the max possible from sunlight *)
659 nominal := 300{J/m^2};
660 END irradiation;
661
662
663 ATOM molar_heat_capacity REFINES solver_var
664 DIMENSION M*L^2/T^2/Q/TMP
665 DEFAULT 1.00e5{J/mole/K};
666 lower_bound := 0.0{J/mole/K};
667 upper_bound := 1e60{J/mole/K};
668 nominal := 1.00e5{J/mole/K};
669 END molar_heat_capacity;
670
671 ATOM molar_energy_rate REFINES solver_var
672 DIMENSION M*L^2/T^3/Q
673 DEFAULT 0 {BTU/lb_mole/h};
674 lower_bound := -1e50 {BTU/lb_mole/h};
675 upper_bound := 1e50 {BTU/lb_mole/h};
676 nominal := 10000.0 {BTU/lb_mole/h};
677 END molar_energy_rate;
678
679 (* E N T R O P Y Q U A N T I T I E S
680 ---------------------------------- *)
681
682 ATOM molar_entropy REFINES solver_var
683 DIMENSION M*L^2/T^2/Q/TMP
684 DEFAULT 100.0{BTU/lb_mole/R};
685 lower_bound := -1e50{BTU/lb_mole/R};
686 upper_bound := 1e50{BTU/lb_mole/R};
687 nominal := 100.0{BTU/lb_mole/R};
688 END molar_entropy;
689
690 ATOM entropy REFINES solver_var
691 DIMENSION M*L^2/T^2/TMP
692 DEFAULT 1000.0{BTU/R};
693 lower_bound := -1e50{BTU/R};
694 upper_bound := 1e50{BTU/R};
695 nominal := 1000.0{BTU/R};
696 END entropy;
697
698 ATOM entropy_rate REFINES solver_var
699 DIMENSION M*L^2/T^3/TMP
700 DEFAULT 1000.0{BTU/hour/R};
701 lower_bound := -1e50{BTU/hour/R};
702 upper_bound := 1e50{BTU/hour/R};
703 nominal := 1000.0{BTU/hour/R};
704 END entropy_rate;
705
706
707
708 (* E Q U I L I B R I U M Q U A N T I T I E S
709 ------------------------------------------ *)
710
711 ATOM partition_coefficient REFINES factor (* new *)
712 DEFAULT 1.0;
713 lower_bound := 1.0e-10;
714 upper_bound := 30.0;
715 nominal := 1.0;
716 END partition_coefficient;
717
718 ATOM relative_volatility REFINES partition_coefficient; (* new *)
719 END relative_volatility;
720
721
722 (* M O N E T A R Y Q U A N T I T I E S
723 ------------------------------------ *)
724
725 ATOM monetary_unit REFINES solver_var
726 DIMENSION C
727 DEFAULT 100.0{USD};
728 lower_bound := -1e50{USD};
729 upper_bound := 1e50{USD};
730 nominal := 100.0{USD};
731 END monetary_unit;
732
733 ATOM cost_per_volume REFINES solver_var
734 DIMENSION C/L^3
735 DEFAULT 1.0{USD/gallon};
736 lower_bound := 0.0{USD/gallon};
737 upper_bound := 1e50{USD/gallon};
738 nominal := 1.0{USD/gallon};
739 END cost_per_volume;
740
741 ATOM cost_per_mass REFINES solver_var
742 DIMENSION C/M
743 DEFAULT 1.0{USD/lbm};
744 lower_bound := 0.0{USD/lbm};
745 upper_bound := 1e50{USD/lbm};
746 nominal := 1.0{USD/lbm};
747 END cost_per_mass;
748
749 ATOM cost_per_mole REFINES solver_var
750 DIMENSION C/Q
751 DEFAULT 1.0{USD/lb_mole};
752 lower_bound := 0.0{USD/lb_mole};
753 upper_bound := 1e50{USD/lb_mole};
754 nominal := 1.0{USD/lb_mole};
755 END cost_per_mole;
756
757 ATOM cost_per_time REFINES solver_var
758 DIMENSION C/T
759 DEFAULT 1.0{USD/min};
760 lower_bound := 0.0{USD/min};
761 upper_bound := 1e50{USD/min};
762 nominal := 1.0{USD/min};
763 END cost_per_time;
764
765 ATOM cost_per_energy REFINES solver_var
766 DIMENSION C*T^2/M/L^2
767 DEFAULT 1.0{USD/BTU};
768 lower_bound := 0.0{USD/BTU};
769 upper_bound := 1e50{USD/BTU};
770 nominal := 1.0{USD/BTU};
771 END cost_per_energy;
772
773
774 (* S U R V E Y I N G Q U A N T I T I E S
775 --------------------------------------- *)
776
777 ATOM distance REFINES solver_var
778 DIMENSION L
779 DEFAULT 10.0{ft};
780 lower_bound := 0.0{ft};
781 upper_bound := 1e50{ft};
782 nominal := 10.0{ft};
783 END distance;
784
785 ATOM area REFINES solver_var
786 DIMENSION L^2
787 DEFAULT 10.0{ft^2};
788 lower_bound := 0.0{ft^2};
789 upper_bound := 1e50{ft^2};
790 nominal := 10.0{ft^2};
791 END area;
792
793 ATOM inverse_area REFINES solver_var
794 DIMENSION L^-2
795 DEFAULT 1{1/ft^2};
796 lower_bound := 0.0{1/ft^2};
797 upper_bound := 1e50{1/ft^2};
798 nominal := 1.0{1/ft^2};
799 END inverse_area;
800
801 ATOM angle REFINES solver_var
802 DIMENSION P
803 DEFAULT 1 {rad};
804 lower_bound := -1e50 {rad};
805 upper_bound := 1e50 {rad};
806 nominal := 1 {rad};
807 END angle;
808
809 ATOM solid_angle REFINES solver_var
810 DIMENSION S
811 DEFAULT 1 {srad};
812 lower_bound := -1e50 {srad};
813 upper_bound := 1e50 {srad};
814 nominal := 1 {srad};
815 END solid_angle;
816
817 (* M O T I O N Q U A N T I T I E S
818 --------------------------------- *)
819
820 ATOM time REFINES solver_var
821 DIMENSION T
822 DEFAULT 60.0{s};
823 lower_bound := -1e50{s};
824 upper_bound := 1e50{s};
825 nominal := 60.0{s};
826 END time;
827
828 ATOM speed REFINES solver_var
829 DIMENSION L/T
830 DEFAULT 3.0{ft/s};
831 lower_bound := -1e50{m/s};
832 upper_bound := 1e50{m/s};
833 nominal := 1.0{m/s};
834 END speed;
835
836 ATOM acceleration REFINES solver_var
837 DIMENSION L/T^2
838 DEFAULT 9.8{m/s^2};
839 lower_bound := -1e50{m/s^2};
840 upper_bound := 1e50{m/s^2};
841 nominal := 9.8{m/s^2};
842 END acceleration;
843
844 ATOM frequency REFINES solver_var
845 DIMENSION 1/T
846 DEFAULT 60.0{1/s};
847 lower_bound := 0.0{1/s};
848 upper_bound := 1e50{1/s};
849 nominal := 60.0{1/s};
850 END frequency;
851
852 ATOM stiffness REFINES solver_var
853 DIMENSION M/T^2
854 DEFAULT 1 {N/m};
855 lower_bound := 0 {N/m};
856 upper_bound := 1e12 {N/m};
857 nominal := 1 {N/m};
858 END stiffness;
859
860
861
862 (* T R A N S P O R T Q U A N T I T I E S
863 --------------------------------------- *)
864
865 ATOM viscosity REFINES solver_var
866 DIMENSION M/L/T
867 DEFAULT 1.0{cP};
868 lower_bound := 0.0{cP};
869 upper_bound := 1e50{cP};
870 nominal := 1.0{cP};
871 END viscosity;
872
873 ATOM thermal_conductivity REFINES solver_var
874 DIMENSION M*L/T^3/TMP
875 DEFAULT 0.1{BTU/hour/ft/R};
876 lower_bound := 0.0{BTU/hour/ft/R};
877 upper_bound := 1e50{BTU/hour/ft/R};
878 nominal := 0.1{BTU/hour/ft/R};
879 END thermal_conductivity;
880
881 ATOM diffusivity REFINES solver_var
882 DIMENSION L^2/T
883 DEFAULT 1.0{cm^2/s};
884 lower_bound := 0.0{cm^2/s};
885 upper_bound := 1e50{cm^2/s};
886 nominal := 1.0{cm^2/s};
887 END diffusivity;
888
889
890 (* 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
891 ---------------------------------------------------- *)
892
893 ATOM voltage REFINES solver_var
894 DIMENSION M*L^2/(T^3*E)
895 DEFAULT 10.0{volt};
896 lower_bound := -1e50{volt};
897 upper_bound := 1e50{volt};
898 nominal := 10.0{volt};
899 END voltage;
900
901 ATOM resistance REFINES solver_var
902 DIMENSION M*L^2/(E^2*T^3)
903 DEFAULT 10.0{ohm};
904 lower_bound := -1e50{ohm};
905 upper_bound := 1e50{ohm};
906 nominal := 10.0{ohm};
907 END resistance;
908
909 ATOM current REFINES solver_var
910 DIMENSION E
911 DEFAULT 1.0{amp};
912 lower_bound := -1e50{amp};
913 upper_bound := 1e50{amp};
914 nominal := 1.0{amp};
915 END current;
916
917 ATOM capacitance REFINES solver_var
918 DIMENSION E^2*T^4/M/L^2
919 DEFAULT 1.0{coulomb/volt};
920 lower_bound := -1e50{coulomb/volt};
921 upper_bound := 1e50{coulomb/volt};
922 nominal := 1.0{coulomb/volt};
923 END capacitance;
924
925 ATOM inductance REFINES solver_var
926 DIMENSION M*L^2/E^2/T^2
927 DEFAULT 1.0{volt*s/amp};
928 lower_bound := -1e50{volt*s/amp};
929 upper_bound := 1e50{volt*s/amp};
930 nominal := 1.0{volt*s/amp};
931 END inductance;
932
933 ATOM magnetic_field REFINES solver_var
934 DIMENSION E/L
935 DEFAULT 1.0{amp/m};
936 lower_bound := -1e50{amp/m};
937 upper_bound := 1e50{amp/m};
938 nominal := 1.0{amp/m};
939 END magnetic_field;
940
941 ATOM electric_field REFINES solver_var
942 DIMENSION M*L/E/T^3
943 DEFAULT 1.0{volt/m};
944 lower_bound := -1e50{volt/m};
945 upper_bound := 1e50{volt/m};
946 nominal := 1.0{volt/m};
947 END electric_field;
948
949 (* D I F F E R E N T I A L Q U A N T I T I E S
950 ------------------------------------------- *)
951
952 ATOM delta_distance REFINES solver_var
953 DIMENSION L
954 DEFAULT 10.0{ft};
955 lower_bound := -1e50{ft};
956 upper_bound := 1e50{ft};
957 nominal := 10.0{ft};
958 END delta_distance;
959
960 ATOM temperature_rate REFINES solver_var
961 DIMENSION TMP/T
962 DEFAULT 0{K/s};
963 lower_bound := -100{K/s};
964 upper_bound := 100{K/s};
965 nominal := 298.0{K/s};
966 END temperature_rate;
967
968 ATOM delta_mass REFINES solver_var
969 DIMENSION M
970 DEFAULT 0.0{kg};
971 lower_bound := -1e50{kg};
972 upper_bound := 1e50{kg};
973 nominal := 10.0{kg};
974 END delta_mass;
975
976 ATOM delta_mole REFINES solver_var
977 DIMENSION Q
978 DEFAULT 0{lb_mole};
979 lower_bound := -1e50{lb_mole};
980 upper_bound := 1e50{lb_mole};
981 nominal := 10.0{lb_mole};
982 END delta_mole;
983
984 ATOM delta_mass_rate REFINES solver_var
985 DIMENSION M/T
986 DEFAULT 0{g/s};
987 lower_bound := -1e50{g/s};
988 upper_bound := 1e50{g/s};
989 nominal := 100.0{g/s};
990 END delta_mass_rate;
991
992 ATOM delta_molar_rate REFINES solver_var
993 DIMENSION Q/T
994 DEFAULT 0.0{lb_mole/hour};
995 lower_bound := -1e50{lb_mole/hour};
996 upper_bound := 1e50{lb_mole/hour};
997 nominal := 100.0{lb_mole/hour};
998 END delta_molar_rate;
999
1000 ATOM delta_volume_rate REFINES solver_var
1001 DIMENSION L^3/T
1002 DEFAULT 0.0{gpm};
1003 lower_bound := -1e50{gpm};
1004 upper_bound := 1e50{gpm};
1005 nominal := 100.0{gpm};
1006 END delta_volume_rate;
1007
1008 ATOM density_rate REFINES solver_var
1009 DIMENSION M/L^3/T
1010 DEFAULT 0.0 {kg/m^3/s};
1011 lower_bound := -1e50 {kg/m^3/s};
1012 upper_bound := 1e50 {kg/m^3/s};
1013 nominal := 0.1 {kg/m^3/s};
1014 END density_rate;
1015
1016 ATOM delta_energy_rate REFINES solver_var
1017 DIMENSION M*L^2/T^3
1018 DEFAULT 0.0{BTU/hour};
1019 lower_bound := -1e50{BTU/hour};
1020 upper_bound := 1e50{BTU/hour};
1021 nominal := 100000.0{BTU/hour};
1022 END delta_energy_rate;
1023
1024 ATOM delta_molar_energy_rate REFINES solver_var
1025 DIMENSION M*L^2/T^3/Q
1026 DEFAULT 0 {BTU/lb_mole/h};
1027 lower_bound := -1e50 {BTU/lb_mole/h};
1028 upper_bound := 1e50 {BTU/lb_mole/h};
1029 nominal := 10000.0 {BTU/lb_mole/h};
1030 END delta_molar_energy_rate;
1031
1032 ATOM delta_entropy_rate REFINES solver_var
1033 DIMENSION M*L^2/T^3/TMP
1034 DEFAULT 0.0{BTU/hour/R};
1035 lower_bound := -1e50{BTU/hour/R};
1036 upper_bound := 1e50{BTU/hour/R};
1037 nominal := 1000.0{BTU/hour/R};
1038 END delta_entropy_rate;
1039
1040
1041 (* C O N T R O L L E R Q U A N T I T I E S
1042 ---------------------------------------- *)
1043
1044 ATOM mass_sec REFINES solver_var
1045 DIMENSION M*T
1046 DEFAULT 0.0{kg*s};
1047 lower_bound := -1e50{kg*s};
1048 upper_bound := 1e50{kg*s};
1049 nominal := 10.0{kg*s};
1050 END mass_sec;
1051
1052 ATOM mole_sec REFINES solver_var
1053 DIMENSION Q*T
1054 DEFAULT 0.0{lb_mole*s};
1055 lower_bound := -1e50{lb_mole*s};
1056 upper_bound := 1e50{lb_mole*s};
1057 nominal := 10.0{lb_mole*s};
1058 END mole_sec;

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