OGS
CubicLawPermeability.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
5
7{
9 std::string name, ParameterLib::Parameter<double> const* b)
10 : _b(b)
11{
12 name_ = std::move(name);
13}
14
16 VariableArray const& variable_array,
17 ParameterLib::SpatialPosition const& pos, double const t,
18 double const /*dt*/) const
19{
20 double const aperture_m =
21 _b ? (*_b)(t, pos)[0] : variable_array.fracture_aperture;
22
23 return aperture_m * aperture_m / 12;
24}
25
27 VariableArray const& variable_array, Variable const variable,
28 ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
29 double const /*dt*/) const
30{
31 if (variable != Variable::fracture_aperture || _b)
32 {
33 return 0.0;
34 }
35
36 return variable_array.fracture_aperture / 6.0;
37}
38} // namespace MaterialPropertyLib
virtual PropertyDataType value() const
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
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)