OGS
MechanicalStrainModel.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
5
6namespace ProcessLib::TH2M
7{
9{
10template <int DisplacementDim>
12 TemperatureData const& T_data,
13 SolidThermalExpansionData<DisplacementDim> const& s_therm_exp_data,
15 strain_data,
16 KelvinVector<DisplacementDim> const& eps_prev,
18 SwellingDataStateless<DisplacementDim> const& swelling_data,
20{
22 dthermal_strain =
24 (T_data.T - T_data.T_prev);
25
26 out.eps_m.noalias() = eps_m_prev->eps_m + strain_data.eps - eps_prev -
27 dthermal_strain + swelling_data.eps_m;
28}
29
30template struct MechanicalStrainModel<2>;
31template struct MechanicalStrainModel<3>;
32} // namespace ConstitutiveRelations
33} // namespace ProcessLib::TH2M
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
KV::KelvinVectorType< DisplacementDim > KelvinVector
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > eps_m
MathLib::KelvinVector::KelvinVectorType< DisplacementDim > eps
Definition StrainData.h:14
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