OGS
MechanicalStrain.cpp
Go to the documentation of this file.
1
10#include "MechanicalStrain.h"
11
12namespace ProcessLib::TH2M
13{
14namespace ConstitutiveRelations
15{
16template <int DisplacementDim>
18 TemperatureData const& T_data,
19 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
21 strain_data,
22 KelvinVector<DisplacementDim> const& eps_prev,
24 SwellingDataStateless<DisplacementDim> const& swelling_data,
26{
28 dthermal_strain =
30 (T_data.T - T_data.T_prev);
31
32 out.eps_m.noalias() = eps_m_prev->eps_m + strain_data.eps - eps_prev -
33 dthermal_strain + swelling_data.eps_m;
34}
35
36template struct MechanicalStrainModel<2>;
37template struct MechanicalStrainModel<3>;
38} // namespace ConstitutiveRelations
39} // namespace ProcessLib::TH2M
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition Base.h:26
Represents a previous state of type T.
Definition Base.h:21
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > eps
Definition StrainData.h:20
void eval(TemperatureData const &T_data, SolidThermalExpansionData< DisplacementDim > const &s_therm_exp_data, ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim > const &strain_data, KelvinVector< DisplacementDim > const &eps_prev, PrevState< MechanicalStrainData< DisplacementDim > > const &eps_m_prev, SwellingDataStateless< DisplacementDim > const &swelling_data, MechanicalStrainData< DisplacementDim > &out) const