diff --git a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.cpp b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.cpp index b356039b420ebf38d025251a2c758e46480f8c78..b9ec34a2b6622d3b5fe9d6524464dbd989cb6316 100644 --- a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.cpp +++ b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.cpp @@ -20,6 +20,26 @@ namespace NumLib { +EvolutionaryPIDcontroller::EvolutionaryPIDcontroller( + const double t0, const double t_end, const double h0, const double h_min, + const double h_max, const double rel_h_min, const double rel_h_max, + std::vector<double>&& fixed_output_times, const double tol) + : TimeStepAlgorithm(t0, t_end), + _h0(h0), + _h_min(h_min), + _h_max(h_max), + _rel_h_min(rel_h_min), + _rel_h_max(rel_h_max), + _fixed_output_times(std::move(fixed_output_times)), + _tol(tol), + _e_n_minus1(0.), + _e_n_minus2(0.), + _is_accepted(true) +{ + // Remove possible duplicated elements. Result will be sorted. + BaseLib::makeVectorUnique(_fixed_output_times); +} + bool EvolutionaryPIDcontroller::next(double const solution_error, int const /*number_iterations*/) { diff --git a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h index ad2d397e91fbeca234d992e82dba9ca7027dedbb..069daca9aab88a8c5416ad041d521bd8d02f4af7 100644 --- a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h +++ b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h @@ -15,7 +15,6 @@ #include <vector> #include "TimeStepAlgorithm.h" -#include "BaseLib/Algorithm.h" namespace BaseLib { @@ -57,22 +56,7 @@ public: const double h_max, const double rel_h_min, const double rel_h_max, std::vector<double>&& fixed_output_times, - const double tol) - : TimeStepAlgorithm(t0, t_end), - _h0(h0), - _h_min(h_min), - _h_max(h_max), - _rel_h_min(rel_h_min), - _rel_h_max(rel_h_max), - _fixed_output_times(std::move(fixed_output_times)), - _tol(tol), - _e_n_minus1(0.), - _e_n_minus2(0.), - _is_accepted(true) - { - // Remove possible duplicated elements. Result will be sorted. - BaseLib::makeVectorUnique(_fixed_output_times); - } + const double tol); bool next(double solution_error, int number_iterations) override;