OGS
MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4 Struct Referencefinal

Detailed Description

Water liquid saturation density in region4 curve based on the IAPWS Industrial Formulation 1997 IF97-Rev

Definition at line 15 of file WaterLiquidDensityIAPWSIF97Region4.h.

#include <WaterLiquidDensityIAPWSIF97Region4.h>

Inheritance diagram for MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4:
[legend]
Collaboration diagram for MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4:
[legend]

Public Member Functions

 WaterLiquidDensityIAPWSIF97Region4 (std::string name)
void checkScale () const override
PropertyDataType value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
PropertyDataType dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
Public Member Functions inherited from MaterialPropertyLib::Property
virtual ~Property ()
virtual PropertyDataType initialValue (ParameterLib::SpatialPosition const &pos, double const t) const
virtual PropertyDataType value () const
virtual PropertyDataType value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
virtual PropertyDataType dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
virtual PropertyDataType d2Value (VariableArray const &variable_array, Variable const variable1, Variable const variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
 Default implementation: 2nd derivative of any constant property is zero.
virtual void setProperties (std::vector< std::unique_ptr< Phase > > const &phases)
 Default implementation:
void setScale (std::variant< Medium *, Phase *, Component * > scale)
template<typename T>
initialValue (ParameterLib::SpatialPosition const &pos, double const t) const
template<typename T>
value () const
template<typename T>
value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
template<typename T>
value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
template<typename T>
dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
template<typename T>
dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const
template<typename T>
d2Value (VariableArray const &variable_array, Variable const &variable1, Variable const &variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const

Additional Inherited Members

Protected Attributes inherited from MaterialPropertyLib::Property
std::string name_
PropertyDataType value_
 The single value of a property.
PropertyDataType dvalue_
std::variant< Medium *, Phase *, Component * > scale_

Constructor & Destructor Documentation

◆ WaterLiquidDensityIAPWSIF97Region4()

MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4::WaterLiquidDensityIAPWSIF97Region4 ( std::string name)
inlineexplicit

Member Function Documentation

◆ checkScale()

void MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4::checkScale ( ) const
inlineoverridevirtual

Reimplemented from MaterialPropertyLib::Property.

Definition at line 21 of file WaterLiquidDensityIAPWSIF97Region4.h.

22 {
23 if (!std::holds_alternative<Phase*>(scale_))
24 {
26 "The property 'WaterLiquidDensityIAPWSIF97Region4' is "
27 "implemented on the 'Phase' scale only.");
28 }
29 }
#define OGS_FATAL(...)
Definition Error.h:10
std::variant< Medium *, Phase *, Component * > scale_

References OGS_FATAL, and MaterialPropertyLib::Property::scale_.

◆ dValue()

PropertyDataType MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4::dValue ( VariableArray const & variable_array,
Variable const variable,
ParameterLib::SpatialPosition const & pos,
double const t,
double const dt ) const
overridevirtual
Returns
The derivative of water liquid saturation density in region4 curve.

Reimplemented from MaterialPropertyLib::Property.

Definition at line 41 of file WaterLiquidDensityIAPWSIF97Region4.cpp.

45{
46 OGS_FATAL("WaterLiquidDensityIAPWSIF97Region4::dValue is not implemented.");
47}

References OGS_FATAL.

◆ value()

PropertyDataType MaterialPropertyLib::WaterLiquidDensityIAPWSIF97Region4::value ( VariableArray const & variable_array,
ParameterLib::SpatialPosition const & pos,
double const t,
double const dt ) const
overridevirtual
Returns
The water liquid saturation density in region4 curve

< reference temperature in K.

< reference pressure in Pa.

Reimplemented from MaterialPropertyLib::Property.

Definition at line 16 of file WaterLiquidDensityIAPWSIF97Region4.cpp.

20{
21 double const p = variable_array.liquid_phase_pressure;
22
24 p, "the water liquid saturation density");
25
26 const MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1
28
29 static constexpr double ref_T_ = 1386;
30 static constexpr double ref_p_ = 1.653e7;
31
33 double const tau = ref_T_ / T_s;
34 double const pi = p / ref_p_;
35
36 return ref_p_ /
38 T_s * gibbs_free_energy_.get_dgamma_dpi(tau, pi));
39}
void checkPressureInRange(double const pressure, std::string_view const quantity)
static constexpr double ref_p_
reference pressure in Pa.
const MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1 gibbs_free_energy_
static constexpr double ref_T_
reference temperature in K.
static boost::math::differentiation::promote< S, T > get_dgamma_dpi(const S tau, const T pi)

References MaterialPropertyLib::IAPWSIF97Region4::checkPressureInRange(), MaterialPropertyLib::gibbs_free_energy_, MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::ref_p_, MaterialPropertyLib::ref_T_, MaterialLib::PhysicalConstant::SpecificGasConstant::WaterIF97, and MaterialPropertyLib::IAPWSIF97Region4::waterSaturationTemperature().


The documentation for this struct was generated from the following files: