diff --git a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp index a9be31c2b58d5abbd358910328280608de28a428..72c255d1261ebefdbd92609ccf16734afe2e9c7a 100644 --- a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp +++ b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.cpp @@ -17,7 +17,7 @@ #include <limits> #include <cassert> -#include "BaseLib/ConfigTree.h" +#include "BaseLib/ConfigTreeNew.h" #include "logog/include/logog.hpp" namespace NumLib @@ -32,31 +32,15 @@ FixedTimeStepping::FixedTimeStepping(double t0, double tn, double dt) {} FixedTimeStepping* -FixedTimeStepping::newInstance(BaseLib::ConfigTree const& config) +FixedTimeStepping::newInstance(BaseLib::ConfigTreeNew const& config) { - assert(config.get<std::string>("type") == "FixedTimeStepping"); - - auto const t_initial = config.get_optional<double>("t_initial"); - auto const t_end = config.get_optional<double>("t_end"); - auto const dt = config.get_optional<double>("dt"); - - if (!t_initial) - { - ERR("could not find required parameter t_initial."); - return nullptr; - } - if (!t_end) - { - ERR("could not find required parameter t_end."); - return nullptr; - } - if (!dt) - { - ERR("could not find required parameter dt."); - return nullptr; - } - - return new FixedTimeStepping(*t_initial, *t_end, *dt); + config.checkConfParam("type", "FixedTimeStepping"); + + auto const t_initial = config.getConfParam<double>("t_initial"); + auto const t_end = config.getConfParam<double>("t_end"); + auto const dt = config.getConfParam<double>("dt"); + + return new FixedTimeStepping(t_initial, t_end, dt); } const TimeStep FixedTimeStepping::getTimeStep() const diff --git a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h index c54ec87ce837f910ac8ea2ccdcbd725ae1f33e39..b258bedc295f9c8e8a9ee6ca383f67b878246fbc 100644 --- a/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h +++ b/NumLib/TimeStepping/Algorithms/FixedTimeStepping.h @@ -14,7 +14,7 @@ #include <vector> -#include "BaseLib/ConfigTree.h" +#include "BaseLib/ConfigTreeNew.h" #include "ITimeStepAlgorithm.h" namespace NumLib @@ -64,7 +64,7 @@ public: * * Currently this function only covers uniform timestep size. */ - static FixedTimeStepping* newInstance(BaseLib::ConfigTree const& config); + static FixedTimeStepping* newInstance(BaseLib::ConfigTreeNew const& config); virtual ~FixedTimeStepping() {}