From 071dfc3639d11a5710e5f0e089aa34f07667c2b2 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Wed, 21 Oct 2015 06:27:20 +0200 Subject: [PATCH] Stop if residual is 0 --- lib/multigrid.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/multigrid.c b/lib/multigrid.c index f3097ee..a2409c8 100644 --- a/lib/multigrid.c +++ b/lib/multigrid.c @@ -1434,6 +1434,10 @@ int solve_mg(int nlevel, int iters, int ncycle, darray_t **values, darray_t **ma //printf("residual %.8f (change=%%%.4f)\n", curr_residual, (prev_residual-curr_residual)/prev_residual*100); if (target_residual_change) printf(" %.1f%%", (prev_residual-curr_residual)/prev_residual*100); fflush(stdout); + if (curr_residual == 0.0) { + printf(" 0"); fflush(stdout); + break; + } if (target_residual_change && (prev_residual-curr_residual)/prev_residual < target_residual_change) break; prev_residual = curr_residual; -- 2.13.6