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()"); }
110 {
throw std::runtime_error(
"Not implemented: Component::tripleTemperature()"); }
116 {
throw std::runtime_error(
"Not implemented: Component::triplePressure()"); }
124 template <
class Evaluation>
126 {
throw std::runtime_error(
"Not implemented: Component::vaporPressure()"); }
134 template <
class Evaluation>
135 static Evaluation
gasDensity(
const Evaluation& ,
const Evaluation& )
136 {
throw std::runtime_error(
"Not implemented: Component::gasDensity()"); }
144 template <
class Evaluation>
146 {
throw std::runtime_error(
"Not implemented: Component::liquidDensity()"); }
154 template <
class Evaluation>
155 static Evaluation
gasEnthalpy(
const Evaluation& ,
const Evaluation& )
156 {
throw std::runtime_error(
"Not implemented: Component::gasEnthalpy()"); }
164 template <
class Evaluation>
166 {
throw std::runtime_error(
"Not implemented: Component::liquidEnthalpy()"); }
174 template <
class Evaluation>
176 {
throw std::runtime_error(
"Not implemented: Component::gasInternalEnergy()"); }
184 template <
class Evaluation>
186 {
throw std::runtime_error(
"Not implemented: Component::liquidInternalEnergy()"); }
195 template <
class Evaluation>
197 {
throw std::runtime_error(
"Not implemented: Component::gasViscosity()"); }
205 template <
class Evaluation>
207 {
throw std::runtime_error(
"Not implemented: Component::liquidViscosity()"); }
212 template <
class Evaluation>
214 {
throw std::runtime_error(
"Not implemented: Component::gasThermalConductivity()"); }
219 template <
class Evaluation>
221 {
throw std::runtime_error(
"Not implemented: Component::liquidThermalConductivity()"); }
226 template <
class Evaluation>
228 {
throw std::runtime_error(
"Not implemented: Component::gasHeatCapacity()"); }
233 template <
class Evaluation>
235 {
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:109
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:213
static Scalar molarMass()
The molar mass in of the component.
Definition: Component.hpp:91
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:234
static Evaluation liquidThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a liquid.
Definition: Component.hpp:220
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:227
static Evaluation gasInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of the pure component in gas.
Definition: Component.hpp:175
static Evaluation liquidViscosity(const Evaluation &, const Evaluation &)
The dynamic liquid viscosity of the pure component.
Definition: Component.hpp:206
static Evaluation gasEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in gas.
Definition: Component.hpp:155
static Evaluation vaporPressure(const Evaluation &)
The vapor pressure in of the component at a given temperature in .
Definition: Component.hpp:125
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:145
static Scalar triplePressure()
Returns the pressure in at the component's triple point.
Definition: Component.hpp:115
static Evaluation liquidEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in liquid.
Definition: Component.hpp:165
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:196
static Evaluation gasDensity(const Evaluation &, const Evaluation &)
The density in of the component at a given pressure in and temperature in .
Definition: Component.hpp:135
static Evaluation liquidInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of pure the pure component in liquid.
Definition: Component.hpp:185