From 000740028ee86e1df250a928c7b079201766b539 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <dmitri.naumov@ufz.de>
Date: Thu, 12 Sep 2019 16:13:03 +0200
Subject: [PATCH] [PL] TL; Remove is_staggerd from outputSolutions()

The function can decide this on its own now.
---
 ProcessLib/TimeLoop.cpp | 15 +++++++++------
 ProcessLib/TimeLoop.h   |  3 +--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp
index 25841a0a9e7..0df076d2aad 100644
--- a/ProcessLib/TimeLoop.cpp
+++ b/ProcessLib/TimeLoop.cpp
@@ -423,8 +423,8 @@ void TimeLoop::initialize()
     // Output initial conditions
     {
         const bool output_initial_condition = true;
-        outputSolutions(output_initial_condition, is_staggered_coupling, 0,
-                        _start_time, *_output, &Output::doOutput);
+        outputSolutions(output_initial_condition, 0, _start_time, *_output,
+                        &Output::doOutput);
     }
 
 }
@@ -490,8 +490,8 @@ bool TimeLoop::loop()
         if (!_last_step_rejected)
         {
             const bool output_initial_condition = false;
-            outputSolutions(output_initial_condition, is_staggered_coupling,
-                            timesteps, t, *_output, &Output::doOutput);
+            outputSolutions(output_initial_condition, timesteps, t, *_output,
+                            &Output::doOutput);
         }
 
         if (t == _end_time || t + dt > _end_time ||
@@ -519,7 +519,7 @@ bool TimeLoop::loop()
     if (nonlinear_solver_status.error_norms_met)
     {
         const bool output_initial_condition = false;
-        outputSolutions(output_initial_condition, is_staggered_coupling,
+        outputSolutions(output_initial_condition,
                         accepted_steps + rejected_steps, t, *_output,
                         &Output::doOutputLastTimestep);
     }
@@ -747,11 +747,14 @@ TimeLoop::solveCoupledEquationSystemsByStaggeredScheme(
 
 template <typename OutputClass, typename OutputClassMember>
 void TimeLoop::outputSolutions(bool const output_initial_condition,
-                               bool const is_staggered_coupling,
                                unsigned timestep, const double t,
                                OutputClass& output_object,
                                OutputClassMember output_class_member) const
 {
+    // All _per_process_data share the first process.
+    bool const is_staggered_coupling =
+        !isMonolithicProcess(*_per_process_data[0]);
+
     unsigned process_id = 0;
     for (auto& process_data : _per_process_data)
     {
diff --git a/ProcessLib/TimeLoop.h b/ProcessLib/TimeLoop.h
index 4221c2f5990..c0b75efe426 100644
--- a/ProcessLib/TimeLoop.h
+++ b/ProcessLib/TimeLoop.h
@@ -104,8 +104,7 @@ private:
                                std::size_t& rejected_steps);
 
     template <typename OutputClass, typename OutputClassMember>
-    void outputSolutions(bool const output_initial_condition,
-                         bool const is_staggered_coupling, unsigned timestep,
+    void outputSolutions(bool const output_initial_condition, unsigned timestep,
                          const double t, OutputClass& output_object,
                          OutputClassMember output_class_member) const;
 
-- 
GitLab