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

Contents of /trunk/models/measures.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: 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 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 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 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 d = {86400*second};
132 h = {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 = {d};
143 hour = {h};
144 hr={h};
145 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 (* PLEASE USE ISO 4127 CURRENCY CODES FOR ALL MONEY UNITS *)
173 USD = {currency};
174 CR = {currency};
175 credits= {currency};
176 (* the following two are historic and should not be used in future *)
177 USdollar = {currency};
178 US = {currency};
179
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 L = {meter^3/1000};
198 l = {L};
199 litre = {L};
200 liter = {L};
201 mL = {L/1000};
202 ml = {L/1000};
203 ul = {L/1e6};
204 uL = {L/1e6};
205 milliliter = {ml};
206 millilitre = {mL};
207 microliter = {ul};
208 microlitre = {uL};
209
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 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 SIGMA_C = {5.670e-8 * W/m^2/K^4 }; (* Stefan-Boltzmann constant
383 - 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
392 (* The following were swiped from C <math.h> *)
393 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 M_2_SQRTPI= {1.1283791670955125739E0}; (* 2/sqrt(PI) *)
404 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 MINIMUMWAGE = {5.15*USD/h}; (* Dec 2005, see http://www.dol.gov/ *)
451 (*
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