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

Annotation of /trunk/models/measures.a4l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 229 - (hide annotations) (download) (as text)
Sat Jan 28 16:29:08 2006 UTC (18 years, 4 months ago) by aw0a
File MIME type: text/x-ascend
File size: 10817 byte(s)
committed files that add ASCEND mode to the emacs editor
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     dy = {86400*second};
132     hr = {3600*second};
133     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     day = {dy};
143     hour = {hr};
144     minute = {min};
145     millisecond = {ms};
146     microsecond = {us};
147     nanosecond = {ns};
148     picosecond = {ps};
149    
150     (* molecular quantities *)
151    
152     kg_mole= {1000*mole};
153     g_mole = {mole};
154     gm_mole = {mole};
155     kmol = {1000*mole};
156     mol = {mole};
157     mmol = {mole/1000};
158     millimole= {mmol};
159     umol = {mole/1e6};
160     micromole= {umol};
161     lb_mole = {4.535924e+2*mole};
162    
163     (* temperature *)
164    
165     K = {Kelvin};
166     R = {5*Kelvin/9};
167     Rankine = {R};
168    
169     (* money *)
170    
171 johnpye 110 (* PLEASE USE ISO 4127 CURRENCY CODES FOR ALL MONEY UNITS *)
172 johnpye 109 USD = {currency};
173 aw0a 1 CR = {currency};
174     credits= {currency};
175 aw0a 229 (* the following two are historic and should not be used in future *)
176     USdollar = {currency};
177     US = {currency};
178 aw0a 1
179     (* reciprocal time (frequency) *)
180    
181     rev = {1.0};
182     cycle = {rev};
183     rpm = {rev/minute};
184     rps = {rev/second};
185     hertz = {cycle/second};
186     Hz = {hertz};
187    
188     (* area *)
189    
190     ha = {meter^2*10000};
191     hectare= {ha};
192     acre= {meter^2*4046.856};
193    
194     (* volume *)
195    
196 johnpye 63 L = {meter^3/1000};
197 aw0a 178 l = {L};
198 johnpye 63 litre = {L};
199     liter = {L};
200     mL = {L/1000};
201     ml = {L/1000};
202     ul = {L/1e6};
203     uL = {L/1e6};
204 aw0a 1 milliliter = {ml};
205 johnpye 63 millilitre = {mL};
206 aw0a 1 microliter = {ul};
207 johnpye 63 microlitre = {uL};
208 aw0a 1
209     hogshead= {2.384809e-1*meter^3};
210     cuft = {0.02831698*meter^3};
211     impgal = {4.52837e-3*meter^3};
212     gal = {3.785412e-3*meter^3};
213     barrel = {42.0*gal};
214     gallon = {gal};
215     quart = {gal/4};
216     pint = {gal/8};
217     cup = {gal/16};
218     floz = {gal/128};
219    
220     (* force *)
221    
222     N = {kilogram*meter/second^2};
223     newton = {N};
224     dyne = {N*1.0e-5};
225     EN = {1e18*N};
226     PN = {1e15*N};
227     TN = {1e12*N};
228     GN = {1e9*N};
229     MN = {1e6*N};
230     kN = {1000*N};
231     mN= {N*1e-3};
232     uN= {N*1e-6};
233     nN= {N*1e-9};
234     pN= {N*1e-12};
235     fN= {N*1e-15};
236     aN= {N*1e-18};
237     milliNewton= {mN};
238     microNewton= {uN};
239     nanoNewton= {nN};
240     picoNewton= {pN};
241     femtoNewton= {fN};
242     attoNewton= {aN};
243    
244     lbf = {N*4.448221};
245    
246     (* pressure *)
247    
248     Pa = {kilogram/meter/second^2};
249     MPa = {1.0e+6*Pa};
250     bar = {1.0e+5*Pa};
251     kPa = {1000*Pa};
252     pascal = {Pa};
253    
254     atm = {Pa*101325.0};
255     mmHg = {133.322*Pa};
256     torr = {133.322*Pa};
257     psia = {6894.733*Pa};
258     psi = {psia};
259     ftH2O = {2989*Pa};
260    
261     (* energy *)
262    
263     J = {kilogram*meter^2/second^2};
264     joule = {J};
265     MJ = {J * 1000000};
266     kJ = {J * 1000};
267     mJ= {J*1.0e-3};
268     uJ= {J*1.0e-6};
269     nJ= {J*1.0e-9};
270     milliJoule= {mJ};
271     microJoule= {uJ};
272     nanoJoule= {nJ};
273     erg = {J*1.0e-7};
274    
275     BTU = {1055.056*J};
276     pCu = {BTU * 1.8};
277     cal = {J*4.18393};
278     calorie = {cal};
279     kcal= {1000*calorie};
280     Cal= {1000*calorie};
281    
282     (* power *)
283    
284     W = {J/second};
285     EW = {1.0e+18*W};
286     PW = {1.0e+15*W};
287     TW = {1.0e+12*W};
288     GW = {1.0e+9*W};
289     MW = {1.0e+6*W};
290     kW = {1000*W};
291     mW = {W/1e3};
292     uW = {W/1e6};
293     nW = {W/1e9};
294     pW = {W/1e12};
295     fW = {W/1e15};
296     aW = {W/1e18};
297     terawatt = {TW};
298     gigawatt = {GW};
299     megawatt = {MW};
300     kilowatt = {kW};
301     watt = {W};
302     milliwatt = {mW};
303     microwatt = {uW};
304     nanowatt = {nW};
305     picowatt = {pW};
306     femtowatt = {fW};
307     attowatt = {aW};
308     aWW= {1*EW}; (* we could say art has a lot of power *)
309    
310     hp= {7.456998e+2*W};
311    
312     (* absolute viscosity *)
313    
314     poise = {Pa*s/10};
315     cP = {poise/100};
316    
317     (* electric charge *)
318    
319     coulomb= {ampere*second};
320     C = {coulomb};
321     coul = {coulomb};
322     mC = {0.001*C};
323     uC = {1e-6*C};
324     nC = {1e-9*C};
325     pC = {1e-12*C};
326    
327     (* misc electro-magnetic fun *)
328    
329     V = {kilogram*meter^2/second^3/ampere};
330     F = {ampere^2*second^4/kilogram/meter^2};
331     ohm = {kilogram*meter^2/second^3/ampere^2};
332     mho = {ampere^2*second^3/kilogram/meter^2};
333     S = {mho};
334     siemens = {S};
335     A= {ampere};
336     amp = {ampere};
337     volt = {V};
338     farad= {F};
339     mA= {A/1000};
340     uA= {A/1000000};
341     kV= {1000*V};
342     MV= {1e6*V};
343     mV= {V/1000};
344     mF = {0.001*F};
345     uF = {1e-6*F};
346     nF = {1e-9*F};
347     pF = {1e-12*F};
348     kohm = {1000*ohm};
349     Mohm = {1e6*ohm};
350     kS = {1000*S};
351     mS = {0.001*S};
352     uS = {1e-6*S};
353     Wb = {V*second};
354     weber = {Wb};
355     tesla = {Wb/m^2};
356     gauss = {1e-4*tesla};
357     H = {Wb/A};
358     henry = {H};
359     mH = {0.001*H};
360     uH = {1e-6*H};
361    
362     (*
363     * numeric constants of some interest
364     * to set a variable or constant to these, the code is (in the declarations)
365     * ATOM constant REFINES real; END constant;
366     * MODEL gizmo;
367     * x IS_A constant;
368     * x := 1 {PI};
369     * ...
370     *)
371     molecule = {1.0};
372     PI= {3.1415926535897932385}; (* Circumference/Diameter ratio *)
373     EULER_C = {0.57721566490153286}; (* euler gamma *)
374     GOLDEN_C = {1.618033988749894}; (* golden ratio *)
375     HBAR = {1.055e-34*J*second}; (* Reduced planck's constant *)
376     PLANCK_C = {2*PI*HBAR}; (* Planck's constant *)
377     LIGHT_C = {2.99793e8 * meter/second}; (* Speed of light in vacuum *)
378     MU0 = {4e-7*PI*kg*m/C/C}; (* Permeability of free space *)
379     EPSILON0 = {1/LIGHT_C/LIGHT_C/MU0}; (* Permittivity of free space *)
380     BOLTZMAN_C = {1.3805e-23 * J/K}; (* Boltzman's constant *)
381     AVOGADRO_C = {6.022045e23 *molecule/mole}; (* Avogadro's number of molecules *)
382     GRAVITY_C = {6.673e-11 * N*m*m/kg/kg}; (* Newtons gravitational constant *)
383     GAS_C = {BOLTZMAN_C*AVOGADRO_C}; (* Gas constant *)
384     INFINITY= {1.0e38}; (* damn big number *)
385     LIM_EXP= {709.78}; (* ln ( maxdouble ) *)
386     LIM_CUBE= {5.6438030941223618e101}; (* cbrt ( maxdouble ) *)
387     LIM_SQR= {1.0e154}; (* sqrt(maxdouble) *)
388     (* swiped from C math.h *)
389     M_E= {2.7182818284590452354E0}; (* base e *)
390     M_LOG2E= {1.4426950408889634074E0}; (* log2(e) *)
391     M_LOG10E= {4.3429448190325182765E-1}; (* log10(e) *)
392     M_LN2= {6.9314718055994530942E-1}; (* ln(2) *)
393     M_LN10= {2.3025850929940456840E0}; (* ln(10) *)
394     M_PI= {3.1415926535897932385E0}; (* as PI, but for consistency *)
395     M_PI_2= {1.5707963267948966192E0}; (* PI/2 *)
396     M_PI_4= {7.8539816339744830962E-1}; (* PI/4 *)
397     M_1_PI= {3.1830988618379067154E-1}; (* 1/PI *)
398     M_2_PI= {6.3661977236758134308E-1}; (* 2/PI *)
399     M_2_SQRTPI= {1.1283791670955125739E0}; (* 2/sqrt(PI) *)
400     M_SQRT2= {1.4142135623730950488E0}; (* sqrt(2) *)
401     M_SQRT1_2= {7.0710678118654752440E-1}; (* 1/sqrt(2) *)
402    
403     eCHARGE = {1.602e-19*C}; (* Charge of an electron *)
404     EARTH_G = {9.80665 * m/s/s}; (* Earth's gravitational field, somewhere *)
405     eMASS = {9.1095e-31*kilogram}; (* Electron rest mass, I suppose *)
406     pMASS = {1.67265e-27*kilogram}; (* Proton mass *)
407    
408     (* constant based conversions *)
409    
410     eV = {eCHARGE * V};
411     keV = {1000*eV};
412     MeV = {1e6*eV};
413     GeV = {1e9*eV};
414     TeV = {1e12*eV};
415     PeV = {1e15*eV};
416     EeV = {1e18*eV};
417    
418     lyr = {LIGHT_C * yr}; (* Light-year *)
419    
420     oersted = {gauss/MU0};
421    
422     (* subtly dimensionless measures *)
423    
424     rad = {radian};
425     srad = {steradian};
426     deg = {radian*1.74532925199433e-2};
427     degrees = {deg};
428     grad = {0.9*deg};
429     arcmin = {degrees/60.0};
430     arcsec = {arcmin/60.0};
431    
432     (* light quantities *)
433    
434     cd = {candela};
435     lm = {candela*steradian};
436     lumen = {lm};
437     lx = {lm/meter^2};
438     lux= {lx};
439    
440     (* misc rates *)
441    
442     gpm = {gallon/minute};
443    
444     (* time variant conversions *)
445    
446 johnpye 110 MINIMUMWAGE = {5.15*USD/hr}; (* Dec 2005, see http://www.dol.gov/ *)
447 aw0a 1 (*
448     * conversions we'd like to see , but probably won't
449     * milliHelen = {beauty/ship};
450     * Helen = {documentation/project};
451     *)
452     END UNITS;

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