OGS
TH2M/ConstitutiveRelations/SolidThermalExpansion.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
7
8namespace ProcessLib::TH2M
9{
11{
12template <int DisplacementDim>
14 SpaceTimeData const& x_t, MediaData const& media_data,
17{
18 namespace MPL = MaterialPropertyLib;
19 MPL::VariableArray variables;
20
21 // Consider also anisotropic thermal expansion.
24 media_data.thermal_expansivity_solid.value(variables, x_t.x, x_t.t,
25 x_t.dt));
26
27 static int const KelvinVectorSize =
30 out.beta_T_SR =
31 Invariants::trace(out.solid_linear_thermal_expansivity_vector);
32
33 double const delta_T = T_data.T - T0();
34 out.thermal_volume_strain = out.beta_T_SR * delta_T;
35}
36
37template struct SolidThermalExpansionModel<2>;
38template struct SolidThermalExpansionModel<3>;
39} // namespace ConstitutiveRelations
40} // namespace ProcessLib::TH2M
virtual PropertyDataType value() const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > formKelvinVector(MaterialPropertyLib::PropertyDataType const &values)
A function to form a Kelvin vector from strain or stress alike property like thermal expansivity for ...
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
BaseLib::StrongType< double, struct ReferenceTemperatureTag > ReferenceTemperatureData
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, ReferenceTemperatureData T0, SolidThermalExpansionData< DisplacementDim > &out) const