OGS
KozenyCarmanModel.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
4
#include "
KozenyCarmanModel.h
"
5
6
#include <algorithm>
7
#include <cmath>
8
9
namespace
MaterialPropertyLib
10
{
11
PropertyDataType
KozenyCarmanModel::value
(
12
MaterialPropertyLib::VariableArray
const
& variable_array,
13
ParameterLib::SpatialPosition
const
& pos,
double
const
t,
14
double
const
/*dt*/
)
const
15
{
16
double
const
phi = variable_array.
porosity
;
17
auto
const
& k0 =
_k0
(t, pos);
18
19
std::vector<double> k;
20
k.reserve(k0.size());
21
std::transform(k0.cbegin(), k0.cend(), std::back_inserter(k),
22
[&](
auto
const
& k_component)
23
{
24
return k_component *
25
std::pow((1 - _phi0(t, pos)[0]) / (1 - phi), 2) *
26
std::pow(phi / _phi0(t, pos)[0], 3);
27
});
28
29
return
fromVector
(k);
30
}
31
32
}
// namespace MaterialPropertyLib
KozenyCarmanModel.h
MaterialPropertyLib::KozenyCarmanModel::_k0
ParameterLib::Parameter< double > const & _k0
Initial medium permeability.
Definition
KozenyCarmanModel.h:38
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
MaterialLib/MPL/Property.cpp:67
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib::VariableArray::porosity
double porosity
Definition
VariableType.h:184
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:21
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::fromVector
PropertyDataType fromVector(std::vector< double > const &values)
Definition
MaterialLib/MPL/Property.cpp:14
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
MaterialLib/MPL/Property.h:24
MaterialLib
MPL
Properties
KozenyCarmanModel.cpp
Generated by
1.14.0