OGS
CubicLawPermeability.cpp
Go to the documentation of this file.
1
11
12namespace MaterialPropertyLib
13{
15 std::string name, ParameterLib::Parameter<double> const* b)
16 : _b(b)
17{
18 name_ = std::move(name);
19}
20
22 VariableArray const& variable_array,
23 ParameterLib::SpatialPosition const& pos, double const t,
24 double const /*dt*/) const
25{
26 double const aperture_m =
27 _b ? (*_b)(t, pos)[0] : variable_array.fracture_aperture;
28
29 return aperture_m * aperture_m / 12;
30}
31
33 VariableArray const& variable_array, Variable const variable,
34 ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
35 double const /*dt*/) const
36{
37 if (variable != Variable::fracture_aperture || _b)
38 {
39 return 0.0;
40 }
41
42 return variable_array.fracture_aperture / 6.0;
43}
44} // namespace MaterialPropertyLib
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
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
ParameterLib::Parameter< double > const * _b
Predefined fracture aperture.
CubicLawPermeability(std::string name, ParameterLib::Parameter< double > const *b)