From db72459430f866831d935f64ca12d26f1a9a597d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Oberhuber?= <oberhuber.tomas@gmail.com> Date: Tue, 5 Dec 2017 19:41:26 +0100 Subject: [PATCH] Default value of the convergence residue threshold was set to zero. --- src/TNL/Solvers/IterativeSolver_impl.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TNL/Solvers/IterativeSolver_impl.h b/src/TNL/Solvers/IterativeSolver_impl.h index 9b98dbea3d..5af0c8e5bf 100644 --- a/src/TNL/Solvers/IterativeSolver_impl.h +++ b/src/TNL/Solvers/IterativeSolver_impl.h @@ -37,7 +37,11 @@ void IterativeSolver< Real, Index> :: configSetup( Config::ConfigDescription& co { config.addEntry< int > ( prefix + "max-iterations", "Maximal number of iterations the solver may perform.", 1000000000 ); config.addEntry< int > ( prefix + "min-iterations", "Minimal number of iterations the solver must perform.", 0 ); - config.addEntry< double >( prefix + "convergence-residue", "Convergence occurs when the residue drops bellow this limit.", 1.0e-6 ); + + // The default value for the convergence residue MUST be zero since not in all problems we want to stop the solver + // when we reach a state near a steady state. This can be only temporary if, for example, when the boundary conditions + // are time dependent (growing velocity at inlet starting from 0). + config.addEntry< double >( prefix + "convergence-residue", "Convergence occurs when the residue drops bellow this limit.", 0.0 ); config.addEntry< double >( prefix + "divergence-residue", "Divergence occurs when the residue exceeds given limit.", DBL_MAX ); // TODO: setting refresh rate should be done in SolverStarter::setup (it's not a parameter of the IterativeSolver) config.addEntry< int > ( prefix + "refresh-rate", "Number of iterations between solver monitor refreshes.", 1 ); -- GitLab