OGS
ProcessLib::ThermoRichardsMechanics::PermeabilityModel< DisplacementDim > Struct Template Reference

Detailed Description

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

Definition at line 16 of file ThermoRichardsMechanics/ConstitutiveCommon/PermeabilityModel.h.

#include <PermeabilityModel.h>

Public Member Functions

void eval (SpaceTimeData const &x_t, MediaData const &media_data, SaturationData const &S_L_data, CapillaryPressureData< DisplacementDim > const &p_cap_data, TemperatureData< DisplacementDim > const &T_data, TransportPorosityData const &transport_poro_data, TotalStressData< DisplacementDim > const &total_stress_data, StrainData< DisplacementDim > const &eps_data, EquivalentPlasticStrainData const &equiv_plast_strain_data, PermeabilityData< DisplacementDim > &out) const

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::ThermoRichardsMechanics::PermeabilityModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
MediaData const & media_data,
SaturationData const & S_L_data,
CapillaryPressureData< DisplacementDim > const & p_cap_data,
TemperatureData< DisplacementDim > const & T_data,
TransportPorosityData const & transport_poro_data,
TotalStressData< DisplacementDim > const & total_stress_data,
StrainData< DisplacementDim > const & eps_data,
EquivalentPlasticStrainData const & equiv_plast_strain_data,
PermeabilityData< DisplacementDim > & out ) const

Definition at line 11 of file ThermoRichardsMechanics/ConstitutiveCommon/PermeabilityModel.cpp.

21{
22 namespace MPL = MaterialPropertyLib;
23
24 static constexpr int kelvin_vector_size =
27
28 auto const& medium = media_data.medium;
29
31 variables.liquid_saturation = S_L_data.S_L;
32 variables.temperature = T_data.T;
33 variables.capillary_pressure = p_cap_data.p_cap;
34 variables.transport_porosity = transport_poro_data.phi;
35
37 .template value<double>(variables, x_t.x, x_t.t, x_t.dt);
38 out.dk_rel_dS_L =
40 .template dValue<double>(variables,
42 x_t.x,
43 x_t.t,
44 x_t.dt);
45
46 // For stress dependent permeability.
47 using SymmetricTensor =
48 KelvinVector<DisplacementDim>; // same data type, but different
49 // semantics
50 variables.total_stress.emplace<SymmetricTensor>(
52 total_stress_data.sigma_total));
53
54 variables.equivalent_plastic_strain =
55 equiv_plast_strain_data.equivalent_plastic_strain;
56
57 variables.volumetric_strain = Invariants::trace(eps_data.eps);
58
61 .value(variables, x_t.x, x_t.t, x_t.dt));
62
63 out.Ki = K_intrinsic;
64}
constexpr Eigen::Matrix< double, GlobalDim, GlobalDim > formEigenTensor(MaterialPropertyLib::PropertyDataType const &values)
Eigen::Matrix< double, 4, 1 > kelvinVectorToSymmetricTensor(Eigen::Matrix< double, 4, 1, Eigen::ColMajor, 4, 1 > const &v)
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.

References MaterialPropertyLib::VariableArray::capillary_pressure, ProcessLib::ThermoRichardsMechanics::PermeabilityData< DisplacementDim >::dk_rel_dS_L, ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim >::eps, MaterialPropertyLib::VariableArray::equivalent_plastic_strain, ProcessLib::ThermoRichardsMechanics::EquivalentPlasticStrainData::equivalent_plastic_strain, MaterialPropertyLib::formEigenTensor(), ProcessLib::ThermoRichardsMechanics::PermeabilityData< DisplacementDim >::k_rel, MathLib::KelvinVector::kelvin_vector_dimensions(), MathLib::KelvinVector::kelvinVectorToSymmetricTensor(), ProcessLib::ThermoRichardsMechanics::PermeabilityData< DisplacementDim >::Ki, MaterialPropertyLib::liquid_saturation, MaterialPropertyLib::VariableArray::liquid_saturation, ProcessLib::ThermoRichardsMechanics::MediaData::medium, ProcessLib::ThermoRichardsMechanics::CapillaryPressureData< DisplacementDim >::p_cap, MaterialPropertyLib::permeability, ProcessLib::ThermoRichardsMechanics::TransportPorosityData::phi, MaterialPropertyLib::relative_permeability, ProcessLib::ThermoRichardsMechanics::SaturationData::S_L, ProcessLib::ThermoRichardsMechanics::TotalStressData< DisplacementDim >::sigma_total, ProcessLib::ThermoRichardsMechanics::TemperatureData< DisplacementDim >::T, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, MaterialPropertyLib::VariableArray::temperature, MaterialPropertyLib::VariableArray::total_stress, MaterialPropertyLib::VariableArray::transport_porosity, MaterialPropertyLib::VariableArray::volumetric_strain, and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.


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