OGS
TransportPorosityFromMassBalance.h
Go to the documentation of this file.
1
10
#pragma once
11
12
#include "
MaterialLib/MPL/Property.h
"
13
#include "
ParameterLib/Parameter.h
"
14
15
namespace
MaterialPropertyLib
16
{
17
class
Medium;
18
class
Phase;
19
class
Component
;
20
24
class
TransportPorosityFromMassBalance
final :
public
Property
25
{
26
private
:
28
ParameterLib::Parameter<double>
const
&
phi0_
;
29
double
const
phi_min_
;
//< Lower limit for the porosity.
30
double
const
phi_max_
;
//< Upper limit for the porosity.
31
32
public
:
33
TransportPorosityFromMassBalance
(
34
std::string
name
,
35
ParameterLib::Parameter<double>
const
& initial_porosity,
36
double
const
phi_min,
double
const
phi_max)
37
:
phi0_
(initial_porosity),
phi_min_
(phi_min),
phi_max_
(phi_max)
38
{
39
name_
= std::move(
name
);
40
}
41
42
void
checkScale
()
const override
;
43
44
PropertyDataType
initialValue
(
ParameterLib::SpatialPosition
const
& pos,
45
double
const
t)
const override
46
{
47
return
fromVector
(
phi0_
(t, pos));
48
}
49
50
PropertyDataType
value
(
VariableArray
const
& variable_array,
51
ParameterLib::SpatialPosition
const
& pos,
52
double
const
t,
53
double
const
dt)
const override
;
54
PropertyDataType
value
(
VariableArray
const
& variable_array,
55
VariableArray
const
& variable_array_prev,
56
ParameterLib::SpatialPosition
const
& pos,
57
double
const
t,
double
const
dt)
const override
;
58
PropertyDataType
dValue
(
VariableArray
const
& variable_array,
59
Variable
const
variable,
60
ParameterLib::SpatialPosition
const
& pos,
61
double
const
t,
double
const
dt)
const override
;
62
};
63
}
// namespace MaterialPropertyLib
Property.h
Parameter.h
MaterialPropertyLib::Property
Definition
Property.h:51
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
Property.cpp:76
MaterialPropertyLib::Property::name_
std::string name_
Definition
Property.h:290
MaterialPropertyLib::TransportPorosityFromMassBalance
Definition
TransportPorosityFromMassBalance.h:25
MaterialPropertyLib::TransportPorosityFromMassBalance::checkScale
void checkScale() const override
Definition
TransportPorosityFromMassBalance.cpp:19
MaterialPropertyLib::TransportPorosityFromMassBalance::phi_min_
double const phi_min_
Definition
TransportPorosityFromMassBalance.h:29
MaterialPropertyLib::TransportPorosityFromMassBalance::TransportPorosityFromMassBalance
TransportPorosityFromMassBalance(std::string name, ParameterLib::Parameter< double > const &initial_porosity, double const phi_min, double const phi_max)
Definition
TransportPorosityFromMassBalance.h:33
MaterialPropertyLib::TransportPorosityFromMassBalance::dValue
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
Definition
TransportPorosityFromMassBalance.cpp:67
MaterialPropertyLib::TransportPorosityFromMassBalance::phi_max_
double const phi_max_
Definition
TransportPorosityFromMassBalance.h:30
MaterialPropertyLib::TransportPorosityFromMassBalance::phi0_
ParameterLib::Parameter< double > const & phi0_
Parameter, which is used by FEM to set the initial porosity value.
Definition
TransportPorosityFromMassBalance.h:28
MaterialPropertyLib::TransportPorosityFromMassBalance::initialValue
PropertyDataType initialValue(ParameterLib::SpatialPosition const &pos, double const t) const override
Definition
TransportPorosityFromMassBalance.h:44
MaterialPropertyLib::VariableArray
Definition
VariableType.h:97
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:27
ChemistryLib::PhreeqcIOData::ItemType::Component
@ Component
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MaterialPropertyLib::fromVector
PropertyDataType fromVector(std::vector< double > const &values)
Definition
Property.cpp:23
MaterialPropertyLib::Variable
Variable
Definition
VariableType.h:30
MaterialPropertyLib::name
@ name
Definition
PropertyType.h:66
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
ParameterLib::Parameter
Definition
WellboreGeometry.h:23
MaterialLib
MPL
Properties
TransportPorosityFromMassBalance.h
Generated by
1.12.0