OGS
ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel Struct Reference

Detailed Description

Definition at line 20 of file UniaxialElasticityModel.h.

#include <UniaxialElasticityModel.h>

Inheritance diagram for ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel:
[legend]
Collaboration diagram for ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel:
[legend]

Public Member Functions

 UniaxialElasticityModel ()
 
double storageContribution (MaterialPropertyLib::Phase const &solid_phase, MaterialPropertyLib::VariableArray const &variables, ParameterLib::SpatialPosition const &x_position, double const t, double const dt) override
 
double thermalExpansivityContribution (Eigen::Matrix< double, 3, 3 > const &solid_linear_thermal_expansion_coefficient, MaterialPropertyLib::Phase const &solid_phase, MaterialPropertyLib::VariableArray const &variables, ParameterLib::SpatialPosition const &x_position, double const t, double const dt) override
 
- Public Member Functions inherited from ProcessLib::ThermoRichardsFlow::SimplifiedElasticityModel
virtual ~SimplifiedElasticityModel ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from ProcessLib::ThermoRichardsFlow::SimplifiedElasticityModel
static auto bulkCompressibilityFromYoungsModulus (MaterialPropertyLib::Phase const &solid_phase, MaterialPropertyLib::VariableArray const &variables, ParameterLib::SpatialPosition const &x_position, double const t, double const dt)
 

Constructor & Destructor Documentation

◆ UniaxialElasticityModel()

ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel::UniaxialElasticityModel ( )
inline

Definition at line 22 of file UniaxialElasticityModel.h.

23 {
24 DBUG("using uniaxial simplified mechanics model");
25 }
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:30

References DBUG().

Member Function Documentation

◆ storageContribution()

double ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel::storageContribution ( MaterialPropertyLib::Phase const & solid_phase,
MaterialPropertyLib::VariableArray const & variables,
ParameterLib::SpatialPosition const & x_position,
double const t,
double const dt )
inlineoverridevirtual

Implements ProcessLib::ThermoRichardsFlow::SimplifiedElasticityModel.

Definition at line 27 of file UniaxialElasticityModel.h.

32 {
35 .value(variables, x_position, t, dt));
38 .value(variables, x_position, t, dt));
39 auto const nu12 = nu[0];
40 auto const nu23 = nu[1];
41 auto const nu13 = nu[2];
42 auto const nu21 = nu12 * E[1] / E[0];
43 auto const nu32 = nu23 * E[2] / E[1];
44 auto const nu31 = nu13 * E[2] / E[0];
45 auto const D = 1 - nu12 * nu21 - nu23 * nu32 - nu31 * nu13 -
46 2 * nu12 * nu23 * nu31;
47 return D / (E[2] * (1 - nu12 * nu21));
48 }
template Eigen::Matrix< double, 3, 1 > formEigenVector< 3 >(MaterialPropertyLib::PropertyDataType const &values)

References MaterialPropertyLib::formEigenVector< 3 >(), MaterialPropertyLib::poissons_ratio, and MaterialPropertyLib::youngs_modulus.

◆ thermalExpansivityContribution()

double ProcessLib::ThermoRichardsFlow::UniaxialElasticityModel::thermalExpansivityContribution ( Eigen::Matrix< double, 3, 3 > const & solid_linear_thermal_expansion_coefficient,
MaterialPropertyLib::Phase const & solid_phase,
MaterialPropertyLib::VariableArray const & variables,
ParameterLib::SpatialPosition const & x_position,
double const t,
double const dt )
inlineoverridevirtual

Implements ProcessLib::ThermoRichardsFlow::SimplifiedElasticityModel.

Definition at line 50 of file UniaxialElasticityModel.h.

57 {
60 .value(variables, x_position, t, dt));
63 .value(variables, x_position, t, dt));
64 auto const nu12 = nu[0];
65 auto const nu23 = nu[1];
66 auto const nu13 = nu[2];
67 auto const nu21 = nu12 * E[1] / E[0];
68 auto const D = (1 - nu12 * nu21);
69 return -(solid_linear_thermal_expansion_coefficient(2, 2) +
70 solid_linear_thermal_expansion_coefficient(0, 0) *
71 (nu13 + nu12 * nu23) / D +
72 solid_linear_thermal_expansion_coefficient(1, 1) *
73 (nu23 + nu13 * nu21) / D);
74 }

References MaterialPropertyLib::formEigenVector< 3 >(), MaterialPropertyLib::poissons_ratio, and MaterialPropertyLib::youngs_modulus.


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