From 2b7447ac9717438eea36d2b6918516e569977ac7 Mon Sep 17 00:00:00 2001 From: Tom Fischer <thomas.fischer@ufz.de> Date: Wed, 17 Apr 2024 12:49:24 +0200 Subject: [PATCH] [PL/Output] Relax tolerance for finding fixed output time --- ProcessLib/Output/OutputDataSpecification.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ProcessLib/Output/OutputDataSpecification.cpp b/ProcessLib/Output/OutputDataSpecification.cpp index edab0692af3..40dea119f21 100644 --- a/ProcessLib/Output/OutputDataSpecification.cpp +++ b/ProcessLib/Output/OutputDataSpecification.cpp @@ -10,6 +10,8 @@ #include "OutputDataSpecification.h" +#include "NumLib/TimeStepping/TimeStep.h" + namespace ProcessLib { OutputDataSpecification::OutputDataSpecification( @@ -49,11 +51,12 @@ bool OutputDataSpecification::isOutputStep(int timestep, { auto isFixedOutputStep = [this](double const time) -> bool { - auto const fixed_output_time = std::lower_bound( - cbegin(fixed_output_times), cend(fixed_output_times), time); - return ((fixed_output_time != cend(fixed_output_times)) && - (std::abs(*fixed_output_time - time) < - std::numeric_limits<double>::epsilon())); + return std::any_of(cbegin(fixed_output_times), cend(fixed_output_times), + [&](auto fixed_output_time) + { + return (std::abs(fixed_output_time - time) < + NumLib::TimeStep::minimalTimeStepSize); + }); }; auto isPairRepeatsEachTimeStepOutput = [this](int timestep) -> bool -- GitLab