OGS
PermeabilityMohrCoulombFailureIndexModel.h
Go to the documentation of this file.
1
12#pragma once
13
16
17namespace ParameterLib
18{
19struct CoordinateSystem;
20template <typename T>
21struct Parameter;
22} // namespace ParameterLib
23
24namespace MaterialPropertyLib
25{
90template <int DisplacementDim>
92{
93public:
95 std::string name, ParameterLib::Parameter<double> const& k0,
96 double const kr, double const b, double const c, double const phi,
97 double const k_max, double const t_sigma_max,
98 ParameterLib::CoordinateSystem const* const local_coordinate_system);
99
100 void checkScale() const override;
101
102 PropertyDataType value(VariableArray const& variable_array,
104 double const t, double const dt) const override;
105 PropertyDataType dValue(VariableArray const& variable_array,
106 Variable const variable,
108 double const t, double const dt) const override;
109
110private:
115 double const kr_;
117 double const b_;
119 double const c_;
121 double const phi_;
122
124 double const k_max_;
125
127 double const t_sigma_max_;
129};
130
131} // namespace MaterialPropertyLib
PermeabilityMohrCoulombFailureIndexModel(std::string name, ParameterLib::Parameter< double > const &k0, double const kr, double const b, double const c, double const phi, double const k_max, double const t_sigma_max, ParameterLib::CoordinateSystem const *const local_coordinate_system)
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
virtual PropertyDataType value() const
Definition Property.cpp:76
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
Definition Property.h:31
A local coordinate system used for tensor transformations.