Verma-Pruess equation [41].
\[
k = k_0 \left( \frac{\phi - \phi_c}{\phi_0 - \phi_c} \right)^n, \]
where \(k\) is the permeability, \(k_0\) is the initial permeability, \(\phi\) is the porosity, \(\phi_0\) is the initial porosity, \(\phi_c\) is the critical porosity, and \(n\) is the exponent.
Definition at line 30 of file VermaPruessModel.h.
|
| VermaPruessModel (ParameterLib::Parameter< double > const &k0, ParameterLib::Parameter< double > const &phi0, ParameterLib::Parameter< double > const &phi_c, ParameterLib::Parameter< double > const &n) |
|
PropertyDataType | value (MaterialPropertyLib::VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const) const override |
|
virtual | ~Property () |
|
virtual PropertyDataType | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
|
virtual PropertyDataType | value () const |
|
virtual PropertyDataType | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
virtual PropertyDataType | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
virtual PropertyDataType | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
virtual PropertyDataType | d2Value (VariableArray const &variable_array, Variable const variable1, Variable const variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
| Default implementation: 2nd derivative of any constant property is zero.
|
|
virtual void | setProperties (std::vector< std::unique_ptr< Phase > > const &phases) |
| Default implementation:
|
|
void | setScale (std::variant< Medium *, Phase *, Component * > scale) |
|
template<typename T > |
T | initialValue (ParameterLib::SpatialPosition const &pos, double const t) const |
|
template<typename T > |
T | value () const |
|
template<typename T > |
T | value (VariableArray const &variable_array, VariableArray const &variable_array_prev, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
template<typename T > |
T | value (VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
template<typename T > |
T | dValue (VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
template<typename T > |
T | dValue (VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
template<typename T > |
T | d2Value (VariableArray const &variable_array, Variable const &variable1, Variable const &variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const |
|
This virtual method will compute the property value based on the variables that are passed as arguments with the default implementation using empty variables array for the previous time step.
Reimplemented from MaterialPropertyLib::Property.
Definition at line 19 of file VermaPruessModel.cpp.
23{
24 double const phi = variable_array.porosity;
25
26
27 auto const var_k = std::pow(std::max(0., phi -
_phi_c(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
39}
PropertyDataType fromVector(std::vector< double > const &values)
References _k0, _n, _phi0, _phi_c, MaterialPropertyLib::fromVector(), and MaterialPropertyLib::VariableArray::porosity.