OGS
CreateSaturationVanGenuchtenWithVolumetricStrain.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
6
8{
9std::unique_ptr<SaturationVanGenuchtenWithVolumetricStrain>
11 BaseLib::ConfigTree const& config)
12{
14 config.checkConfigParameter("type",
15 "SaturationVanGenuchtenWithVolumetricStrain");
16
17 // Second access for storage.
19 auto property_name = config.peekConfigParameter<std::string>("name");
20
21 DBUG(
22 "Create SaturationVanGenuchtenWithVolumetricStrain medium property "
23 "{:s}.",
24 property_name);
25
28 config.getConfigParameter<double>("residual_liquid_saturation");
29 auto const residual_gas_saturation =
31 config.getConfigParameter<double>("residual_gas_saturation");
32 auto const exponent =
34 config.getConfigParameter<double>("exponent");
36 auto const p_b = config.getConfigParameter<double>("p_b");
37 auto const e_0 =
39 config.getConfigParameter<double>("e_0");
40 auto const e_m =
42 config.getConfigParameter<double>("e_m");
43 auto const a =
45 config.getConfigParameter<double>("a");
46 auto const d_diff =
48 config.getConfigParameter<double>("d_diff");
49
50 return std::make_unique<SaturationVanGenuchtenWithVolumetricStrain>(
51 std::move(property_name), residual_liquid_saturation,
52 residual_gas_saturation, exponent, p_b, e_0, e_m, a, d_diff);
53}
54} // namespace MaterialPropertyLib
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:22
T peekConfigParameter(std::string const &param) const
T getConfigParameter(std::string const &param) const
void checkConfigParameter(std::string const &param, std::string_view const value) const
std::unique_ptr< SaturationVanGenuchtenWithVolumetricStrain > createSaturationVanGenuchtenWithVolumetricStrain(BaseLib::ConfigTree const &config)