OGS
LinearWaterVapourLatentHeat.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 "
LinearWaterVapourLatentHeat.h
"
5
6
#include <cmath>
7
8
#include "
MaterialLib/MPL/Medium.h
"
9
#include "
MaterialLib/MPL/VariableType.h
"
10
#include "
MaterialLib/PhysicalConstant.h
"
11
12
namespace
MaterialPropertyLib
13
{
14
PropertyDataType
LinearWaterVapourLatentHeat::value
(
15
const
VariableArray
& variable_array,
16
const
ParameterLib::SpatialPosition
&
/*pos*/
,
const
double
/*t*/
,
17
const
double
/*dt*/
)
const
18
{
19
const
double
T = variable_array.
temperature
;
20
21
return
2.501e+6 -
22
2369.2 * (T -
MaterialLib::PhysicalConstant::CelsiusZeroInKelvin
);
23
}
24
25
PropertyDataType
LinearWaterVapourLatentHeat::dValue
(
26
VariableArray
const
&
/*variable_array*/
,
Variable
const
variable,
27
ParameterLib::SpatialPosition
const
&
/*pos*/
,
double
const
/*t*/
,
28
double
const
/*dt*/
)
const
29
{
30
if
(variable ==
Variable::temperature
)
31
{
32
return
-2369.2;
33
}
34
35
OGS_FATAL
(
36
"LinearWaterVapourLatentHeat::dValue is implemented for the derivative "
37
"with respect to temperature only."
);
38
}
39
40
}
// namespace MaterialPropertyLib
OGS_FATAL
#define OGS_FATAL(...)
Definition
Error.h:19
LinearWaterVapourLatentHeat.h
Medium.h
PhysicalConstant.h
VariableType.h
MaterialPropertyLib::LinearWaterVapourLatentHeat::dValue
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
Definition
LinearWaterVapourLatentHeat.cpp:25
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
MaterialLib/MPL/Property.cpp:67
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib::VariableArray::temperature
double temperature
Definition
VariableType.h:187
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:21
MaterialLib::PhysicalConstant::CelsiusZeroInKelvin
constexpr double CelsiusZeroInKelvin
Zero degrees Celsius in Kelvin.
Definition
PhysicalConstant.h:16
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::Variable
Variable
Definition
VariableType.h:21
MaterialPropertyLib::Variable::temperature
@ temperature
Definition
VariableType.h:43
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
Enthalpy
LinearWaterVapourLatentHeat.cpp
Generated by
1.14.0