00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _Energy_cc
00026 #define _Energy_cc
00027
00028 #include "Quantity/Variable.h"
00029
00030 #include "PhysicalQuantities/Energy.h"
00031
00032 namespace Quantities {
00033 namespace EnergyUnits {
00034
00035
00036
00037
00038 template<> const double Joules::StandardRatio = 1.;
00039 template<> const std::string Joules::Basename = "joule";
00040 template<> const std::string Joules::Basesymbol = "J";
00041 template<> const bool Joules::SI = true;
00042 template<> const bool Joules::Exact = true;
00043
00044
00045
00046 template<> const double Erg::StandardRatio = 1.e-7;
00047 template<> const std::string Erg::Namestring = "erg";
00048 template<> const std::string Erg::Symbolstring = "erg";
00049 template<> const bool Erg::SI = false;
00050 template<> const bool Erg::Exact = true;
00051
00052
00053
00054 template<> const double Hartree::StandardRatio = 4.35975e-18;
00055 template<> const std::string Hartree::Namestring = "hartree";
00056 template<> const std::string Hartree::Symbolstring = "E_h";
00057 template<> const bool Hartree::SI = false;
00058 template<> const bool Hartree::Exact = false;
00059
00060
00061
00062 template<> const double Rydberg::StandardRatio = 2.17987e-18;
00063 template<> const std::string Rydberg::Namestring = "rydberg";
00064 template<> const std::string Rydberg::Symbolstring = "Ry";
00065 template<> const bool Rydberg::SI = false;
00066 template<> const bool Rydberg::Exact = false;
00067
00068
00069
00070 template<> const double ElectronVolt::StandardRatio = 1.60218e-19;
00071 template<> const std::string ElectronVolt::Namestring = "electronvolt";
00072 template<> const std::string ElectronVolt::Symbolstring = "eV";
00073 template<> const bool ElectronVolt::SI = false;
00074 template<> const bool ElectronVolt::Exact = false;
00075
00076
00077
00078 template<> const double ThermochemicalCalory::StandardRatio = 4.184;
00079 template<> const std::string ThermochemicalCalory::Namestring
00080 = "thermochemical calory";
00081 template<> const std::string ThermochemicalCalory::Symbolstring
00082 = "cal_th";
00083 template<> const bool ThermochemicalCalory::SI = false;
00084 template<> const bool ThermochemicalCalory::Exact = true;
00085
00086
00087
00088 template<> const double InternationalCalory::StandardRatio = 4.1868;
00089 template<> const std::string InternationalCalory::Namestring
00090 = "international calory";
00091 template<> const std::string InternationalCalory::Symbolstring
00092 = "cal_IT";
00093 template<> const bool InternationalCalory::SI = false;
00094 template<> const bool InternationalCalory::Exact = true;
00095
00096
00097
00098 template<> const double FifteenDegreeCalory::StandardRatio = 4.1855;
00099 template<> const std::string FifteenDegreeCalory::Namestring
00100 = "15degree calory";
00101 template<> const std::string FifteenDegreeCalory::Symbolstring
00102 = "cal_15T";
00103 template<> const bool FifteenDegreeCalory::SI = false;
00104 template<> const bool FifteenDegreeCalory::Exact = false;
00105
00106
00107
00108 template<> const double LitreAtmosphere::StandardRatio = 101.325;
00109 template<> const std::string LitreAtmosphere::Namestring
00110 = "litre atmosphere";
00111 template<> const std::string LitreAtmosphere::Symbolstring = "l atm";
00112 template<> const bool LitreAtmosphere::SI = false;
00113 template<> const bool LitreAtmosphere::Exact = true;
00114
00115
00116
00117 template<> const double BritishThermalUnit::StandardRatio = 1055.06;
00118 template<> const std::string BritishThermalUnit::Namestring
00119 = "British Thermal Unit";
00120 template<> const std::string BritishThermalUnit::Symbolstring = "Btu";
00121 template<> const bool BritishThermalUnit::SI = false;
00122 template<> const bool BritishThermalUnit::Exact = true;
00123
00124 }
00125
00126 const std::string Name<EnergyQuantities>::String = "energy";
00127 const std::string Symbol<EnergyQuantities>::String = "E";
00128
00129 }
00130
00131 #endif