OGS
SolidDensity.cpp
Go to the documentation of this file.
1
10#include "SolidDensity.h"
11
12namespace ProcessLib::TH2M
13{
14namespace ConstitutiveRelations
15{
16
18 MediaData const& media_data,
19 TemperatureData const& T_data,
20 SolidDensityData& solid_density_data) const
21{
23 variables.temperature = T_data.T;
24
25 auto const& mpl_solid_density =
27
28 solid_density_data.rho_SR = mpl_solid_density.template value<double>(
29 variables, x_t.x, x_t.t, x_t.dt);
30}
31
33 SpaceTimeData const& x_t,
34 MediaData const& media_data,
35 TemperatureData const& T_data,
36 SolidDensityDerivativeData& solid_density_d_data) const
37{
39 variables.temperature = T_data.T;
40
41 auto const& mpl_solid_density =
43
44 solid_density_d_data.drho_SR_dT = mpl_solid_density.template dValue<double>(
46 x_t.dt);
47}
48
49template <int DisplacementDim>
51 eval(SpaceTimeData const& x_t,
52 MediaData const& media_data,
53 TemperatureData const& T_data,
54 BiotData const& biot,
55 StrainData<DisplacementDim> const& strain_data,
56 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
57 SolidDensityData& solid_density_data) const
58{
60 variables.temperature = T_data.T;
61
62 static int const KelvinVectorSize =
65 double const div_u = Invariants::trace(strain_data.eps);
66
67 auto const& mpl_solid_density =
69
70 auto const rho_ref_SR = mpl_solid_density.template value<double>(
71 variables, x_t.x, x_t.t, x_t.dt);
72
73 solid_density_data.rho_SR =
74 rho_ref_SR *
75 (1. - s_therm_exp_data.thermal_volume_strain + (biot() - 1.) * div_u);
76}
77
78template <int DisplacementDim>
80 dEval(SpaceTimeData const& x_t,
81 MediaData const& media_data,
82 TemperatureData const& T_data,
83 BiotData const& biot,
84 StrainData<DisplacementDim> const& strain_data,
85 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
86 SolidDensityDerivativeData& solid_density_d_data) const
87{
89 variables.temperature = T_data.T;
90
91 static int const KelvinVectorSize =
94 double const div_u = Invariants::trace(strain_data.eps);
95
96 auto const& mpl_solid_density =
98
99 auto const rho_ref_SR = mpl_solid_density.template value<double>(
100 variables, x_t.x, x_t.t, x_t.dt);
101
102 solid_density_d_data.drho_SR_dT =
103 mpl_solid_density.template dValue<double>(
105 x_t.dt) *
106 (1. - s_therm_exp_data.thermal_volume_strain +
107 (biot() - 1.) * div_u) -
108 rho_ref_SR * s_therm_exp_data.beta_T_SR;
109}
110
113} // namespace ConstitutiveRelations
114} // 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::Phase const & solid
Definition Base.h:46
void dEval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, BiotData const &biot, StrainData< DisplacementDim > const &strain_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, SolidDensityDerivativeData &solid_density_d_data) const
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, BiotData const &biot, StrainData< DisplacementDim > const &strain_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, SolidDensityData &solid_density_data) const
void dEval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, SolidDensityDerivativeData &solid_density_d_data) const
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, SolidDensityData &solid_density_data) const