27 #ifndef OPM_COMPONENT_HPP
28 #define OPM_COMPONENT_HPP
40 template <
class ScalarT,
class Implementation>
44 typedef ScalarT Scalar;
46 static const bool isTabulated =
false;
60 static void init(Scalar , Scalar ,
unsigned ,
61 Scalar , Scalar ,
unsigned )
68 {
throw std::runtime_error(
"Not implemented: Component::gasIsCompressible()"); }
74 {
throw std::runtime_error(
"Not implemented: Component::gasIsIdeal()"); }
80 {
throw std::runtime_error(
"Not implemented: Component::liquidIsCompressible()"); }
86 {
throw std::runtime_error(
"Not implemented: Component::name()"); }
92 {
throw std::runtime_error(
"Not implemented: Component::molarMass()"); }
98 {
throw std::runtime_error(
"Not implemented: Component::criticalTemperature()"); }
104 {
throw std::runtime_error(
"Not implemented: Component::criticalPressure()"); }
111 {
throw std::runtime_error(
"Not implemented: acentricFactor of the component"); }
117 {
throw std::runtime_error(
"Not implemented: criticalVolume of the compoenent"); }
123 {
throw std::runtime_error(
"Not implemented: Component::tripleTemperature()"); }
129 {
throw std::runtime_error(
"Not implemented: Component::triplePressure()"); }
137 template <
class Evaluation>
139 {
throw std::runtime_error(
"Not implemented: Component::vaporPressure()"); }
147 template <
class Evaluation>
148 static Evaluation
gasDensity(
const Evaluation& ,
const Evaluation& )
149 {
throw std::runtime_error(
"Not implemented: Component::gasDensity()"); }
157 template <
class Evaluation>
159 {
throw std::runtime_error(
"Not implemented: Component::liquidDensity()"); }
167 template <
class Evaluation>
168 static Evaluation
gasEnthalpy(
const Evaluation& ,
const Evaluation& )
169 {
throw std::runtime_error(
"Not implemented: Component::gasEnthalpy()"); }
177 template <
class Evaluation>
179 {
throw std::runtime_error(
"Not implemented: Component::liquidEnthalpy()"); }
187 template <
class Evaluation>
189 {
throw std::runtime_error(
"Not implemented: Component::gasInternalEnergy()"); }
197 template <
class Evaluation>
199 {
throw std::runtime_error(
"Not implemented: Component::liquidInternalEnergy()"); }
208 template <
class Evaluation>
210 {
throw std::runtime_error(
"Not implemented: Component::gasViscosity()"); }
218 template <
class Evaluation>
220 {
throw std::runtime_error(
"Not implemented: Component::liquidViscosity()"); }
225 template <
class Evaluation>
227 {
throw std::runtime_error(
"Not implemented: Component::gasThermalConductivity()"); }
232 template <
class Evaluation>
234 {
throw std::runtime_error(
"Not implemented: Component::liquidThermalConductivity()"); }
239 template <
class Evaluation>
241 {
throw std::runtime_error(
"Not implemented: Component::gasHeatCapacity()"); }
246 template <
class Evaluation>
248 {
throw std::runtime_error(
"Not implemented: Component::liquidHeatCapacity()"); }
Abstract base class of a pure chemical species.
Definition: Component.hpp:42
static Scalar tripleTemperature()
Returns the temperature in at the component's triple point.
Definition: Component.hpp:122
static bool gasIsCompressible()
Returns true iff the gas phase is assumed to be compressible.
Definition: Component.hpp:67
static Evaluation gasThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a gas.
Definition: Component.hpp:226
static Scalar molarMass()
The molar mass in of the component.
Definition: Component.hpp:91
static Scalar acentricFactor()
Returns the acentric factor of the component.
Definition: Component.hpp:110
static Scalar criticalPressure()
Returns the critical pressure in of the component.
Definition: Component.hpp:103
static const char * name()
A human readable name for the component.
Definition: Component.hpp:85
static Evaluation liquidHeatCapacity(const Evaluation &, const Evaluation &)
Specific isobaric heat capacity of the component [J/kg] as a liquid.
Definition: Component.hpp:247
static Evaluation liquidThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a liquid.
Definition: Component.hpp:233
static Scalar criticalTemperature()
Returns the critical temperature in of the component.
Definition: Component.hpp:97
static Evaluation gasHeatCapacity(const Evaluation &, const Evaluation &)
Specific isobaric heat capacity of the component [J/kg] as a gas.
Definition: Component.hpp:240
static Evaluation gasInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of the pure component in gas.
Definition: Component.hpp:188
static Evaluation liquidViscosity(const Evaluation &, const Evaluation &)
The dynamic liquid viscosity of the pure component.
Definition: Component.hpp:219
static Evaluation gasEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in gas.
Definition: Component.hpp:168
static Evaluation vaporPressure(const Evaluation &)
The vapor pressure in of the component at a given temperature in .
Definition: Component.hpp:138
static bool liquidIsCompressible()
Returns true iff the liquid phase is assumed to be compressible.
Definition: Component.hpp:79
static Evaluation liquidDensity(const Evaluation &, const Evaluation &)
The density of the liquid component at a given pressure in and temperature in .
Definition: Component.hpp:158
static Scalar triplePressure()
Returns the pressure in at the component's triple point.
Definition: Component.hpp:128
static Evaluation liquidEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in liquid.
Definition: Component.hpp:178
static Scalar criticalVolume()
Returns the critical volume in of the component.
Definition: Component.hpp:116
static void init(Scalar, Scalar, unsigned, Scalar, Scalar, unsigned)
A default routine for initialization, not needed for components and must not be called.
Definition: Component.hpp:60
static bool gasIsIdeal()
Returns true iff the gas phase is assumed to be ideal.
Definition: Component.hpp:73
static Evaluation gasViscosity(const Evaluation &, const Evaluation &)
The dynamic viscosity of the pure component at a given pressure in and temperature in .
Definition: Component.hpp:209
static Evaluation gasDensity(const Evaluation &, const Evaluation &)
The density in of the component at a given pressure in and temperature in .
Definition: Component.hpp:148
static Evaluation liquidInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of pure the pure component in liquid.
Definition: Component.hpp:198