OGS
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel< DisplacementDim >

Definition at line 28 of file SolidThermalExpansion.h.

#include <SolidThermalExpansion.h>

Public Member Functions

void eval (SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, ReferenceTemperatureData T0, SolidThermalExpansionData< DisplacementDim > &out) const
 

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
MediaData const & media_data,
TemperatureData const & T_data,
ReferenceTemperatureData T0,
SolidThermalExpansionData< DisplacementDim > & out ) const

Definition at line 19 of file SolidThermalExpansion.cpp.

23{
24 namespace MPL = MaterialPropertyLib;
25 MPL::VariableArray variables;
26
27 // Consider also anisotropic thermal expansion.
28 out.solid_linear_thermal_expansivity_vector =
30 media_data.solid.property(MPL::PropertyType::thermal_expansivity)
31 .value(variables, x_t.x, x_t.t, x_t.dt));
32
33 static int const KelvinVectorSize =
36 out.beta_T_SR =
37 Invariants::trace(out.solid_linear_thermal_expansivity_vector);
38
39 double const delta_T = T_data.T - T0();
40 out.thermal_volume_strain = out.beta_T_SR * delta_T;
41}
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.

References ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData< DisplacementDim >::beta_T_SR, ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, MaterialPropertyLib::formKelvinVector(), MathLib::KelvinVector::kelvin_vector_dimensions(), MaterialPropertyLib::Phase::property(), ProcessLib::TH2M::ConstitutiveRelations::MediaData::solid, ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData< DisplacementDim >::solid_linear_thermal_expansivity_vector, ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData< DisplacementDim >::thermal_volume_strain, MaterialPropertyLib::Property::value(), and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.


The documentation for this struct was generated from the following files: