27#ifndef OPM_COMPONENT_HPP
28#define OPM_COMPONENT_HPP
42template <
class ScalarT,
class Implementation>
46 typedef ScalarT Scalar;
48 static const bool isTabulated =
false;
62 static void init(Scalar , Scalar ,
unsigned ,
63 Scalar , Scalar ,
unsigned )
70 {
throw std::runtime_error(
"Not implemented: Component::gasIsCompressible()"); }
76 {
throw std::runtime_error(
"Not implemented: Component::gasIsIdeal()"); }
82 {
throw std::runtime_error(
"Not implemented: Component::liquidIsCompressible()"); }
87 static std::string_view
name()
88 {
throw std::runtime_error(
"Not implemented: Component::name()"); }
94 {
throw std::runtime_error(
"Not implemented: Component::molarMass()"); }
100 {
throw std::runtime_error(
"Not implemented: Component::criticalTemperature()"); }
106 {
throw std::runtime_error(
"Not implemented: Component::criticalPressure()"); }
113 {
throw std::runtime_error(
"Not implemented: acentricFactor of the component"); }
119 {
throw std::runtime_error(
"Not implemented: criticalVolume of the compoenent"); }
125 {
throw std::runtime_error(
"Not implemented: Component::tripleTemperature()"); }
131 {
throw std::runtime_error(
"Not implemented: Component::triplePressure()"); }
139 template <
class Evaluation>
141 {
throw std::runtime_error(
"Not implemented: Component::vaporPressure()"); }
149 template <
class Evaluation>
150 static Evaluation
gasDensity(
const Evaluation& ,
const Evaluation& )
151 {
throw std::runtime_error(
"Not implemented: Component::gasDensity()"); }
159 template <
class Evaluation>
161 {
throw std::runtime_error(
"Not implemented: Component::liquidDensity()"); }
169 template <
class Evaluation>
170 static Evaluation
gasEnthalpy(
const Evaluation& ,
const Evaluation& )
171 {
throw std::runtime_error(
"Not implemented: Component::gasEnthalpy()"); }
179 template <
class Evaluation>
181 {
throw std::runtime_error(
"Not implemented: Component::liquidEnthalpy()"); }
189 template <
class Evaluation>
191 {
throw std::runtime_error(
"Not implemented: Component::gasInternalEnergy()"); }
199 template <
class Evaluation>
201 {
throw std::runtime_error(
"Not implemented: Component::liquidInternalEnergy()"); }
210 template <
class Evaluation>
212 {
throw std::runtime_error(
"Not implemented: Component::gasViscosity()"); }
220 template <
class Evaluation>
222 {
throw std::runtime_error(
"Not implemented: Component::liquidViscosity()"); }
227 template <
class Evaluation>
229 {
throw std::runtime_error(
"Not implemented: Component::gasThermalConductivity()"); }
234 template <
class Evaluation>
236 {
throw std::runtime_error(
"Not implemented: Component::liquidThermalConductivity()"); }
241 template <
class Evaluation>
243 {
throw std::runtime_error(
"Not implemented: Component::gasHeatCapacity()"); }
248 template <
class Evaluation>
250 {
throw std::runtime_error(
"Not implemented: Component::liquidHeatCapacity()"); }
Abstract base class of a pure chemical species.
Definition Component.hpp:44
static std::string_view name()
A human readable name for the component.
Definition Component.hpp:87
static Scalar tripleTemperature()
Returns the temperature in at the component's triple point.
Definition Component.hpp:124
static bool gasIsCompressible()
Returns true iff the gas phase is assumed to be compressible.
Definition Component.hpp:69
static Evaluation gasThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a gas.
Definition Component.hpp:228
static Scalar molarMass()
The molar mass in of the component.
Definition Component.hpp:93
static Scalar acentricFactor()
Returns the acentric factor of the component.
Definition Component.hpp:112
static Scalar criticalPressure()
Returns the critical pressure in of the component.
Definition Component.hpp:105
static Evaluation liquidHeatCapacity(const Evaluation &, const Evaluation &)
Specific isobaric heat capacity of the component [J/kg] as a liquid.
Definition Component.hpp:249
static Evaluation liquidThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a liquid.
Definition Component.hpp:235
static Scalar criticalTemperature()
Returns the critical temperature in of the component.
Definition Component.hpp:99
static Evaluation gasHeatCapacity(const Evaluation &, const Evaluation &)
Specific isobaric heat capacity of the component [J/kg] as a gas.
Definition Component.hpp:242
static Evaluation gasInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of the pure component in gas.
Definition Component.hpp:190
static Evaluation liquidViscosity(const Evaluation &, const Evaluation &)
The dynamic liquid viscosity of the pure component.
Definition Component.hpp:221
static Evaluation gasEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in gas.
Definition Component.hpp:170
static Evaluation vaporPressure(const Evaluation &)
The vapor pressure in of the component at a given temperature in .
Definition Component.hpp:140
static bool liquidIsCompressible()
Returns true iff the liquid phase is assumed to be compressible.
Definition Component.hpp:81
static Evaluation liquidDensity(const Evaluation &, const Evaluation &)
The density of the liquid component at a given pressure in and temperature in .
Definition Component.hpp:160
static Scalar triplePressure()
Returns the pressure in at the component's triple point.
Definition Component.hpp:130
static Evaluation liquidEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in liquid.
Definition Component.hpp:180
static Scalar criticalVolume()
Returns the critical volume in of the component.
Definition Component.hpp:118
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:62
static bool gasIsIdeal()
Returns true iff the gas phase is assumed to be ideal.
Definition Component.hpp:75
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:211
static Evaluation gasDensity(const Evaluation &, const Evaluation &)
The density in of the component at a given pressure in and temperature in .
Definition Component.hpp:150
static Evaluation liquidInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of pure the pure component in liquid.
Definition Component.hpp:200
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30