Processing math: 100%
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_concentrationC_0
fluid_density_concentration_difference_ratio \bar \alpha in reference
reference_pressurep_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: