OGS
SimplifiedElasticityModel.h
Go to the documentation of this file.
1 
12 #pragma once
13 #include "MaterialLib/MPL/Medium.h"
15 
16 namespace ProcessLib
17 {
18 namespace 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,
34  MaterialPropertyLib::VariableArray const& variables,
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:67
template Eigen::Matrix< double, 3, 1 > formEigenVector< 3 >(MaterialPropertyLib::PropertyDataType const &values)
std::array< VariableType, static_cast< int >(Variable::number_of_variables)> VariableArray
Definition: VariableType.h:108
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