OGS
MaterialPropertyLib::WaterSaturationTemperatureIAPWSIF97Region4 Struct Referencefinal

Detailed Description

Water saturation temperature model based on the IAPWS Industrial Formulation 1997 IF97-Rev

Definition at line 23 of file WaterSaturationTemperatureIAPWSIF97Region4.h.

#include <WaterSaturationTemperatureIAPWSIF97Region4.h>

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

Public Member Functions

 WaterSaturationTemperatureIAPWSIF97Region4 (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

◆ WaterSaturationTemperatureIAPWSIF97Region4()

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

Member Function Documentation

◆ checkScale()

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

Reimplemented from MaterialPropertyLib::Property.

Definition at line 29 of file WaterSaturationTemperatureIAPWSIF97Region4.h.

30 {
31 if (!std::holds_alternative<Phase*>(scale_))
32 {
34 "The property 'WaterSaturationTemperatureIAPWSIF97Region4' is "
35 "implemented on the 'Phase' scale only.");
36 }
37 }
#define OGS_FATAL(...)
Definition Error.h:26
std::variant< Medium *, Phase *, Component * > scale_
Definition Property.h:297

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

◆ dValue()

PropertyDataType MaterialPropertyLib::WaterSaturationTemperatureIAPWSIF97Region4::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 saturation temperature.

Reimplemented from MaterialPropertyLib::Property.

Definition at line 40 of file WaterSaturationTemperatureIAPWSIF97Region4.cpp.

44{
46 "WaterSaturationTemperatureIAPWSIF97Region4::dValue is not "
47 "implemented.");
48}

References OGS_FATAL.

◆ value()

PropertyDataType MaterialPropertyLib::WaterSaturationTemperatureIAPWSIF97Region4::value ( VariableArray const & variable_array,
ParameterLib::SpatialPosition const & pos,
double const t,
double const dt ) const
overridevirtual
Returns
The water saturation temperature.

According to the IAPWS-IF97: http://www.iapws.org/relguide/IF97-Rev.pdf, the vapor-liquid saturation line in region4 only covers the pressure range between 611.213 Pa and 22.064 MPa.

Reimplemented from MaterialPropertyLib::Property.

Definition at line 19 of file WaterSaturationTemperatureIAPWSIF97Region4.cpp.

23{
24 double const p = variable_array.liquid_phase_pressure;
25
30 if ((p < 611.213) || (p > 22.064e6))
31 {
32 WARN(
33 "Pressure is out of the range for the water saturation temperature "
34 "in region4.");
35 }
36
38}
void WARN(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:40

References MaterialPropertyLib::VariableArray::liquid_phase_pressure, WARN(), and MaterialPropertyLib::IAPWSIF97Region4::waterSaturationTemperature().


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