diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-04-23 15:40:01 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2019-04-24 14:44:38 +0200 |
commit | 8b54b3860926a06730c406f45623ee87d22c10d3 (patch) | |
tree | 6388dd0ff3c2363dba1c1b3c253d91115b21cb9b /mg2d.c | |
parent | 86ad823b9ade211bfa9361b61571933aff1c9d24 (diff) |
mg2d: set egs init flags properly in all cases
Diffstat (limited to 'mg2d.c')
-rw-r--r-- | mg2d.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; |