25 int const geometry_dimension,
27 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
30 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
38 parameters, local_coordinate_system, curves);
45 parameters, local_coordinate_system, curves);
47 if (phases.empty() && !properties)
49 OGS_FATAL(
"Neither tag <phases> nor tag <properties> has been found.");
52 return std::make_unique<Medium>(std::move(phases), std::move(properties));
std::optional< ConfigTree > getConfigSubtreeOptional(std::string const &root) const
std::vector< std::unique_ptr< Phase > > createPhases(int const geometry_dimension, std::optional< BaseLib::ConfigTree > const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const ¶meters, ParameterLib::CoordinateSystem const *const local_coordinate_system, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves)
std::unique_ptr< Medium > createMedium(int const geometry_dimension, BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const ¶meters, ParameterLib::CoordinateSystem const *const local_coordinate_system, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves)
std::unique_ptr< PropertyArray > createProperties(int const geometry_dimension, std::optional< BaseLib::ConfigTree > const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const ¶meters, ParameterLib::CoordinateSystem const *const local_coordinate_system, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves)