00001 /* This file is part of Cloudy and is copyright (C)1978-2010 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 00003 00004 #ifndef PHYSCONST_H_ 00005 #define PHYSCONST_H_ 00006 00016 /*#include "physconst.h"*/ 00017 00018 /********************************************************************* 00019 * first come math constants * 00020 *********************************************************************/ 00021 00023 const double EE = 2.718281828459045235360287; 00024 00026 const double EULER = 0.577215664901532860606512090082; 00027 00029 const double PI = 3.141592653589793238462643; 00030 00032 const double PI2 = 6.283185307179586476925287; 00033 00035 const double PI4 = 12.56637061435917295385057; 00036 00038 const double PI8 = 25.13274122871834590770115; 00039 00041 const double SQRT2 = 1.414213562373095048801689; 00042 00044 const double SQRTPI = 1.772453850905516027298167; 00045 00047 const double SQRTPIBY2 = 1.253314137315500251207883; 00048 00050 const double LN_TWO = 0.6931471805599453094172321; 00051 00053 const double LN_TEN = 2.302585092994045684017991; 00054 00056 const double LOG10_E = 0.4342944819032518276511289; 00057 00060 const double OPTDEP2EXTIN = 1.085736204758129569127822; 00061 00063 const double RADIAN = 57.29577951308232087679815; 00064 00065 /********************************************************************* 00066 * astronomical constants go here * 00067 *********************************************************************/ 00068 00071 const double SOLAR_MASS = 1.9884e33; 00072 00075 const double SOLAR_LUMINOSITY = 3.8427e33; 00076 00079 /* >>refer phys const http://pdg.lbl.gov/2010/reviews/rpp2010-rev-astrophysical-constants.pdf */ 00080 const double AU = 1.49597870700e13; 00081 00082 /********************************************************************* 00083 * fundamental constants go next, eventually rest should be defined * 00084 * in terms of these, these are Codata 2006 values. * 00085 *********************************************************************/ 00086 00088 const double ATOMIC_MASS_UNIT = 1.660538782e-24; 00089 00091 const double ELECTRON_MASS = 9.10938215e-28; 00092 00094 const double PROTON_MASS = 1.672621637e-24; 00095 00097 const double BOLTZMANN = 1.3806504e-16; 00098 00100 const double SPEEDLIGHT = 2.99792458e10; 00101 00103 const double HPLANCK = 6.62606896e-27; 00104 00106 const double GRAV_CONST = 6.67428e-8; 00107 00109 const double ELEM_CHARGE = 1.602176487e-19; 00110 00112 const double RYD_INF = 1.0973731568527e5; 00113 00116 const double HIONPOT = 0.999466508219; 00117 00118 /********************************************************************* 00119 * below here should be derived constants * 00120 * * 00121 * NB - explicit values in comments are approximate * 00122 * and are not maintained ! * 00123 *********************************************************************/ 00124 00126 const double AS1RAD = RADIAN*3600.; 00127 00129 const double SQAS1SR = pow2(AS1RAD); 00130 00132 const double SQAS_SKY = PI4*SQAS1SR; 00133 00135 const double PARSEC = AU*AS1RAD; 00136 00138 const double MEGAPARSEC = 1.e6*PARSEC; 00139 00141 const double H_BAR = HPLANCK/(2.*PI); 00142 00144 const double ELEM_CHARGE_ESU = ELEM_CHARGE*SPEEDLIGHT/10.; 00145 00147 const double ELECTRIC_CONST = 1.e11/(PI4*pow2(SPEEDLIGHT)); 00148 00154 const double HION_LTE_POP = pow2(HPLANCK)/(PI2*BOLTZMANN*ELECTRON_MASS); 00155 00158 const double SAHA = sqrt(pow3(HION_LTE_POP)); 00159 00161 const double ERG1CM = HPLANCK*SPEEDLIGHT; 00162 00164 const double T1CM = HPLANCK*SPEEDLIGHT/BOLTZMANN; 00165 00167 const double WAVNRYD = 1./RYD_INF; 00168 00170 const double RYDLAM = 1.e8/RYD_INF; 00171 00173 const double EN1RYD = HPLANCK*SPEEDLIGHT*RYD_INF; 00174 00177 const double TE1RYD = HPLANCK*SPEEDLIGHT*RYD_INF/BOLTZMANN; 00178 00180 const double EVDEGK = ELEM_CHARGE*1.e7/BOLTZMANN; 00181 00183 const double EVRYD = HPLANCK*SPEEDLIGHT*RYD_INF/ELEM_CHARGE*1.e-7; 00184 00186 const double EN1EV = EN1RYD/EVRYD; 00187 00189 const double FR1RYD = SPEEDLIGHT*RYD_INF; 00190 00192 const double HNU3C2 = 2.*HPLANCK*SPEEDLIGHT*pow3(RYD_INF); 00193 00195 const double FR1RYDHYD = SPEEDLIGHT*RYD_INF*HIONPOT; 00196 00198 const double HBAReV = H_BAR/EN1EV; 00199 00201 const double RYDLAMHYD = RYDLAM/HIONPOT; 00202 00204 const double STEFAN_BOLTZ = pow2(PI*pow2(BOLTZMANN))/(60.*pow3(H_BAR)*pow2(SPEEDLIGHT)); 00205 00207 const double FREQ_1EV = SPEEDLIGHT*RYD_INF/EVRYD; 00208 00210 const double FINE_STRUCTURE = pow2(ELEM_CHARGE_ESU)/SPEEDLIGHT/H_BAR; 00211 00213 const double FINE_STRUCTURE2 = pow2(FINE_STRUCTURE); 00214 00216 const double BOHR_RADIUS_CM = FINE_STRUCTURE/(PI4*RYD_INF); 00217 00219 const double TWO_PHOT_CONST = 9.*pow3(FINE_STRUCTURE2)*FR1RYD/2048.; 00220 00223 const double COLL_CONST = SAHA*BOLTZMANN/HPLANCK; 00224 00227 const double MILNE_CONST = SPEEDLIGHT*sqrt(pow3(FINE_STRUCTURE2)*pow3(TE1RYD)/PI); 00228 00231 const double TRANS_PROB_CONST = PI4*HPLANCK*FINE_STRUCTURE/ELECTRON_MASS; 00232 00233 #endif /* PHYSCONST_H_ */