OGS
VermaPruessModel.cpp
Go to the documentation of this file.
1
11
#include "
VermaPruessModel.h
"
12
13
#include <algorithm>
14
#include <cmath>
15
#include <functional>
16
17
namespace
MaterialPropertyLib
18
{
19
PropertyDataType
VermaPruessModel::value
(
20
MaterialPropertyLib::VariableArray
const
& variable_array,
21
ParameterLib::SpatialPosition
const
& pos,
double
const
t,
22
double
const
/*dt*/
)
const
23
{
24
double
const
phi = variable_array.
porosity
;
25
26
// ratio of permeability to initial permeability
27
auto
const
var_k = std::pow(std::max(0., phi -
_phi_c
(t, pos)[0]) /
28
(
_phi0
(t, pos)[0] -
_phi_c
(t, pos)[0]),
29
_n
(t, pos)[0]);
30
31
auto
const
& k0 =
_k0
(t, pos);
32
std::vector<double> k;
33
k.reserve(k0.size());
34
std::transform(
35
k0.cbegin(), k0.cend(), std::back_inserter(k),
36
std::bind(std::multiplies<double>(), std::placeholders::_1, var_k));
37
38
return
fromVector
(k);
39
}
40
41
}
// namespace MaterialPropertyLib
VermaPruessModel.h
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
Property.cpp:76
MaterialPropertyLib::VariableArray
Definition
VariableType.h:97
MaterialPropertyLib::VariableArray::porosity
double porosity
Definition
VariableType.h:185
MaterialPropertyLib::VermaPruessModel::_n
ParameterLib::Parameter< double > const & _n
Exponent.
Definition
VermaPruessModel.h:54
MaterialPropertyLib::VermaPruessModel::_phi0
ParameterLib::Parameter< double > const & _phi0
Initial porosity.
Definition
VermaPruessModel.h:50
MaterialPropertyLib::VermaPruessModel::_phi_c
ParameterLib::Parameter< double > const & _phi_c
Critical porosity.
Definition
VermaPruessModel.h:52
MaterialPropertyLib::VermaPruessModel::_k0
ParameterLib::Parameter< double > const & _k0
Initial medium permeability.
Definition
VermaPruessModel.h:48
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:27
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MaterialPropertyLib::fromVector
PropertyDataType fromVector(std::vector< double > const &values)
Definition
Property.cpp:23
MaterialPropertyLib::PropertyDataType
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
MaterialLib
MPL
Properties
VermaPruessModel.cpp
Generated by
1.10.0