From caffa4e1fe3a2b83412322eefb2c9959256b1c33 Mon Sep 17 00:00:00 2001 From: Dominik Kern <dominik.kern.ifgt@gmail.com> Date: Thu, 5 Aug 2021 11:41:22 +0200 Subject: [PATCH] Staggered: check all processes for convergence in coupling iterations --- ProcessLib/TimeLoop.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp index d7e5947d2c2..9962a31de22 100644 --- a/ProcessLib/TimeLoop.cpp +++ b/ProcessLib/TimeLoop.cpp @@ -768,7 +768,6 @@ TimeLoop::solveCoupledEquationSystemsByStaggeredScheme( { // TODO(wenqing): use process name coupling_iteration_converged = true; - int const last_process_id = _per_process_data.size() - 1; _xdot_vector_ids.resize(_per_process_data.size()); std::size_t cnt = 0; for (auto& process_data : _per_process_data) @@ -815,17 +814,14 @@ TimeLoop::solveCoupledEquationSystemsByStaggeredScheme( if (global_coupling_iteration > 0) { MathLib::LinAlg::axpy(x_old, -1.0, x); // save dx to x_old - if (process_id == last_process_id) - { - INFO( - "------- Checking convergence criterion for coupled " - "solution -------"); - _global_coupling_conv_crit[process_id]->checkDeltaX(x_old, - x); - coupling_iteration_converged = - coupling_iteration_converged && - _global_coupling_conv_crit[process_id]->isSatisfied(); - } + INFO( + "------- Checking convergence criterion for coupled " + "solution of process #{:d} -------", + process_id); + _global_coupling_conv_crit[process_id]->checkDeltaX(x_old, x); + coupling_iteration_converged = + coupling_iteration_converged && + _global_coupling_conv_crit[process_id]->isSatisfied(); } MathLib::LinAlg::copy(x, x_old); } // end of for (auto& process_data : _per_process_data) -- GitLab