Loading [MathJax]/jax/output/HTML-CSS/config.js
OGS
ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim >

Definition at line 25 of file PermeabilityModel.h.

#include <PermeabilityModel.h>

Public Member Functions

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

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::PermeabilityModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
MediaData const & media_data,
SaturationData const & S_L_data,
GasPressureData const & p_g,
CapillaryPressureData const & p_cap,
TemperatureData const & T_data,
TransportPorosityData const & transport_poro_data,
TotalStressData< DisplacementDim > const & total_stress_data,
StrainData< DisplacementDim > const & eps_data,
EquivalentPlasticStrainData const & equivalent_plastic_strain,
PermeabilityData< DisplacementDim > & out ) const

Definition at line 19 of file PermeabilityModel.cpp.

28{
29 namespace MPL = MaterialPropertyLib;
30
31 static constexpr int kelvin_vector_size =
34
35 auto const& medium = media_data.medium;
36
37 MPL::VariableArray variables;
38 variables.liquid_saturation = S_L_data.S_L;
39 variables.temperature = T_data.T;
40 variables.capillary_pressure = p_cap.pCap;
41 variables.gas_phase_pressure = p_g.pG;
42 variables.transport_porosity = transport_poro_data.phi;
43
44 out.k_rel_G =
45 medium
46 .property(MPL::PropertyType::relative_permeability_nonwetting_phase)
47 .template value<double>(variables, x_t.x, x_t.t, x_t.dt);
48
49 out.dk_rel_G_dS_L =
50 medium[MPL::PropertyType::relative_permeability_nonwetting_phase]
51 .template dValue<double>(variables,
52 MPL::Variable::liquid_saturation, x_t.x,
53 x_t.t, x_t.dt);
54
55 out.k_rel_L = medium.property(MPL::PropertyType::relative_permeability)
56 .template value<double>(variables, x_t.x, x_t.t, x_t.dt);
57
58 out.dk_rel_L_dS_L = medium[MPL::PropertyType::relative_permeability]
59 .template dValue<double>(
60 variables, MPL::Variable::liquid_saturation,
61 x_t.x, x_t.t, x_t.dt);
62
63 // For stress dependent permeability.
64 variables.total_stress =
66 total_stress_data.sigma_total);
67
69
70 variables.volumetric_strain = Invariants::trace(eps_data.eps);
71
73 medium.property(MPL::PropertyType::permeability)
74 .value(variables, x_t.x, x_t.t, x_t.dt));
75}
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::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::dk_rel_G_dS_L, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::dk_rel_L_dS_L, ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim >::eps, MaterialPropertyLib::VariableArray::equivalent_plastic_strain, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::gas_phase_pressure, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_G, ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::k_rel_L, MathLib::KelvinVector::kelvin_vector_dimensions(), MathLib::KelvinVector::kelvinVectorToSymmetricTensor(), ProcessLib::TH2M::ConstitutiveRelations::PermeabilityData< DisplacementDim >::Ki, MaterialPropertyLib::VariableArray::liquid_saturation, ProcessLib::TH2M::ConstitutiveRelations::MediaData::medium, ProcessLib::TH2M::ConstitutiveRelations::CapillaryPressureData::pCap, ProcessLib::TH2M::ConstitutiveRelations::GasPressureData::pG, ProcessLib::TH2M::ConstitutiveRelations::TransportPorosityData::phi, ProcessLib::TH2M::ConstitutiveRelations::SaturationData::S_L, ProcessLib::TH2M::ConstitutiveRelations::TotalStressData< DisplacementDim >::sigma_total, ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::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: