OGS
CreateLiquidViscosityVogels.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 "
CreateLiquidViscosityVogels.h
"
5
6
#include "
BaseLib/ConfigTree.h
"
7
#include "
LiquidViscosityVogels.h
"
8
#include "
MaterialLib/MPL/Property.h
"
9
10
namespace
MaterialPropertyLib
11
{
12
std::unique_ptr<Property>
createLiquidViscosityVogels
(
13
BaseLib::ConfigTree
const
& config)
14
{
16
config.
checkConfigParameter
(
"type"
,
"LiquidViscosityVogels"
);
17
INFO
(
"Using Vogels model, which gives viscosity in SI unit, Pa s"
);
18
19
// Second access for storage.
21
auto
property_name = config.
peekConfigParameter
<std::string>(
"name"
);
22
23
auto
const
fluid_type =
25
config.
peekConfigParameter
<std::string>(
"liquid_type"
);
26
27
if
(fluid_type ==
"Water"
)
28
{
30
config.
checkConfigParameter
(
"liquid_type"
,
"Water"
);
31
32
const
VogelsViscosityConstantsWater
constants;
33
return
std::make_unique<
34
LiquidViscosityVogels<VogelsViscosityConstantsWater>
>(
35
std::move(property_name), std::move(constants));
36
}
37
if
(fluid_type ==
"CO2"
)
38
{
40
config.
checkConfigParameter
(
"liquid_type"
,
"CO2"
);
41
const
VogelsViscosityConstantsCO2
constants;
42
return
std::make_unique<
43
LiquidViscosityVogels<VogelsViscosityConstantsCO2>
>(
44
std::move(property_name), std::move(constants));
45
}
46
if
(fluid_type ==
"CH4"
)
47
{
49
config.
checkConfigParameter
(
"liquid_type"
,
"CH4"
);
50
const
VogelsViscosityConstantsCH4
constants;
51
return
std::make_unique<
52
LiquidViscosityVogels<VogelsViscosityConstantsCH4>
>(
53
std::move(property_name), std::move(constants));
54
}
55
OGS_FATAL
(
56
"The fluid type {:s} for Vogels model is unavailable.\n"
57
"The available fluid types are Water, CO2 and CH4\n"
,
58
fluid_type.data());
59
}
60
}
// namespace MaterialPropertyLib
ConfigTree.h
CreateLiquidViscosityVogels.h
OGS_FATAL
#define OGS_FATAL(...)
Definition
Error.h:19
LiquidViscosityVogels.h
INFO
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition
Logging.h:28
Property.h
BaseLib::ConfigTree
Definition
ConfigTree.h:101
BaseLib::ConfigTree::peekConfigParameter
T peekConfigParameter(std::string const ¶m) const
Definition
ConfigTree-impl.h:116
BaseLib::ConfigTree::checkConfigParameter
void checkConfigParameter(std::string const ¶m, std::string_view const value) const
Definition
ConfigTree.cpp:166
MaterialPropertyLib::LiquidViscosityVogels
Definition
LiquidViscosityVogels.h:18
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::createLiquidViscosityVogels
std::unique_ptr< Property > createLiquidViscosityVogels(BaseLib::ConfigTree const &config)
Definition
CreateLiquidViscosityVogels.cpp:12
MaterialPropertyLib::VogelsViscosityConstantsCH4
Definition
LiquidViscosityVogels.h:73
MaterialPropertyLib::VogelsViscosityConstantsCO2
Definition
LiquidViscosityVogels.h:65
MaterialPropertyLib::VogelsViscosityConstantsWater
Definition
LiquidViscosityVogels.h:57
MaterialLib
MPL
Properties
Viscosity
CreateLiquidViscosityVogels.cpp
Generated by
1.14.0