OGS
CreateChargeBalance.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 "
CreateChargeBalance.h
"
5
6
#include "
BaseLib/ConfigTree.h
"
7
#include "
BaseLib/Error.h
"
8
#include "
ChargeBalance.h
"
9
10
namespace
ChemistryLib
11
{
12
ChargeBalance
createChargeBalance
(
BaseLib::ConfigTree
const
& config)
13
{
14
auto
const
charge_balance =
16
config.
getConfigParameterOptional
<std::string>(
"charge_balance"
);
17
18
if
(!charge_balance)
19
{
20
return
ChargeBalance::Unspecified
;
21
}
22
if
(*charge_balance ==
"pH"
)
23
{
24
return
ChargeBalance::pH
;
25
}
26
if
(*charge_balance ==
"pe"
)
27
{
28
return
ChargeBalance::pe
;
29
}
30
31
OGS_FATAL
(
32
"Error in specifying the way in which charge balance is achieved. "
33
"Adjusting pH value or pe value are supported at this moment."
);
34
}
35
}
// namespace ChemistryLib
ChargeBalance.h
ConfigTree.h
CreateChargeBalance.h
Error.h
OGS_FATAL
#define OGS_FATAL(...)
Definition
Error.h:19
BaseLib::ConfigTree
Definition
ConfigTree.h:101
BaseLib::ConfigTree::getConfigParameterOptional
std::optional< T > getConfigParameterOptional(std::string const ¶m) const
Definition
ConfigTree-impl.h:58
ChemistryLib
Definition
ChemicalSolverInterface.h:108
ChemistryLib::ChargeBalance
ChargeBalance
Definition
ChargeBalance.h:9
ChemistryLib::ChargeBalance::pH
@ pH
Definition
ChargeBalance.h:10
ChemistryLib::ChargeBalance::Unspecified
@ Unspecified
Definition
ChargeBalance.h:12
ChemistryLib::ChargeBalance::pe
@ pe
Definition
ChargeBalance.h:11
ChemistryLib::createChargeBalance
ChargeBalance createChargeBalance(BaseLib::ConfigTree const &config)
Definition
CreateChargeBalance.cpp:12
ChemistryLib
Common
CreateChargeBalance.cpp
Generated by
1.14.0