OGS
SimplifiedElasticityModel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
7
8namespace ProcessLib
9{
10namespace ThermoRichardsFlow
11{
13{
14 virtual ~SimplifiedElasticityModel() = default;
15 virtual double storageContribution(
18 ParameterLib::SpatialPosition const&, double const, double const) = 0;
20 Eigen::Matrix<double, 3, 3> const&, MaterialPropertyLib::Phase const&,
22 ParameterLib::SpatialPosition const&, double const, double const) = 0;
23
25 MaterialPropertyLib::Phase const& solid_phase,
27 ParameterLib::SpatialPosition const& x_position, double const t,
28 double const dt)
29 {
30 // assuming: nu[0]=nu(1,2), nu[1]=nu(2,3), nu[2]=nu(1,3)
31 if (!solid_phase.hasProperty(
33 {
34 return 0.0;
35 }
38 .value(variables, x_position, t, dt));
41 .value(variables, x_position, t, dt));
42 return (E[0] * E[1] + E[0] * E[2] * (1 - 2 * nu[1]) +
43 E[1] * E[2] * (1 - 2 * nu[0] - 2 * nu[2])) /
44 (E[0] * E[1] * E[2]);
45 }
46};
47
48} // namespace ThermoRichardsFlow
49} // namespace ProcessLib
bool hasProperty(PropertyType const &p) const
Definition Phase.cpp:60
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