Loading [MathJax]/extensions/tex2jax.js
OGS
MaterialLib::Fluid::WaterDensityIAPWSIF97Region1 Class Referencefinal

Detailed Description

Water density model base on the IAPWS Industrial Formulation 1997 IF97-Rev

Definition at line 28 of file WaterDensityIAPWSIF97Region1.h.

#include <WaterDensityIAPWSIF97Region1.h>

Inheritance diagram for MaterialLib::Fluid::WaterDensityIAPWSIF97Region1:
[legend]
Collaboration diagram for MaterialLib::Fluid::WaterDensityIAPWSIF97Region1:
[legend]

Public Member Functions

 WaterDensityIAPWSIF97Region1 ()
 
std::string getName () const override
 Get density model name. More...
 
double getValue (const ArrayType &var_vals) const override
 
double getdValue (const ArrayType &var_vals, const PropertyVariableType var_type) const override
 
- Public Member Functions inherited from MaterialLib::Fluid::FluidProperty
virtual ~FluidProperty ()=default
 

Private Attributes

const DimensionLessGibbsFreeEnergyRegion1 _gibbs_free_energy
 
const double _ref_T = 1386
 reference temperature in K. More...
 
const double _ref_p = 1.653e7
 
const double _sR = 461.526
 Specific water vapour gas constant in J/(kgK). More...
 

Additional Inherited Members

- Public Types inherited from MaterialLib::Fluid::FluidProperty
using ArrayType = std::array< double, PropertyVariableNumber >
 

Constructor & Destructor Documentation

◆ WaterDensityIAPWSIF97Region1()

MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::WaterDensityIAPWSIF97Region1 ( )
inline

Definition at line 31 of file WaterDensityIAPWSIF97Region1.h.

32  : _gibbs_free_energy(DimensionLessGibbsFreeEnergyRegion1()){};
const DimensionLessGibbsFreeEnergyRegion1 _gibbs_free_energy

Member Function Documentation

◆ getdValue()

double MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::getdValue ( const ArrayType var_vals,
const PropertyVariableType  var_type 
) const
inlineoverridevirtual

Get the partial differential of the density with respect to temperature or pressure.

Parameters
var_valsVariable values in an array of temperature and pressure.
var_typeVariable type.

Implements MaterialLib::Fluid::FluidProperty.

Definition at line 58 of file WaterDensityIAPWSIF97Region1.h.

60  {
61  const double T = var_vals[static_cast<int>(PropertyVariableType::T)];
62  const double p = var_vals[static_cast<int>(PropertyVariableType::p)];
63 
64  const double tau = _ref_T / T;
65  const double pi = p / _ref_p;
66 
67  const double dgamma_dpi = _gibbs_free_energy.get_dgamma_dpi(tau, pi);
68  switch (var_type)
69  {
71  return -(_ref_p -
72  tau * _ref_p *
74  dgamma_dpi) /
75  (_sR * T * T * dgamma_dpi);
77  return -_gibbs_free_energy.get_dgamma_dpi_dpi(tau, pi) /
78  (_sR * T * dgamma_dpi * dgamma_dpi);
79  default:
80  return 0.0;
81  }
82  }
const double _sR
Specific water vapour gas constant in J/(kgK).
static double get_dgamma_dpi_dpi(const double tau, const double pi)
static double get_dgamma_dtau_dpi(const double tau, const double pi)

References _gibbs_free_energy, _ref_p, _ref_T, _sR, MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1::get_dgamma_dpi(), MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1::get_dgamma_dpi_dpi(), MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1::get_dgamma_dtau_dpi(), MaterialLib::Fluid::p, and MaterialLib::Fluid::T.

◆ getName()

std::string MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::getName ( ) const
inlineoverridevirtual

Get density model name.

Implements MaterialLib::Fluid::FluidProperty.

Definition at line 35 of file WaterDensityIAPWSIF97Region1.h.

36  {
37  return "Water density model based on IAPWSIF97";
38  }

◆ getValue()

double MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::getValue ( const ArrayType var_vals) const
inlineoverridevirtual

Get density value.

Parameters
var_valsVariable values in an array of temperature and pressure.

Implements MaterialLib::Fluid::FluidProperty.

Definition at line 42 of file WaterDensityIAPWSIF97Region1.h.

43  {
44  const double T = var_vals[static_cast<int>(PropertyVariableType::T)];
45  const double p = var_vals[static_cast<int>(PropertyVariableType::p)];
46  const double tau = _ref_T / T;
47  const double pi = p / _ref_p;
48 
49  return _ref_p / (_sR * T * _gibbs_free_energy.get_dgamma_dpi(tau, pi));
50  }

References _gibbs_free_energy, _ref_p, _ref_T, _sR, MaterialLib::Fluid::DimensionLessGibbsFreeEnergyRegion1::get_dgamma_dpi(), MaterialLib::Fluid::p, and MaterialLib::Fluid::T.

Member Data Documentation

◆ _gibbs_free_energy

const DimensionLessGibbsFreeEnergyRegion1 MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::_gibbs_free_energy
private

Definition at line 85 of file WaterDensityIAPWSIF97Region1.h.

Referenced by getdValue(), and getValue().

◆ _ref_p

const double MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::_ref_p = 1.653e7
private

reference pressure in Pa.

Definition at line 88 of file WaterDensityIAPWSIF97Region1.h.

Referenced by getdValue(), and getValue().

◆ _ref_T

const double MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::_ref_T = 1386
private

reference temperature in K.

Definition at line 87 of file WaterDensityIAPWSIF97Region1.h.

Referenced by getdValue(), and getValue().

◆ _sR

const double MaterialLib::Fluid::WaterDensityIAPWSIF97Region1::_sR = 461.526
private

Specific water vapour gas constant in J/(kgK).

Definition at line 90 of file WaterDensityIAPWSIF97Region1.h.

Referenced by getdValue(), and getValue().


The documentation for this class was generated from the following file: