OGS
CreateCapillaryPressureVanGenuchten.cpp
Go to the documentation of this file.
1 
13 
14 #include "BaseLib/ConfigTree.h"
17 
18 namespace MaterialPropertyLib
19 {
20 std::unique_ptr<Property> createCapillaryPressureVanGenuchten(
21  BaseLib::ConfigTree const& config)
22 {
24  config.checkConfigParameter("type", "CapillaryPressureVanGenuchten");
25 
26  // Second access for storage.
28  auto property_name = config.peekConfigParameter<std::string>("name");
29 
30  DBUG("Create CapillaryPressureVanGenuchten medium property {:s}.",
31  property_name);
32 
33  auto const residual_liquid_saturation =
35  config.getConfigParameter<double>("residual_liquid_saturation");
36  auto const residual_gas_saturation =
38  config.getConfigParameter<double>("residual_gas_saturation");
39  auto const exponent =
41  config.getConfigParameter<double>("exponent");
42  auto const p_b =
44  config.getConfigParameter<double>("p_b");
45  auto const maximum_capillary_pressure =
47  config.getConfigParameter<double>("maximum_capillary_pressure");
48 
49  return std::make_unique<CapillaryPressureVanGenuchten>(
50  std::move(property_name), residual_liquid_saturation,
51  residual_gas_saturation, exponent, p_b, maximum_capillary_pressure);
52 }
53 } // namespace MaterialPropertyLib
void DBUG(char const *fmt, Args const &... args)
Definition: Logging.h:27
T peekConfigParameter(std::string const &param) const
void checkConfigParameter(std::string const &param, T const &value) const
T getConfigParameter(std::string const &param) const
std::unique_ptr< Property > createCapillaryPressureVanGenuchten(BaseLib::ConfigTree const &config)