27 #ifndef OPM_COMPONENT_HPP 28 #define OPM_COMPONENT_HPP 31 #include <string_view> 42 template <
class ScalarT,
class Implementation>
46 typedef ScalarT Scalar;
48 static constexpr
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()"); }
static Scalar criticalVolume()
Returns the critical volume in of the component.
Definition: Component.hpp:118
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 Scalar acentricFactor()
Returns the acentric factor of the component.
Definition: Component.hpp:112
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
Abstract base class of a pure chemical species.
Definition: Component.hpp:43
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 Evaluation liquidViscosity(const Evaluation &, const Evaluation &)
The dynamic liquid viscosity of the pure component.
Definition: Component.hpp:221
static Scalar criticalPressure()
Returns the critical pressure in of the component.
Definition: Component.hpp:105
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 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 std::string_view name()
A human readable name for the component.
Definition: Component.hpp:87
static Evaluation liquidEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in liquid.
Definition: Component.hpp:180
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 gasInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of the pure component in gas.
Definition: Component.hpp:190
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
static bool gasIsIdeal()
Returns true iff the gas phase is assumed to be ideal.
Definition: Component.hpp:75
static Evaluation gasEnthalpy(const Evaluation &, const Evaluation &)
Specific enthalpy of the pure component in gas.
Definition: Component.hpp:170
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 Scalar triplePressure()
Returns the pressure in at the component's triple point.
Definition: Component.hpp:130
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 liquidThermalConductivity(const Evaluation &, const Evaluation &)
Thermal conductivity of the component [W/(m^2 K/m)] as a liquid.
Definition: Component.hpp:235
static Evaluation liquidInternalEnergy(const Evaluation &, const Evaluation &)
Specific internal energy of pure the pure component in liquid.
Definition: Component.hpp:200
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 Scalar molarMass()
The molar mass in of the component.
Definition: Component.hpp:93