aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mg2d.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mg2d.c b/mg2d.c
index 59df5c1..c8896d2 100644
--- a/mg2d.c
+++ b/mg2d.c
@@ -201,11 +201,13 @@ static int mg_solve_subgrid(MG2DContext *ctx, MG2DLevel *level)
/* re-init the current-level solver (re-calc the residual) */
res_prev = level->solver->residual_max;
mg2di_timer_start(&level->timer_reinit);
- ret = mg2di_egs_init(level->solver, 0);
+ ret = mg2di_egs_init(level->solver, level->egs_init_flags);
mg2di_timer_stop(&level->timer_reinit);
if (ret < 0)
return ret;
+ level->egs_init_flags |= EGS_INIT_FLAG_SAME_DIFF_COEFFS;
+
log_relax_step(ctx, level, "correct", res_prev, level->solver->residual_max);
/* post-correct relaxation */
@@ -513,6 +515,8 @@ int mg2d_solve(MG2DContext *ctx)
if (ret < 0)
goto finish;
+ root->egs_init_flags |= EGS_INIT_FLAG_SAME_DIFF_COEFFS;
+
res_orig = s_root->residual_max;
res_prev = res_orig;