OGS
MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity Class Referencefinal

Detailed Description

Linear concentration dependent density model.

\[ \varrho = \varrho_{\text{ref}} (1 + \bar \alpha (C - C_{\text{ref}}) + \bar \beta (p - p_{\text{ref}}) ) \]

where

  • \( \varrho_{\text{ref}}\) is the reference density
  • \( \bar \alpha\) is the fluid density concentration difference ratio
  • \( C_{\text{ref}}\) is the reference concentration
  • \( \bar \beta\) is the fluid density pressure difference ratio
  • \( p_{\text{ref}}\) is the reference pressure

Definition at line 30 of file LinearConcentrationAndPressureDependentDensity.h.

#include <LinearConcentrationAndPressureDependentDensity.h>

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

Public Member Functions

 LinearConcentrationAndPressureDependentDensity (const double reference_density, double reference_concentration, const double fluid_density_concentration_difference_ratio, double reference_pressure, const double fluid_density_pressure_difference_ratio)
 
std::string getName () const override
 Get model name.
 
double getValue (const ArrayType &var_vals) const override
 
double getdValue (const ArrayType &, const PropertyVariableType var) const override
 
- Public Member Functions inherited from MaterialLib::Fluid::FluidProperty
virtual ~FluidProperty ()=default
 

Private Attributes

const double _reference_density
 
const double _reference_concentration
 
const double _fluid_density_concentration_difference_ratio
 
const double _reference_pressure
 
const double _fluid_density_pressure_difference_ratio
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ LinearConcentrationAndPressureDependentDensity()

MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::LinearConcentrationAndPressureDependentDensity ( const double reference_density,
double reference_concentration,
const double fluid_density_concentration_difference_ratio,
double reference_pressure,
const double fluid_density_pressure_difference_ratio )
inlineexplicit
Parameters
reference_density\(\rho_0\)
reference_concentration\(C_0\)
fluid_density_concentration_difference_ratio\( \bar \alpha \) in reference
reference_pressure\(p_0\)
fluid_density_pressure_difference_ratio\( \bar \beta \) in reference Coupled groundwater flow and transport: 2. Thermohaline and 3D convection systems

Definition at line 44 of file LinearConcentrationAndPressureDependentDensity.h.

Member Function Documentation

◆ getdValue()

double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::getdValue ( const ArrayType & ,
const PropertyVariableType var ) const
inlineoverridevirtual

◆ getName()

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

Get model name.

Implements MaterialLib::Fluid::FluidProperty.

Definition at line 60 of file LinearConcentrationAndPressureDependentDensity.h.

61 {
62 return "Linear concentration and pressure dependent density";
63 }

◆ getValue()

double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::getValue ( const ArrayType & var_vals) const
inlineoverridevirtual

Get density value.

Parameters
var_valsVariable values in an array. The order of its elements is given in enum class PropertyVariableType.

Implements MaterialLib::Fluid::FluidProperty.

Definition at line 68 of file LinearConcentrationAndPressureDependentDensity.h.

69 {
70 const double C = var_vals[static_cast<int>(PropertyVariableType::C)];
71 const double p = var_vals[static_cast<int>(PropertyVariableType::p)];
72 return _reference_density *
73 (1 +
78 }

References _fluid_density_concentration_difference_ratio, _fluid_density_pressure_difference_ratio, _reference_concentration, _reference_density, _reference_pressure, MaterialLib::Fluid::C, and MaterialLib::Fluid::p.

Member Data Documentation

◆ _fluid_density_concentration_difference_ratio

const double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::_fluid_density_concentration_difference_ratio
private

Definition at line 101 of file LinearConcentrationAndPressureDependentDensity.h.

Referenced by getdValue(), and getValue().

◆ _fluid_density_pressure_difference_ratio

const double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::_fluid_density_pressure_difference_ratio
private

Definition at line 103 of file LinearConcentrationAndPressureDependentDensity.h.

Referenced by getdValue(), and getValue().

◆ _reference_concentration

const double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::_reference_concentration
private

Definition at line 100 of file LinearConcentrationAndPressureDependentDensity.h.

Referenced by getValue().

◆ _reference_density

const double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::_reference_density
private

Definition at line 99 of file LinearConcentrationAndPressureDependentDensity.h.

Referenced by getdValue(), and getValue().

◆ _reference_pressure

const double MaterialLib::Fluid::LinearConcentrationAndPressureDependentDensity::_reference_pressure
private

Definition at line 102 of file LinearConcentrationAndPressureDependentDensity.h.

Referenced by getValue().


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