OGS
SimplifiedElasticityModel.h
Go to the documentation of this file.
1
12#pragma once
15
16namespace ProcessLib
17{
18namespace ThermoRichardsFlow
19{
21{
22 virtual ~SimplifiedElasticityModel() = default;
23 virtual double storageContribution(
26 ParameterLib::SpatialPosition const&, double const, double const) = 0;
28 Eigen::Matrix<double, 3, 3> const&, MaterialPropertyLib::Phase const&,
30 ParameterLib::SpatialPosition const&, double const, double const) = 0;
31
33 MaterialPropertyLib::Phase const& solid_phase,
35 ParameterLib::SpatialPosition const& x_position, double const t,
36 double const dt)
37 {
38 // assuming: nu[0]=nu(1,2), nu[1]=nu(2,3), nu[2]=nu(1,3)
39 if (!solid_phase.hasProperty(
41 {
42 return 0.0;
43 }
46 .value(variables, x_position, t, dt));
49 .value(variables, x_position, t, dt));
50 return (E[0] * E[1] + E[0] * E[2] * (1 - 2 * nu[1]) +
51 E[1] * E[2] * (1 - 2 * nu[0] - 2 * nu[2])) /
52 (E[0] * E[1] * E[2]);
53 }
54};
55
56} // namespace ThermoRichardsFlow
57} // namespace ProcessLib
bool hasProperty(PropertyType const &p) const
Definition Phase.cpp:69
template Eigen::Matrix< double, 3, 1 > formEigenVector< 3 >(MaterialPropertyLib::PropertyDataType const &values)
virtual double thermalExpansivityContribution(Eigen::Matrix< double, 3, 3 > const &, MaterialPropertyLib::Phase const &, MaterialPropertyLib::VariableArray const &, ParameterLib::SpatialPosition const &, double const, double const)=0
static auto bulkCompressibilityFromYoungsModulus(MaterialPropertyLib::Phase const &solid_phase, MaterialPropertyLib::VariableArray const &variables, ParameterLib::SpatialPosition const &x_position, double const t, double const dt)
virtual double storageContribution(MaterialPropertyLib::Phase const &, MaterialPropertyLib::VariableArray const &, ParameterLib::SpatialPosition const &, double const, double const)=0