a68g-physics.h

You can download the current version of Algol 68 Genie and its documentation here.

   1 //! @file a68g-physics.h
   2 //! @author J. Marcel van der Veer
   3 //!
   4 //! @section Copyright
   5 //!
   6 //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
   7 //! Copyright 2001-2023 J. Marcel van der Veer .
   8 //!
   9 //! @section License
  10 //!
  11 //! This program is free software; you can redistribute it and/or modify it 
  12 //! under the terms of the GNU General Public License as published by the 
  13 //! Free Software Foundation; either version 3 of the License, or 
  14 //! (at your option) any later version.
  15 //!
  16 //! This program is distributed in the hope that it will be useful, but 
  17 //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  18 //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 
  19 //! more details. You should have received a copy of the GNU General Public 
  20 //! License along with this program. If not, see .
  21 
  22 #if !defined (__A68G_PHYSICS_H__)
  23 #define __A68G_PHYSICS_H__
  24 
  25 // All kind of constants ex GSL
  26 
  27 #define GSL_CONST_NUM_FINE_STRUCTURE (7.297352533e-3)   /* 1 */
  28 #define GSL_CONST_NUM_AVOGADRO (6.02214199e23)  /* 1 / mol */
  29 #define GSL_CONST_NUM_YOTTA (1e24)      /* 1 */
  30 #define GSL_CONST_NUM_ZETTA (1e21)      /* 1 */
  31 #define GSL_CONST_NUM_EXA (1e18)        /* 1 */
  32 #define GSL_CONST_NUM_PETA (1e15)       /* 1 */
  33 #define GSL_CONST_NUM_TERA (1e12)       /* 1 */
  34 #define GSL_CONST_NUM_GIGA (1e9)        /* 1 */
  35 #define GSL_CONST_NUM_MEGA (1e6)        /* 1 */
  36 #define GSL_CONST_NUM_KILO (1e3)        /* 1 */
  37 #define GSL_CONST_NUM_MILLI (1e-3)      /* 1 */
  38 #define GSL_CONST_NUM_MICRO (1e-6)      /* 1 */
  39 #define GSL_CONST_NUM_NANO (1e-9)       /* 1 */
  40 #define GSL_CONST_NUM_PICO (1e-12)      /* 1 */
  41 #define GSL_CONST_NUM_FEMTO (1e-15)     /* 1 */
  42 #define GSL_CONST_NUM_ATTO (1e-18)      /* 1 */
  43 #define GSL_CONST_NUM_ZEPTO (1e-21)     /* 1 */
  44 #define GSL_CONST_NUM_YOCTO (1e-24)     /* 1 */
  45 #define GSL_CONST_CGSM_GAUSS (1.0)      /* cm / A s^2  */
  46 #define GSL_CONST_CGSM_SPEED_OF_LIGHT (2.99792458e10)   /* cm / s */
  47 #define GSL_CONST_CGSM_GRAVITATIONAL_CONSTANT (6.673e-8)        /* cm^3 / g s^2 */
  48 #define GSL_CONST_CGSM_ASTRONOMICAL_UNIT (1.49597870691e13)     /* cm */
  49 #define GSL_CONST_CGSM_LIGHT_YEAR (9.46053620707e17)    /* cm */
  50 #define GSL_CONST_CGSM_PARSEC (3.08567758135e18)        /* cm */
  51 #define GSL_CONST_CGSM_GRAV_ACCEL (9.80665e2)   /* cm / s^2 */
  52 #define GSL_CONST_CGSM_ELECTRON_VOLT (1.602176487e-12)  /* g cm^2 / s^2 */
  53 #define GSL_CONST_CGSM_MASS_ELECTRON (9.10938188e-28)   /* g */
  54 #define GSL_CONST_CGSM_MASS_MUON (1.88353109e-25)       /* g */
  55 #define GSL_CONST_CGSM_MASS_PROTON (1.67262158e-24)     /* g */
  56 #define GSL_CONST_CGSM_MASS_NEUTRON (1.67492716e-24)    /* g */
  57 #define GSL_CONST_CGSM_RYDBERG (2.17987196968e-11)      /* g cm^2 / s^2 */
  58 #define GSL_CONST_CGSM_BOLTZMANN (1.3806504e-16)        /* g cm^2 / K s^2 */
  59 #define GSL_CONST_CGSM_MOLAR_GAS (8.314472e7)   /* g cm^2 / K mol s^2 */
  60 #define GSL_CONST_CGSM_STANDARD_GAS_VOLUME (2.2710981e4)        /* cm^3 / mol */
  61 #define GSL_CONST_CGSM_MINUTE (6e1)     /* s */
  62 #define GSL_CONST_CGSM_HOUR (3.6e3)     /* s */
  63 #define GSL_CONST_CGSM_DAY (8.64e4)     /* s */
  64 #define GSL_CONST_CGSM_WEEK (6.048e5)   /* s */
  65 #define GSL_CONST_CGSM_INCH (2.54e0)    /* cm */
  66 #define GSL_CONST_CGSM_FOOT (3.048e1)   /* cm */
  67 #define GSL_CONST_CGSM_YARD (9.144e1)   /* cm */
  68 #define GSL_CONST_CGSM_MILE (1.609344e5)        /* cm */
  69 #define GSL_CONST_CGSM_NAUTICAL_MILE (1.852e5)  /* cm */
  70 #define GSL_CONST_CGSM_FATHOM (1.8288e2)        /* cm */
  71 #define GSL_CONST_CGSM_MIL (2.54e-3)    /* cm */
  72 #define GSL_CONST_CGSM_POINT (3.52777777778e-2) /* cm */
  73 #define GSL_CONST_CGSM_TEXPOINT (3.51459803515e-2)      /* cm */
  74 #define GSL_CONST_CGSM_MICRON (1e-4)    /* cm */
  75 #define GSL_CONST_CGSM_ANGSTROM (1e-8)  /* cm */
  76 #define GSL_CONST_CGSM_HECTARE (1e8)    /* cm^2 */
  77 #define GSL_CONST_CGSM_ACRE (4.04685642241e7)   /* cm^2 */
  78 #define GSL_CONST_CGSM_BARN (1e-24)     /* cm^2 */
  79 #define GSL_CONST_CGSM_LITER (1e3)      /* cm^3 */
  80 #define GSL_CONST_CGSM_US_GALLON (3.78541178402e3)      /* cm^3 */
  81 #define GSL_CONST_CGSM_QUART (9.46352946004e2)  /* cm^3 */
  82 #define GSL_CONST_CGSM_PINT (4.73176473002e2)   /* cm^3 */
  83 #define GSL_CONST_CGSM_CUP (2.36588236501e2)    /* cm^3 */
  84 #define GSL_CONST_CGSM_FLUID_OUNCE (2.95735295626e1)    /* cm^3 */
  85 #define GSL_CONST_CGSM_TABLESPOON (1.47867647813e1)     /* cm^3 */
  86 #define GSL_CONST_CGSM_TEASPOON (4.92892159375e0)       /* cm^3 */
  87 #define GSL_CONST_CGSM_CANADIAN_GALLON (4.54609e3)      /* cm^3 */
  88 #define GSL_CONST_CGSM_UK_GALLON (4.546092e3)   /* cm^3 */
  89 #define GSL_CONST_CGSM_MILES_PER_HOUR (4.4704e1)        /* cm / s */
  90 #define GSL_CONST_CGSM_KILOMETERS_PER_HOUR (2.77777777778e1)    /* cm / s */
  91 #define GSL_CONST_CGSM_KNOT (5.14444444444e1)   /* cm / s */
  92 #define GSL_CONST_CGSM_POUND_MASS (4.5359237e2) /* g */
  93 #define GSL_CONST_CGSM_OUNCE_MASS (2.8349523125e1)      /* g */
  94 #define GSL_CONST_CGSM_TON (9.0718474e5)        /* g */
  95 #define GSL_CONST_CGSM_METRIC_TON (1e6) /* g */
  96 #define GSL_CONST_CGSM_UK_TON (1.0160469088e6)  /* g */
  97 #define GSL_CONST_CGSM_TROY_OUNCE (3.1103475e1) /* g */
  98 #define GSL_CONST_CGSM_CARAT (2e-1)     /* g */
  99 #define GSL_CONST_CGSM_UNIFIED_ATOMIC_MASS (1.660538782e-24)    /* g */
 100 #define GSL_CONST_CGSM_GRAM_FORCE (9.80665e2)   /* cm g / s^2 */
 101 #define GSL_CONST_CGSM_POUND_FORCE (4.44822161526e5)    /* cm g / s^2 */
 102 #define GSL_CONST_CGSM_KILOPOUND_FORCE (4.44822161526e8)        /* cm g / s^2 */
 103 #define GSL_CONST_CGSM_POUNDAL (1.38255e4)      /* cm g / s^2 */
 104 #define GSL_CONST_CGSM_CALORIE (4.1868e7)       /* g cm^2 / s^2 */
 105 #define GSL_CONST_CGSM_BTU (1.05505585262e10)   /* g cm^2 / s^2 */
 106 #define GSL_CONST_CGSM_THERM (1.05506e15)       /* g cm^2 / s^2 */
 107 #define GSL_CONST_CGSM_HORSEPOWER (7.457e9)     /* g cm^2 / s^3 */
 108 #define GSL_CONST_CGSM_BAR (1e6)        /* g / cm s^2 */
 109 #define GSL_CONST_CGSM_STD_ATMOSPHERE (1.01325e6)       /* g / cm s^2 */
 110 #define GSL_CONST_CGSM_TORR (1.33322368421e3)   /* g / cm s^2 */
 111 #define GSL_CONST_CGSM_METER_OF_MERCURY (1.33322368421e6)       /* g / cm s^2 */
 112 #define GSL_CONST_CGSM_INCH_OF_MERCURY (3.38638815789e4)        /* g / cm s^2 */
 113 #define GSL_CONST_CGSM_INCH_OF_WATER (2.490889e3)       /* g / cm s^2 */
 114 #define GSL_CONST_CGSM_PSI (6.89475729317e4)    /* g / cm s^2 */
 115 #define GSL_CONST_CGSM_POISE (1e0)      /* g / cm s */
 116 #define GSL_CONST_CGSM_STOKES (1e0)     /* cm^2 / s */
 117 #define GSL_CONST_CGSM_STILB (1e0)      /* cd / cm^2 */
 118 #define GSL_CONST_CGSM_LUMEN (1e0)      /* cd sr */
 119 #define GSL_CONST_CGSM_LUX (1e-4)       /* cd sr / cm^2 */
 120 #define GSL_CONST_CGSM_PHOT (1e0)       /* cd sr / cm^2 */
 121 #define GSL_CONST_CGSM_FOOTCANDLE (1.076e-3)    /* cd sr / cm^2 */
 122 #define GSL_CONST_CGSM_LAMBERT (1e0)    /* cd sr / cm^2 */
 123 #define GSL_CONST_CGSM_FOOTLAMBERT (1.07639104e-3)      /* cd sr / cm^2 */
 124 #define GSL_CONST_CGSM_CURIE (3.7e10)   /* 1 / s */
 125 #define GSL_CONST_CGSM_ROENTGEN (2.58e-8)       /* abamp s / g */
 126 #define GSL_CONST_CGSM_RAD (1e2)        /* cm^2 / s^2 */
 127 #define GSL_CONST_CGSM_SOLAR_MASS (1.98892e33)  /* g */
 128 #define GSL_CONST_CGSM_BOHR_RADIUS (5.291772083e-9)     /* cm */
 129 #define GSL_CONST_CGSM_NEWTON (1e5)     /* cm g / s^2 */
 130 #define GSL_CONST_CGSM_DYNE (1e0)       /* cm g / s^2 */
 131 #define GSL_CONST_CGSM_JOULE (1e7)      /* g cm^2 / s^2 */
 132 #define GSL_CONST_CGSM_ERG (1e0)        /* g cm^2 / s^2 */
 133 #define GSL_CONST_CGSM_BOHR_MAGNETON (9.27400899e-21)   /* abamp cm^2 */
 134 #define GSL_CONST_CGSM_NUCLEAR_MAGNETON (5.05078317e-24)        /* abamp cm^2 */
 135 #define GSL_CONST_CGSM_ELECTRON_MAGNETIC_MOMENT (9.28476362e-21)        /* abamp cm^2 */
 136 #define GSL_CONST_CGSM_PROTON_MAGNETIC_MOMENT (1.410606633e-23) /* abamp cm^2 */
 137 #define GSL_CONST_CGSM_FARADAY (9.64853429775e3)        /* abamp s / mol */
 138 #define GSL_CONST_CGSM_ELECTRON_CHARGE (1.602176487e-20)        /* abamp s */
 139 #define GSL_CONST_MKS_SPEED_OF_LIGHT (2.99792458e8)     /* m / s */
 140 #define GSL_CONST_MKS_GRAVITATIONAL_CONSTANT (6.673e-11)        /* m^3 / kg s^2 */
 141 #define GSL_CONST_MKS_ASTRONOMICAL_UNIT (1.49597870691e11)      /* m */
 142 #define GSL_CONST_MKS_LIGHT_YEAR (9.46053620707e15)     /* m */
 143 #define GSL_CONST_MKS_PARSEC (3.08567758135e16) /* m */
 144 #define GSL_CONST_MKS_GRAV_ACCEL (9.80665e0)    /* m / s^2 */
 145 #define GSL_CONST_MKS_ELECTRON_VOLT (1.602176487e-19)   /* kg m^2 / s^2 */
 146 #define GSL_CONST_MKS_MASS_ELECTRON (9.10938188e-31)    /* kg */
 147 #define GSL_CONST_MKS_MASS_MUON (1.88353109e-28)        /* kg */
 148 #define GSL_CONST_MKS_MASS_PROTON (1.67262158e-27)      /* kg */
 149 #define GSL_CONST_MKS_MASS_NEUTRON (1.67492716e-27)     /* kg */
 150 #define GSL_CONST_MKS_RYDBERG (2.17987196968e-18)       /* kg m^2 / s^2 */
 151 #define GSL_CONST_MKS_BOLTZMANN (1.3806504e-23) /* kg m^2 / K s^2 */
 152 #define GSL_CONST_MKS_MOLAR_GAS (8.314472e0)    /* kg m^2 / K mol s^2 */
 153 #define GSL_CONST_MKS_STANDARD_GAS_VOLUME (2.2710981e-2)        /* m^3 / mol */
 154 #define GSL_CONST_MKS_MINUTE (6e1)      /* s */
 155 #define GSL_CONST_MKS_HOUR (3.6e3)      /* s */
 156 #define GSL_CONST_MKS_DAY (8.64e4)      /* s */
 157 #define GSL_CONST_MKS_WEEK (6.048e5)    /* s */
 158 #define GSL_CONST_MKS_INCH (2.54e-2)    /* m */
 159 #define GSL_CONST_MKS_FOOT (3.048e-1)   /* m */
 160 #define GSL_CONST_MKS_YARD (9.144e-1)   /* m */
 161 #define GSL_CONST_MKS_MILE (1.609344e3) /* m */
 162 #define GSL_CONST_MKS_NAUTICAL_MILE (1.852e3)   /* m */
 163 #define GSL_CONST_MKS_FATHOM (1.8288e0) /* m */
 164 #define GSL_CONST_MKS_MIL (2.54e-5)     /* m */
 165 #define GSL_CONST_MKS_POINT (3.52777777778e-4)  /* m */
 166 #define GSL_CONST_MKS_TEXPOINT (3.51459803515e-4)       /* m */
 167 #define GSL_CONST_MKS_MICRON (1e-6)     /* m */
 168 #define GSL_CONST_MKS_ANGSTROM (1e-10)  /* m */
 169 #define GSL_CONST_MKS_HECTARE (1e4)     /* m^2 */
 170 #define GSL_CONST_MKS_ACRE (4.04685642241e3)    /* m^2 */
 171 #define GSL_CONST_MKS_BARN (1e-28)      /* m^2 */
 172 #define GSL_CONST_MKS_LITER (1e-3)      /* m^3 */
 173 #define GSL_CONST_MKS_US_GALLON (3.78541178402e-3)      /* m^3 */
 174 #define GSL_CONST_MKS_QUART (9.46352946004e-4)  /* m^3 */
 175 #define GSL_CONST_MKS_PINT (4.73176473002e-4)   /* m^3 */
 176 #define GSL_CONST_MKS_CUP (2.36588236501e-4)    /* m^3 */
 177 #define GSL_CONST_MKS_FLUID_OUNCE (2.95735295626e-5)    /* m^3 */
 178 #define GSL_CONST_MKS_TABLESPOON (1.47867647813e-5)     /* m^3 */
 179 #define GSL_CONST_MKS_TEASPOON (4.92892159375e-6)       /* m^3 */
 180 #define GSL_CONST_MKS_CANADIAN_GALLON (4.54609e-3)      /* m^3 */
 181 #define GSL_CONST_MKS_UK_GALLON (4.546092e-3)   /* m^3 */
 182 #define GSL_CONST_MKS_MILES_PER_HOUR (4.4704e-1)        /* m / s */
 183 #define GSL_CONST_MKS_KILOMETERS_PER_HOUR (2.77777777778e-1)    /* m / s */
 184 #define GSL_CONST_MKS_KNOT (5.14444444444e-1)   /* m / s */
 185 #define GSL_CONST_MKS_POUND_MASS (4.5359237e-1) /* kg */
 186 #define GSL_CONST_MKS_OUNCE_MASS (2.8349523125e-2)      /* kg */
 187 #define GSL_CONST_MKS_TON (9.0718474e2) /* kg */
 188 #define GSL_CONST_MKS_METRIC_TON (1e3)  /* kg */
 189 #define GSL_CONST_MKS_UK_TON (1.0160469088e3)   /* kg */
 190 #define GSL_CONST_MKS_TROY_OUNCE (3.1103475e-2) /* kg */
 191 #define GSL_CONST_MKS_CARAT (2e-4)      /* kg */
 192 #define GSL_CONST_MKS_UNIFIED_ATOMIC_MASS (1.660538782e-27)     /* kg */
 193 #define GSL_CONST_MKS_GRAM_FORCE (9.80665e-3)   /* kg m / s^2 */
 194 #define GSL_CONST_MKS_POUND_FORCE (4.44822161526e0)     /* kg m / s^2 */
 195 #define GSL_CONST_MKS_KILOPOUND_FORCE (4.44822161526e3) /* kg m / s^2 */
 196 #define GSL_CONST_MKS_POUNDAL (1.38255e-1)      /* kg m / s^2 */
 197 #define GSL_CONST_MKS_CALORIE (4.1868e0)        /* kg m^2 / s^2 */
 198 #define GSL_CONST_MKS_BTU (1.05505585262e3)     /* kg m^2 / s^2 */
 199 #define GSL_CONST_MKS_THERM (1.05506e8) /* kg m^2 / s^2 */
 200 #define GSL_CONST_MKS_HORSEPOWER (7.457e2)      /* kg m^2 / s^3 */
 201 #define GSL_CONST_MKS_BAR (1e5) /* kg / m s^2 */
 202 #define GSL_CONST_MKS_STD_ATMOSPHERE (1.01325e5)        /* kg / m s^2 */
 203 #define GSL_CONST_MKS_TORR (1.33322368421e2)    /* kg / m s^2 */
 204 #define GSL_CONST_MKS_METER_OF_MERCURY (1.33322368421e5)        /* kg / m s^2 */
 205 #define GSL_CONST_MKS_INCH_OF_MERCURY (3.38638815789e3) /* kg / m s^2 */
 206 #define GSL_CONST_MKS_INCH_OF_WATER (2.490889e2)        /* kg / m s^2 */
 207 #define GSL_CONST_MKS_PSI (6.89475729317e3)     /* kg / m s^2 */
 208 #define GSL_CONST_MKS_POISE (1e-1)      /* kg m^-1 s^-1 */
 209 #define GSL_CONST_MKS_STOKES (1e-4)     /* m^2 / s */
 210 #define GSL_CONST_MKS_STILB (1e4)       /* cd / m^2 */
 211 #define GSL_CONST_MKS_LUMEN (1e0)       /* cd sr */
 212 #define GSL_CONST_MKS_LUX (1e0) /* cd sr / m^2 */
 213 #define GSL_CONST_MKS_PHOT (1e4)        /* cd sr / m^2 */
 214 #define GSL_CONST_MKS_FOOTCANDLE (1.076e1)      /* cd sr / m^2 */
 215 #define GSL_CONST_MKS_LAMBERT (1e4)     /* cd sr / m^2 */
 216 #define GSL_CONST_MKS_FOOTLAMBERT (1.07639104e1)        /* cd sr / m^2 */
 217 #define GSL_CONST_MKS_CURIE (3.7e10)    /* 1 / s */
 218 #define GSL_CONST_MKS_ROENTGEN (2.58e-4)        /* A s / kg */
 219 #define GSL_CONST_MKS_RAD (1e-2)        /* m^2 / s^2 */
 220 #define GSL_CONST_MKS_SOLAR_MASS (1.98892e30)   /* kg */
 221 #define GSL_CONST_MKS_BOHR_RADIUS (5.291772083e-11)     /* m */
 222 #define GSL_CONST_MKS_NEWTON (1e0)      /* kg m / s^2 */
 223 #define GSL_CONST_MKS_DYNE (1e-5)       /* kg m / s^2 */
 224 #define GSL_CONST_MKS_JOULE (1e0)       /* kg m^2 / s^2 */
 225 #define GSL_CONST_MKS_ERG (1e-7)        /* kg m^2 / s^2 */
 226 #define GSL_CONST_MKS_BOHR_MAGNETON (9.27400899e-24)    /* A m^2 */
 227 #define GSL_CONST_MKS_NUCLEAR_MAGNETON (5.05078317e-27) /* A m^2 */
 228 #define GSL_CONST_MKS_ELECTRON_MAGNETIC_MOMENT (9.28476362e-24) /* A m^2 */
 229 #define GSL_CONST_MKS_PROTON_MAGNETIC_MOMENT (1.410606633e-26)  /* A m^2 */
 230 #define GSL_CONST_MKS_FARADAY (9.64853429775e4) /* A s / mol */
 231 #define GSL_CONST_MKS_ELECTRON_CHARGE (1.602176487e-19) /* A s */
 232 #define GSL_CONST_MKS_VACUUM_PERMITTIVITY (8.854187817e-12)     /* A^2 s^4 / kg m^3 */
 233 #define GSL_CONST_MKS_VACUUM_PERMEABILITY (1.25663706144e-6)    /* kg m / A^2 s^2 */
 234 #define GSL_CONST_MKS_GAUSS (1e-4)      /* kg / A s^2 */
 235 
 236 #endif