OGS
PorosityFromMassBalance.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
PorosityFromMassBalance
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
PorosityFromMassBalance
(
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,
double
const
dt)
const override
;
53
PropertyDataType
value
(
VariableArray
const
& variable_array,
54
VariableArray
const
& variable_array_prev,
55
ParameterLib::SpatialPosition
const
& pos,
56
double
const
t,
double
const
dt)
const override
;
57
PropertyDataType
dValue
(
VariableArray
const
& variable_array,
58
Variable
const
variable,
59
ParameterLib::SpatialPosition
const
& pos,
60
double
const
t,
double
const
dt)
const override
;
61
};
62
}
// namespace MaterialPropertyLib
Property.h
Parameter.h
MaterialPropertyLib::PorosityFromMassBalance
Definition
PorosityFromMassBalance.h:25
MaterialPropertyLib::PorosityFromMassBalance::phi_min_
double const phi_min_
Definition
PorosityFromMassBalance.h:29
MaterialPropertyLib::PorosityFromMassBalance::checkScale
void checkScale() const override
Definition
PorosityFromMassBalance.cpp:19
MaterialPropertyLib::PorosityFromMassBalance::phi0_
ParameterLib::Parameter< double > const & phi0_
Parameter, which is used by FEM to set the initial porosity value.
Definition
PorosityFromMassBalance.h:28
MaterialPropertyLib::PorosityFromMassBalance::PorosityFromMassBalance
PorosityFromMassBalance(std::string name, ParameterLib::Parameter< double > const &initial_porosity, double const phi_min, double const phi_max)
Definition
PorosityFromMassBalance.h:33
MaterialPropertyLib::PorosityFromMassBalance::dValue
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
Definition
PorosityFromMassBalance.cpp:65
MaterialPropertyLib::PorosityFromMassBalance::initialValue
PropertyDataType initialValue(ParameterLib::SpatialPosition const &pos, double const t) const override
Definition
PorosityFromMassBalance.h:44
MaterialPropertyLib::PorosityFromMassBalance::phi_max_
double const phi_max_
Definition
PorosityFromMassBalance.h:30
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::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
PorosityFromMassBalance.h
Generated by
1.12.0