26 int const geometry_dimension,
28 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
37 DBUG(
"Create SoilThermalConductivitySomerton medium property");
39 std::string
const& dry_thermal_conductivity_parameter_name =
42 auto const& dry_thermal_conductivity = ParameterLib::findParameter<double>(
43 dry_thermal_conductivity_parameter_name, parameters, 0,
nullptr);
45 std::string
const& wet_thermal_conductivity_parameter_name =
48 auto const& wet_thermal_conductivity = ParameterLib::findParameter<double>(
49 wet_thermal_conductivity_parameter_name, parameters, 0,
nullptr);
51 if (geometry_dimension == 1)
53 return std::make_unique<SoilThermalConductivitySomerton<1>>(
54 std::move(property_name),
55 dry_thermal_conductivity,
56 wet_thermal_conductivity,
57 local_coordinate_system);
60 if (geometry_dimension == 2)
62 return std::make_unique<SoilThermalConductivitySomerton<2>>(
63 std::move(property_name),
64 dry_thermal_conductivity,
65 wet_thermal_conductivity,
66 local_coordinate_system);
69 return std::make_unique<SoilThermalConductivitySomerton<3>>(
70 std::move(property_name),
71 dry_thermal_conductivity,
72 wet_thermal_conductivity,
73 local_coordinate_system);
void DBUG(char const *fmt, Args const &... args)
T peekConfigParameter(std::string const ¶m) const
void checkConfigParameter(std::string const ¶m, T const &value) const
T getConfigParameter(std::string const ¶m) const
std::unique_ptr< Property > createSoilThermalConductivitySomerton(int const geometry_dimension, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const ¶meters, ParameterLib::CoordinateSystem const *const local_coordinate_system)