25 int const material_id,
26 int const geometry_dimension,
28 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
31 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
39 parameters, local_coordinate_system, curves);
46 parameters, local_coordinate_system, curves);
48 if (phases.empty() && !properties)
50 OGS_FATAL(
"Neither tag <phases> nor tag <properties> has been found.");
53 return std::make_unique<Medium>(material_id, std::move(phases),
54 std::move(properties));
std::optional< ConfigTree > getConfigSubtreeOptional(std::string const &root) const
std::unique_ptr< Medium > createMedium(int const material_id, 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::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< 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)
A local coordinate system used for tensor transformations.