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

Detailed Description

template<int DisplacementDim>
struct ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::TransportPorosityModel< DisplacementDim >

Definition at line 25 of file TransportPorosity.h.

#include <TransportPorosity.h>

Public Member Functions

void eval (SpaceTimeData const &x_t, MediaData const &media_data, SolidCompressibilityData const &solid_compressibility_data, BishopsData const &bishops_data, PrevState< BishopsData > const &bishops_data_prev, CapillaryPressureData< DisplacementDim > const &p_cap_data, PorosityData const &poro_data, ProcessLib::ConstitutiveRelations::MechanicalStrainData< DisplacementDim > const &eps_m_data, PrevState< ProcessLib::ConstitutiveRelations::MechanicalStrainData< DisplacementDim > > const &eps_m_prev_data, PrevState< TransportPorosityData > const &transport_poro_data_prev, TransportPorosityData &transport_poro_data) const
 

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::TransportPorosityModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
MediaData const & media_data,
SolidCompressibilityData const & solid_compressibility_data,
BishopsData const & bishops_data,
PrevState< BishopsData > const & bishops_data_prev,
CapillaryPressureData< DisplacementDim > const & p_cap_data,
PorosityData const & poro_data,
ProcessLib::ConstitutiveRelations::MechanicalStrainData< DisplacementDim > const & eps_m_data,
PrevState< ProcessLib::ConstitutiveRelations::MechanicalStrainData< DisplacementDim > > const & eps_m_prev_data,
PrevState< TransportPorosityData > const & transport_poro_data_prev,
TransportPorosityData & transport_poro_data ) const

Definition at line 20 of file TransportPorosity.cpp.

33{
34 namespace MPL = MaterialPropertyLib;
35
36 auto const& medium = media_data.medium;
37
38 if (!medium.hasProperty(MPL::PropertyType::transport_porosity))
39 {
40 transport_poro_data.phi = poro_data.phi;
41 return;
42 }
43
44 MPL::VariableArray variables;
45 MPL::VariableArray variables_prev;
46
47 static constexpr int kelvin_vector_size =
50 // Used in
51 // MaterialLib/MPL/Properties/PermeabilityOrthotropicPowerLaw.cpp
52 variables_prev.transport_porosity = transport_poro_data_prev->phi;
53
54 // Used in
55 // MaterialLib/MPL/Properties/TransportPorosityFromMassBalance.cpp
56 variables.grain_compressibility = solid_compressibility_data.beta_SR;
57 // Set volumetric mechanical strain rate for the general case without
58 // swelling.
60 Invariants::trace(eps_m_data.eps_m);
61 variables_prev.volumetric_mechanical_strain =
62 Invariants::trace(eps_m_prev_data->eps_m);
63 variables.effective_pore_pressure =
64 -bishops_data.chi_S_L * p_cap_data.p_cap;
65 variables.porosity = poro_data.phi;
66
67 // Used in MaterialLib/MPL/Properties/PorosityFromMassBalance.cpp
68 // and MaterialLib/MPL/Properties/TransportPorosityFromMassBalance.cpp
69 variables_prev.effective_pore_pressure =
70 -bishops_data_prev->chi_S_L * p_cap_data.p_cap_prev;
71
72 transport_poro_data.phi =
73 medium.property(MPL::PropertyType::transport_porosity)
74 .template value<double>(variables, variables_prev, x_t.x, x_t.t,
75 x_t.dt);
76}
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > eps_m

References ProcessLib::ThermoRichardsMechanics::SolidCompressibilityData::beta_SR, ProcessLib::ThermoRichardsMechanics::BishopsData::chi_S_L, ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, MaterialPropertyLib::VariableArray::effective_pore_pressure, MaterialPropertyLib::VariableArray::grain_compressibility, MathLib::KelvinVector::kelvin_vector_dimensions(), ProcessLib::ThermoRichardsMechanics::MediaData::medium, ProcessLib::ThermoRichardsMechanics::CapillaryPressureData< DisplacementDim >::p_cap, ProcessLib::ThermoRichardsMechanics::CapillaryPressureData< DisplacementDim >::p_cap_prev, ProcessLib::ThermoRichardsMechanics::PorosityData::phi, ProcessLib::ThermoRichardsMechanics::TransportPorosityData::phi, MaterialPropertyLib::VariableArray::porosity, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, MaterialPropertyLib::VariableArray::transport_porosity, MaterialPropertyLib::VariableArray::volumetric_mechanical_strain, and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.


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