Loading [MathJax]/extensions/tex2jax.js
OGS
ProcessLib::ThermoRichardsMechanics::SolidDensityModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::ThermoRichardsMechanics::SolidDensityModel< DisplacementDim >

Definition at line 34 of file SolidDensity.h.

#include <SolidDensity.h>

Public Member Functions

void eval (SpaceTimeData const &x_t, MediaData const &media_data, PorosityData const &poro_data, TemperatureData< DisplacementDim > const &T_data, ProcessLib::ConstitutiveRelations::EffectiveStressData< DisplacementDim > const &sigma_eff_data, CapillaryPressureData< DisplacementDim > const &p_cap_data, BishopsData const &bishops_data, SolidDensityData &out) const
 

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::ThermoRichardsMechanics::SolidDensityModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
MediaData const & media_data,
PorosityData const & poro_data,
TemperatureData< DisplacementDim > const & T_data,
ProcessLib::ConstitutiveRelations::EffectiveStressData< DisplacementDim > const & sigma_eff_data,
CapillaryPressureData< DisplacementDim > const & p_cap_data,
BishopsData const & bishops_data,
SolidDensityData & out ) const

Definition at line 16 of file SolidDensity.cpp.

26{
27 namespace MPL = MaterialPropertyLib;
28 MPL::VariableArray variables;
29 variables.temperature = T_data.T;
30
31 double const p_FR = -bishops_data.chi_S_L * p_cap_data.p_cap;
32
33 auto const& identity2 = MathLib::KelvinVector::Invariants<
35 DisplacementDim)>::identity2;
36 variables.solid_grain_pressure =
37 p_FR -
38 sigma_eff_data.sigma_eff.dot(identity2) / (3 * (1 - poro_data.phi));
39
40 out.rho_SR = media_data.solid.property(MPL::PropertyType::density)
41 .template value<double>(variables, x_t.x, x_t.t, x_t.dt);
42 out.dry_density_solid =
43 (1 - poro_data.phi) * out.rho_SR; // TODO only for output
44}
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > sigma_eff

References ProcessLib::ThermoRichardsMechanics::BishopsData::chi_S_L, ProcessLib::ThermoRichardsMechanics::SolidDensityData::dry_density_solid, ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, MathLib::KelvinVector::kelvin_vector_dimensions(), ProcessLib::ThermoRichardsMechanics::CapillaryPressureData< DisplacementDim >::p_cap, ProcessLib::ThermoRichardsMechanics::PorosityData::phi, MaterialPropertyLib::Phase::property(), ProcessLib::ThermoRichardsMechanics::SolidDensityData::rho_SR, ProcessLib::ThermoRichardsMechanics::MediaData::solid, MaterialPropertyLib::VariableArray::solid_grain_pressure, ProcessLib::ThermoRichardsMechanics::TemperatureData< DisplacementDim >::T, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, MaterialPropertyLib::VariableArray::temperature, and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.


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