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

Annotation of /trunk/models/measures.a4l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 822 - (hide annotations) (download) (as text)
Thu Aug 17 14:54:26 2006 UTC (17 years, 11 months ago) by johnpye
File MIME type: text/x-ascend
File size: 10962 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 aw0a 1 PROVIDE "measures.a4l";
2    
3     (*
4     * measures.a4l
5     * by Tom Epperly and Ben Allan
6     * Part of the ASCEND Library
7     * $Date: 1998/08/17 13:07:04 $
8     * $Revision: 1.5 $
9     * $Author: ballan $
10     * $Source: /afs/cs.cmu.edu/project/ascend/Repository/models/measures.a4l,v $
11     *
12     * This file is part of the ASCEND Modeling Library.
13     *
14     * This provides common unit definitions. The user may write additional
15     * files of unit definitions particular to their problem or site.
16     *
17     * Copyright (C) 1997 Carnegie Mellon University.
18     *
19     * The ASCEND Modeling Library is free software; you can redistribute
20     * it and/or modify it under the terms of the GNU General Public
21     * License as published by the Free Software Foundation; either
22     * version 2 of the License, or (at your option) any later version.
23     *
24     * The ASCEND Modeling Library is distributed in hope that it will be
25     * useful, but WITHOUT ANY WARRANTY; without even the implied
26     * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
27     * See the GNU General Public License for more details.
28     *
29     * You should have received a copy of the GNU General Public License
30     * along with the program; if not, write to the Free Software
31     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check
32     * the file named COPYING.
33     *)
34    
35     (*
36     * Units input file
37     * by Tom Epperly
38     * Copyright(C) 1990 Thomas Guthrie Epperly
39     * Copyright(C) 1994-1997 Carnegie Mellon University
40     *
41     * This is a file defining the conversion factors ASCEND will recognize when
42     * it sees them as {units). Note that the assignment x:= 0.5 {100};; yields
43     * x == 50, and that there are no 'offset conversions,' e.g. F=9/5C+32;
44     * Added money which isn't really time 3-94 BAA
45     * Expanded, including some of Karl's units, constants. 4-94 BAA
46     * Updated with supplementary SI dimensions and less ambiguous mole dim. jz/baa
47     *
48     * Please keep unit names to 20 characters or less as this makes life pretty.
49     * This is not a hard limit however.
50     *
51     * The root system units in SI MKS system are set in the C code to:
52     * unitname DIMENSION
53     * define kilogram M; internal mass unit SI
54     * define mole Q; internal quantity unit SI
55     * define second T; internal time unit SI
56     * define meter L; internal length unit SI
57     * define Kelvin TMP; internal temperature unit SI
58     * define currency C; internal currency unit
59     * define ampere E; internal electric current unit SI suggested
60     * define candela LUM; internal luminous intensity unit SI
61     * define radian P; internal plane angle unit SI suggested
62     * define steradian S; internal solid angle unit SI suggested
63     *)
64    
65     UNITS
66    
67     (* distance *)
68    
69     pc = {3.08374e+16*meter};
70     parsec = {pc};
71     kpc = {1000*pc};
72     Mpc = {1e6*pc};
73     km = {meter*1000};
74     m = {meter};
75     dm = {meter/10};
76     cm = {meter/100};
77     mm = {meter/1000};
78     um = {meter/1000000};
79     nm = {1.e-9*meter};
80     kilometer = {km};
81     centimeter = {cm};
82     millimeter = {mm};
83     micron = {um};
84     nanometer = {nm};
85     angstrom = {m/1e10};
86     fermi = {m/1e15};
87    
88     mi = {1609.344*meter};
89     yd = {0.914412*meter};
90     ft = {0.304804*meter};
91     inch = {0.0254*meter};
92     mile = {mi};
93     yard = {yd};
94     feet = {ft};
95     foot = {ft};
96     in = {inch};
97    
98     (* mass *)
99    
100     kg = {kilogram};
101     g = {kilogram/1000};
102     gram = {g};
103     mg = {g/1000};
104     milligram = {mg};
105     ug= {kilogram*1e-9};
106     microgram= {ug};
107     ng= {kilogram*1e-12};
108     nanogram= {ng};
109     pg= {kilogram*1e-15};
110     picogram= {pg};
111    
112 johnpye 165 tonne = {kilogram *1000}; (* reference on tonne: http://physics.nist.gov/Pubs/SP811/appenB8.html *)
113     t = {tonne};
114     kilotonne = {tonne*1000};
115     kt = {kilotonne};
116     megatonne = {tonne*1e6};
117     Mt = {megatonne};
118     gigatonne = {tonne*1e9};
119     Gt = {gigatonne};
120    
121 aw0a 1 amu = {1.661e-27*kilogram};
122     lbm = {4.535924e-1*kilogram};
123     ton = {lbm*2000};
124     oz = {0.028349525*kilogram};
125     slug = {14.5939*kilogram};
126    
127     (* time *)
128    
129     yr = {31557600*second};
130     wk = {604800*second};
131 johnpye 821 d = {86400*second};
132     h = {3600*second};
133 aw0a 1 min = {60*second};
134     sec = {second};
135     s = {second};
136     ms = {second/1000};
137     us = {second/1e6};
138     ns = {second/1e9};
139     ps = {second/1e12};
140     year = {yr};
141     week = {wk};
142 johnpye 821 day = {d};
143     hour = {h};
144 johnpye 822 hr={h};
145 aw0a 1 minute = {min};
146     millisecond = {ms};
147     microsecond = {us};
148     nanosecond = {ns};
149     picosecond = {ps};
150    
151     (* molecular quantities *)
152    
153     kg_mole= {1000*mole};
154     g_mole = {mole};
155     gm_mole = {mole};
156     kmol = {1000*mole};
157     mol = {mole};
158     mmol = {mole/1000};
159     millimole= {mmol};
160     umol = {mole/1e6};
161     micromole= {umol};
162     lb_mole = {4.535924e+2*mole};
163    
164     (* temperature *)
165    
166     K = {Kelvin};
167     R = {5*Kelvin/9};
168     Rankine = {R};
169    
170     (* money *)
171    
172 johnpye 110 (* PLEASE USE ISO 4127 CURRENCY CODES FOR ALL MONEY UNITS *)
173 johnpye 109 USD = {currency};
174 aw0a 1 CR = {currency};
175     credits= {currency};
176 aw0a 229 (* the following two are historic and should not be used in future *)
177     USdollar = {currency};
178     US = {currency};
179 aw0a 1
180     (* reciprocal time (frequency) *)
181    
182     rev = {1.0};
183     cycle = {rev};
184     rpm = {rev/minute};
185     rps = {rev/second};
186     hertz = {cycle/second};
187     Hz = {hertz};
188    
189     (* area *)
190    
191     ha = {meter^2*10000};
192     hectare= {ha};
193     acre= {meter^2*4046.856};
194    
195     (* volume *)
196    
197 johnpye 63 L = {meter^3/1000};
198 aw0a 178 l = {L};
199 johnpye 63 litre = {L};
200     liter = {L};
201     mL = {L/1000};
202     ml = {L/1000};
203     ul = {L/1e6};
204     uL = {L/1e6};
205 aw0a 1 milliliter = {ml};
206 johnpye 63 millilitre = {mL};
207 aw0a 1 microliter = {ul};
208 johnpye 63 microlitre = {uL};
209 aw0a 1
210     hogshead= {2.384809e-1*meter^3};
211     cuft = {0.02831698*meter^3};
212     impgal = {4.52837e-3*meter^3};
213     gal = {3.785412e-3*meter^3};
214     barrel = {42.0*gal};
215     gallon = {gal};
216     quart = {gal/4};
217     pint = {gal/8};
218     cup = {gal/16};
219     floz = {gal/128};
220    
221     (* force *)
222    
223     N = {kilogram*meter/second^2};
224     newton = {N};
225     dyne = {N*1.0e-5};
226     EN = {1e18*N};
227     PN = {1e15*N};
228     TN = {1e12*N};
229     GN = {1e9*N};
230     MN = {1e6*N};
231     kN = {1000*N};
232     mN= {N*1e-3};
233     uN= {N*1e-6};
234     nN= {N*1e-9};
235     pN= {N*1e-12};
236     fN= {N*1e-15};
237     aN= {N*1e-18};
238     milliNewton= {mN};
239     microNewton= {uN};
240     nanoNewton= {nN};
241     picoNewton= {pN};
242     femtoNewton= {fN};
243     attoNewton= {aN};
244    
245     lbf = {N*4.448221};
246    
247     (* pressure *)
248    
249     Pa = {kilogram/meter/second^2};
250     MPa = {1.0e+6*Pa};
251     bar = {1.0e+5*Pa};
252     kPa = {1000*Pa};
253     pascal = {Pa};
254    
255     atm = {Pa*101325.0};
256     mmHg = {133.322*Pa};
257     torr = {133.322*Pa};
258     psia = {6894.733*Pa};
259     psi = {psia};
260     ftH2O = {2989*Pa};
261    
262     (* energy *)
263    
264     J = {kilogram*meter^2/second^2};
265     joule = {J};
266     MJ = {J * 1000000};
267     kJ = {J * 1000};
268     mJ= {J*1.0e-3};
269     uJ= {J*1.0e-6};
270     nJ= {J*1.0e-9};
271     milliJoule= {mJ};
272     microJoule= {uJ};
273     nanoJoule= {nJ};
274     erg = {J*1.0e-7};
275    
276     BTU = {1055.056*J};
277     pCu = {BTU * 1.8};
278     cal = {J*4.18393};
279     calorie = {cal};
280     kcal= {1000*calorie};
281     Cal= {1000*calorie};
282    
283     (* power *)
284    
285     W = {J/second};
286     EW = {1.0e+18*W};
287     PW = {1.0e+15*W};
288     TW = {1.0e+12*W};
289     GW = {1.0e+9*W};
290     MW = {1.0e+6*W};
291     kW = {1000*W};
292     mW = {W/1e3};
293     uW = {W/1e6};
294     nW = {W/1e9};
295     pW = {W/1e12};
296     fW = {W/1e15};
297     aW = {W/1e18};
298     terawatt = {TW};
299     gigawatt = {GW};
300     megawatt = {MW};
301     kilowatt = {kW};
302     watt = {W};
303     milliwatt = {mW};
304     microwatt = {uW};
305     nanowatt = {nW};
306     picowatt = {pW};
307     femtowatt = {fW};
308     attowatt = {aW};
309     aWW= {1*EW}; (* we could say art has a lot of power *)
310    
311     hp= {7.456998e+2*W};
312    
313     (* absolute viscosity *)
314    
315     poise = {Pa*s/10};
316     cP = {poise/100};
317    
318     (* electric charge *)
319    
320     coulomb= {ampere*second};
321     C = {coulomb};
322     coul = {coulomb};
323     mC = {0.001*C};
324     uC = {1e-6*C};
325     nC = {1e-9*C};
326     pC = {1e-12*C};
327    
328     (* misc electro-magnetic fun *)
329    
330     V = {kilogram*meter^2/second^3/ampere};
331     F = {ampere^2*second^4/kilogram/meter^2};
332     ohm = {kilogram*meter^2/second^3/ampere^2};
333     mho = {ampere^2*second^3/kilogram/meter^2};
334     S = {mho};
335     siemens = {S};
336     A= {ampere};
337     amp = {ampere};
338     volt = {V};
339     farad= {F};
340     mA= {A/1000};
341     uA= {A/1000000};
342     kV= {1000*V};
343     MV= {1e6*V};
344     mV= {V/1000};
345     mF = {0.001*F};
346     uF = {1e-6*F};
347     nF = {1e-9*F};
348     pF = {1e-12*F};
349     kohm = {1000*ohm};
350     Mohm = {1e6*ohm};
351     kS = {1000*S};
352     mS = {0.001*S};
353     uS = {1e-6*S};
354     Wb = {V*second};
355     weber = {Wb};
356     tesla = {Wb/m^2};
357     gauss = {1e-4*tesla};
358     H = {Wb/A};
359     henry = {H};
360     mH = {0.001*H};
361     uH = {1e-6*H};
362    
363     (*
364     * numeric constants of some interest
365     * to set a variable or constant to these, the code is (in the declarations)
366     * ATOM constant REFINES real; END constant;
367     * MODEL gizmo;
368     * x IS_A constant;
369     * x := 1 {PI};
370     * ...
371     *)
372     molecule = {1.0};
373 johnpye 373 PI= {3.1415926535897932385}; (* Circumference/Diameter ratio *)
374     EULER_C = {0.57721566490153286}; (* euler gamma *)
375     GOLDEN_C = {1.618033988749894}; (* golden ratio *)
376     HBAR = {1.055e-34*J*second}; (* Reduced planck's constant *)
377     PLANCK_C = {2*PI*HBAR}; (* Planck's constant *)
378     LIGHT_C = {2.99793e8 * meter/second}; (* Speed of light in vacuum *)
379     MU0 = {4e-7*PI*kg*m/C/C}; (* Permeability of free space *)
380     EPSILON0 = {1/LIGHT_C/LIGHT_C/MU0}; (* Permittivity of free space *)
381     BOLTZMAN_C = {1.3805e-23 * J/K}; (* Boltzman's constant *)
382 johnpye 383 SIGMA_C = {5.670e-8 * W/m^2/K^4 }; (* Stefan-Boltzmann constant
383 johnpye 373 - blackbody radiation *)
384     AVOGADRO_C = {6.022045e23 *molecule/mole};(* Avogadro's number of molecules *)
385     GRAVITY_C = {6.673e-11 * N*m*m/kg/kg}; (* Newtons gravitational constant *)
386     GAS_C = {BOLTZMAN_C*AVOGADRO_C}; (* Gas constant *)
387     INFINITY= {1.0e38}; (* damn big number *)
388     LIM_EXP= {709.78}; (* ln ( maxdouble ) *)
389     LIM_CUBE= {5.6438030941223618e101}; (* cbrt ( maxdouble ) *)
390     LIM_SQR= {1.0e154}; (* sqrt(maxdouble) *)
391 johnpye 344
392     (* The following were swiped from C <math.h> *)
393 aw0a 1 M_E= {2.7182818284590452354E0}; (* base e *)
394     M_LOG2E= {1.4426950408889634074E0}; (* log2(e) *)
395     M_LOG10E= {4.3429448190325182765E-1}; (* log10(e) *)
396     M_LN2= {6.9314718055994530942E-1}; (* ln(2) *)
397     M_LN10= {2.3025850929940456840E0}; (* ln(10) *)
398     M_PI= {3.1415926535897932385E0}; (* as PI, but for consistency *)
399     M_PI_2= {1.5707963267948966192E0}; (* PI/2 *)
400     M_PI_4= {7.8539816339744830962E-1}; (* PI/4 *)
401     M_1_PI= {3.1830988618379067154E-1}; (* 1/PI *)
402     M_2_PI= {6.3661977236758134308E-1}; (* 2/PI *)
403 johnpye 344 M_2_SQRTPI= {1.1283791670955125739E0}; (* 2/sqrt(PI) *)
404 aw0a 1 M_SQRT2= {1.4142135623730950488E0}; (* sqrt(2) *)
405     M_SQRT1_2= {7.0710678118654752440E-1}; (* 1/sqrt(2) *)
406    
407     eCHARGE = {1.602e-19*C}; (* Charge of an electron *)
408     EARTH_G = {9.80665 * m/s/s}; (* Earth's gravitational field, somewhere *)
409     eMASS = {9.1095e-31*kilogram}; (* Electron rest mass, I suppose *)
410     pMASS = {1.67265e-27*kilogram}; (* Proton mass *)
411    
412     (* constant based conversions *)
413    
414     eV = {eCHARGE * V};
415     keV = {1000*eV};
416     MeV = {1e6*eV};
417     GeV = {1e9*eV};
418     TeV = {1e12*eV};
419     PeV = {1e15*eV};
420     EeV = {1e18*eV};
421    
422     lyr = {LIGHT_C * yr}; (* Light-year *)
423    
424     oersted = {gauss/MU0};
425    
426     (* subtly dimensionless measures *)
427    
428     rad = {radian};
429     srad = {steradian};
430     deg = {radian*1.74532925199433e-2};
431     degrees = {deg};
432     grad = {0.9*deg};
433     arcmin = {degrees/60.0};
434     arcsec = {arcmin/60.0};
435    
436     (* light quantities *)
437    
438     cd = {candela};
439     lm = {candela*steradian};
440     lumen = {lm};
441     lx = {lm/meter^2};
442     lux= {lx};
443    
444     (* misc rates *)
445    
446     gpm = {gallon/minute};
447    
448     (* time variant conversions *)
449    
450 johnpye 821 MINIMUMWAGE = {5.15*USD/h}; (* Dec 2005, see http://www.dol.gov/ *)
451 aw0a 1 (*
452     * conversions we'd like to see , but probably won't
453     * milliHelen = {beauty/ship};
454     * Helen = {documentation/project};
455     *)
456     END UNITS;

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