00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00027 #ifndef OPM_GAS_PHASE_HPP
00028 #define OPM_GAS_PHASE_HPP
00029
00030 namespace Opm {
00031
00036 template <class Scalar, class ComponentT>
00037 class GasPhase
00038 {
00039 public:
00043 typedef ComponentT Component;
00044
00048 static const char* name()
00049 { return Component::name(); }
00050
00054 static bool isLiquid()
00055 { return false; }
00056
00060 static bool isCompressible()
00061 { return Component::gasIsCompressible(); }
00062
00066 static bool isIdealGas()
00067 { return Component::gasIsIdeal(); }
00068
00072 static Scalar molarMass()
00073 { return Component::molarMass(); }
00074
00078 static Scalar criticalTemperature()
00079 { return Component::criticalTemperature(); }
00080
00084 static Scalar criticalPressure()
00085 { return Component::criticalPressure(); }
00086
00090 static Scalar tripleTemperature()
00091 { return Component::tripleTemperature(); }
00092
00096 static Scalar triplePressure()
00097 { return Component::triplePressure(); }
00098
00105 template <class Evaluation>
00106 static Evaluation vaporPressure(const Evaluation& temperature)
00107 { return Component::vaporPressure(temperature); }
00108
00114 template <class Evaluation>
00115 static Evaluation density(const Evaluation& temperature, const Evaluation& pressure)
00116 { return Component::gasDensity(temperature, pressure); }
00117
00124 template <class Evaluation>
00125 static Evaluation pressure(const Evaluation& temperature, const Evaluation& density)
00126 { return Component::gasPressure(temperature, density); }
00127
00133 template <class Evaluation>
00134 static Evaluation enthalpy(const Evaluation& temperature, const Evaluation& pressure)
00135 { return Component::gasEnthalpy(temperature, pressure); }
00136
00142 template <class Evaluation>
00143 static Evaluation internalEnergy(const Evaluation& temperature, const Evaluation& pressure)
00144 { return Component::gasInternalEnergy(temperature, pressure); }
00145
00151 template <class Evaluation>
00152 static Evaluation viscosity(const Evaluation& temperature, const Evaluation& pressure)
00153 { return Component::gasViscosity(temperature, pressure); }
00154
00160 template <class Evaluation>
00161 static Evaluation thermalConductivity(const Evaluation& temperature, const Evaluation& pressure)
00162 { return Component::gasThermalConductivity(temperature, pressure); }
00163
00169 template <class Evaluation>
00170 static Evaluation heatCapacity(const Evaluation& temperature, const Evaluation& pressure)
00171 { return Component::gasHeatCapacity(temperature, pressure); }
00172 };
00173 }
00174
00175 #endif