From 5c8fbde7848c930c12452954bcf6519b8ec5c5f6 Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Thu, 1 Dec 2022 09:43:13 +0100 Subject: [PATCH] [PL] Move calculateUniqueFixedTimesForAllOutputs() to Output impl. --- ProcessLib/Output/Output.cpp | 14 ++++++++++++++ ProcessLib/Output/Output.h | 3 +++ ProcessLib/TimeLoop.cpp | 16 ---------------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp index 9adc73f7948..e480279bc24 100644 --- a/ProcessLib/Output/Output.cpp +++ b/ProcessLib/Output/Output.cpp @@ -426,6 +426,20 @@ std::vector<std::string> Output::getFileNamesForOutput() const return output_names; } +std::vector<double> calculateUniqueFixedTimesForAllOutputs( + std::vector<Output> const& outputs) +{ + std::vector<double> fixed_times; + for (auto const& output : outputs) + { + auto const& output_fixed_times = output.getFixedOutputTimes(); + fixed_times.insert(fixed_times.end(), output_fixed_times.begin(), + output_fixed_times.end()); + } + BaseLib::makeVectorUnique(fixed_times); + return fixed_times; +} + std::ostream& operator<<(std::ostream& os, Output const& output) { os << "Output::_output_data_specification:\t" diff --git a/ProcessLib/Output/Output.h b/ProcessLib/Output/Output.h index 8cb8516d42e..339df9d98af 100644 --- a/ProcessLib/Output/Output.h +++ b/ProcessLib/Output/Output.h @@ -126,4 +126,7 @@ private: _do_not_project_from_bulk_mesh_to_submeshes; }; +std::vector<double> calculateUniqueFixedTimesForAllOutputs( + std::vector<Output> const& outputs); + } // namespace ProcessLib diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp index c293b926202..8a3a40f02aa 100644 --- a/ProcessLib/TimeLoop.cpp +++ b/ProcessLib/TimeLoop.cpp @@ -473,22 +473,6 @@ std::pair<double, bool> TimeLoop::computeTimeStepping( return {dt, last_step_rejected}; } -std::vector<double> calculateUniqueFixedTimesForAllOutputs( - std::vector<Output> const& outputs) -{ - std::vector<double> fixed_times; - for (auto const& output : outputs) - { - auto const& output_fixed_times = output.getFixedOutputTimes(); - fixed_times.insert(fixed_times.end(), output_fixed_times.begin(), - output_fixed_times.end()); - } - std::sort(fixed_times.begin(), fixed_times.end()); - auto const it = std::unique(fixed_times.begin(), fixed_times.end()); - fixed_times.erase(it, fixed_times.end()); - return fixed_times; -} - std::vector<std::function<double(double, double)>> TimeLoop::generateOutputTimeStepConstraints( std::vector<double>&& fixed_times) const -- GitLab