diff --git a/NumLib/ODESolver/TimeDiscretizationBuilder.cpp b/NumLib/ODESolver/TimeDiscretizationBuilder.cpp index 5fede6cd8277082db2324eb77d337de815cf86ce..f07187b6ca603b2845956af53478c398b89defb8 100644 --- a/NumLib/ODESolver/TimeDiscretizationBuilder.cpp +++ b/NumLib/ODESolver/TimeDiscretizationBuilder.cpp @@ -16,36 +16,32 @@ namespace NumLib std::unique_ptr<TimeDiscretization> createTimeDiscretization( BaseLib::ConfigTree const& config) { - using T = std::unique_ptr<TimeDiscretization>; - //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__type} auto const type = config.getConfigParameter<std::string>("type"); if (type == "BackwardEuler") { //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__BackwardEuler} - using ConcreteTD = BackwardEuler; - return T(new ConcreteTD); + return std::make_unique<BackwardEuler>(); } else if (type == "ForwardEuler") { //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__ForwardEuler} - using ConcreteTD = ForwardEuler; - return T(new ConcreteTD); + return std::make_unique<ForwardEuler>(); } else if (type == "CrankNicolson") { //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__CrankNicolson__theta} auto const theta = config.getConfigParameter<double>("theta"); - using ConcreteTD = CrankNicolson; - return T(new ConcreteTD(theta)); + //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__CrankNicolson} + return std::make_unique<CrankNicolson>(theta); } else if (type == "BackwardDifferentiationFormula") { //! \ogs_file_param{prj__time_loop__processes__process__time_discretization__BackwardDifferentiationFormula__order} auto const order = config.getConfigParameter<unsigned>("order"); - using ConcreteTD = BackwardDifferentiationFormula; - return T(new ConcreteTD(order)); + //! \ogs_file_param_special{prj__time_loop__processes__process__time_discretization__BackwardDifferentiationFormula} + return std::make_unique<BackwardDifferentiationFormula>(order); } else {