OGS
Porosity.cpp
Go to the documentation of this file.
1
10#include "Porosity.h"
11
12namespace ProcessLib::TH2M
13{
14namespace ConstitutiveRelations
15{
16
18 MediaData const& media_data,
19 PorosityData& porosity_data,
20 PorosityDerivativeData& porosity_d_data) const
21{
23
24 auto const& mpl_porosity =
26
27 porosity_data.phi =
28 mpl_porosity.template value<double>(variables, x_t.x, x_t.t, x_t.dt);
29
30 porosity_d_data.dphi_dT = mpl_porosity.template dValue<double>(
32 x_t.dt);
33}
34
35template <int DisplacementDim>
37 SpaceTimeData const& x_t,
38 MediaData const& media_data,
39 BiotData const& biot,
40 StrainData<DisplacementDim> const& strain_data,
41 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
42 PorosityData& porosity_data,
43 PorosityDerivativeData& porosity_d_data) const
44{
46
47 auto const& mpl_porosity =
49
50 double const phi_0 =
51 mpl_porosity.template value<double>(variables, x_t.x, x_t.t, x_t.dt);
52
53 static int const KelvinVectorSize =
56 double const div_u = Invariants::trace(strain_data.eps);
57
58 double const phi_S =
59 (1. - phi_0) *
60 (1. + s_therm_exp_data.thermal_volume_strain - biot() * div_u);
61
62 porosity_data.phi = 1. - phi_S;
63
64 auto const dphi_0_dT = mpl_porosity.template dValue<double>(
66 x_t.dt);
67
68 porosity_d_data.dphi_dT =
69 dphi_0_dT *
70 (1. + s_therm_exp_data.thermal_volume_strain - biot() * div_u) -
71 (1. - phi_0) * s_therm_exp_data.beta_T_SR;
72}
73
76} // namespace ConstitutiveRelations
77} // namespace ProcessLib::TH2M
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
ParameterLib::SpatialPosition x
Definition Base.h:74
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > eps
Definition StrainData.h:20
MaterialPropertyLib::Medium const & medium
Definition Base.h:45
void eval(SpaceTimeData const &x_t, MediaData const &media_data, BiotData const &biot, StrainData< DisplacementDim > const &strain_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, PorosityData &porosity_data, PorosityDerivativeData &porosity_d_data) const
Definition Porosity.cpp:36
void eval(SpaceTimeData const &x_t, MediaData const &media_data, PorosityData &porosity_data, PorosityDerivativeData &porosity_d_data) const
Definition Porosity.cpp:17