![]() |
OGS
|
Class of a generic density model for liquid fluids varying with temperature or pressure.
The formula is given on engineeringtoolbox which reads
\rho_l = \rho_0/(1+\beta(T-T_0))/(1-(p-p_0)/E)
where
\begin{eqnarray*} &\rho_l:& \mbox{liquid density,}\\ &\rho_0:& \mbox{initial liquid density,}\\ &\beta: & \mbox{volumetric temperature expansion coefficient,}\\ &T:& \mbox{temperature,}\\ &T_0:& \mbox{initial temperature,}\\ &p:& \mbox{pressure,}\\ &p_0:& \mbox{initial pressure,}\\ &E:& \mbox{bulk modulus fluid elasticity.}\\ \end{eqnarray*}
Definition at line 51 of file LiquidDensity.h.
#include <LiquidDensity.h>
Public Member Functions | |
LiquidDensity (const double beta, const double rho0, const double T0, const double p0, const double E) | |
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) const override |
![]() | |
virtual | ~FluidProperty ()=default |
Private Member Functions | |
double | dLiquidDensity_dT (const double T, const double p) const |
double | dLiquidDensity_dp (const double T, const double p) const |
Private Attributes | |
const double | _beta |
Volumetric temperature expansion coefficient. More... | |
const double | _rho0 |
Initial density. More... | |
const double | _temperature0 |
Initial temperature. More... | |
const double | _p0 |
Initial pressure. More... | |
const double | _bulk_modulus |
Bulk modulus. More... | |
Additional Inherited Members | |
![]() | |
using | ArrayType = std::array< double, PropertyVariableNumber > |
|
inlineexplicit |
Definition at line 54 of file LiquidDensity.h.
|
inlineprivate |
Calculate the derivative of density of fluids with respect to pressure.
T | Temperature (K). |
p | Pressure (Pa). |
Definition at line 132 of file LiquidDensity.h.
References _beta, _bulk_modulus, _p0, _rho0, _temperature0, MaterialLib::Fluid::p, and MaterialLib::Fluid::T.
Referenced by getdValue().
|
inlineprivate |
Calculate the derivative of density of fluids with respect to temperature.
T | Temperature (K). |
p | Pressure (Pa). |
Definition at line 120 of file LiquidDensity.h.
References _beta, _bulk_modulus, _p0, _rho0, _temperature0, MaterialLib::Fluid::p, and MaterialLib::Fluid::T.
Referenced by getdValue().
|
inlineoverridevirtual |
Get the partial differential of the density with respect to temperature or liquid pressure.
var_vals | Variable values in an array. The order of its elements is given in enum class PropertyVariableType. |
var | Variable type. |
Implements MaterialLib::Fluid::FluidProperty.
Definition at line 82 of file LiquidDensity.h.
References dLiquidDensity_dp(), dLiquidDensity_dT(), MaterialLib::Fluid::p, and MaterialLib::Fluid::T.
|
inlineoverridevirtual |
Get density model name.
Implements MaterialLib::Fluid::FluidProperty.
Definition at line 61 of file LiquidDensity.h.
|
inlineoverridevirtual |
Get density value.
var_vals | Variable values in an array. The order of its elements is given in enum class PropertyVariableType. |
Implements MaterialLib::Fluid::FluidProperty.
Definition at line 69 of file LiquidDensity.h.
References _beta, _bulk_modulus, _p0, _rho0, _temperature0, MaterialLib::Fluid::p, and MaterialLib::Fluid::T.
|
private |
Volumetric temperature expansion coefficient.
Definition at line 100 of file LiquidDensity.h.
Referenced by dLiquidDensity_dp(), dLiquidDensity_dT(), and getValue().
|
private |
Bulk modulus.
Definition at line 112 of file LiquidDensity.h.
Referenced by dLiquidDensity_dp(), dLiquidDensity_dT(), and getValue().
|
private |
Initial pressure.
Definition at line 109 of file LiquidDensity.h.
Referenced by dLiquidDensity_dp(), dLiquidDensity_dT(), and getValue().
|
private |
Initial density.
Definition at line 103 of file LiquidDensity.h.
Referenced by dLiquidDensity_dp(), dLiquidDensity_dT(), and getValue().
|
private |
Initial temperature.
Definition at line 106 of file LiquidDensity.h.
Referenced by dLiquidDensity_dp(), dLiquidDensity_dT(), and getValue().