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 SpaceTimeData const& x_t,
19 MediaData const& media_data,
20 TemperatureData const& T_data,
21 SolidDensityData& solid_density_data,
22 SolidDensityDerivativeData& solid_density_d_data) const
23{
25 variables.temperature = T_data.T;
26
27 auto const& mpl_solid_density =
29
30 solid_density_data.rho_SR = mpl_solid_density.template value<double>(
31 variables, x_t.x, x_t.t, x_t.dt);
32
33 solid_density_d_data.drho_SR_dT = mpl_solid_density.template dValue<double>(
35 x_t.dt);
36}
37
38template <int DisplacementDim>
40 eval(SpaceTimeData const& x_t,
41 MediaData const& media_data,
42 TemperatureData const& T_data,
43 BiotData const& biot,
44 StrainData<DisplacementDim> const& strain_data,
45 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
46 SolidDensityData& solid_density_data,
47 SolidDensityDerivativeData& solid_density_d_data) const
48{
50 variables.temperature = T_data.T;
51
52 static int const KelvinVectorSize =
55 double const div_u = Invariants::trace(strain_data.eps);
56
57 auto const& mpl_solid_density =
59
60 auto const rho_ref_SR = mpl_solid_density.template value<double>(
61 variables, x_t.x, x_t.t, x_t.dt);
62
63 solid_density_data.rho_SR =
64 rho_ref_SR *
65 (1. - s_therm_exp_data.thermal_volume_strain + (biot() - 1.) * div_u);
66
67 solid_density_d_data.drho_SR_dT =
68 mpl_solid_density.template dValue<double>(
70 x_t.dt) *
71 (1. - s_therm_exp_data.thermal_volume_strain +
72 (biot() - 1.) * div_u) -
73 rho_ref_SR * s_therm_exp_data.beta_T_SR;
74}
75
78} // namespace ConstitutiveRelations
79} // 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 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, SolidDensityDerivativeData &solid_density_d_data) const
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, SolidDensityData &solid_density_data, SolidDensityDerivativeData &solid_density_d_data) const