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