diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-04-09 09:45:16 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2019-06-14 11:05:39 +0200 |
commit | 373dbd15f216c2ce97396af37ea3f7cc5d39455c (patch) | |
tree | 9fec3609181410c7584bced57b118c23499a90eb /mg2d.c | |
parent | 33d18edb8db8cad947b7a06206d4000ad0bfa619 (diff) |
egs: add higher-order finite difference operatorstmp
Diffstat (limited to 'mg2d.c')
-rw-r--r-- | mg2d.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -224,7 +224,7 @@ static int mg_solve_subgrid(MG2DContext *ctx, MG2DLevel *level) finish: res_new = level->solver->residual_max; if (!isfinite(res_new) || - (res_new > 1e2 * DBL_EPSILON && res_old / res_new <= 1e-1)) { + (res_new > 1e2 * DBL_EPSILON && res_old / res_new <= 1e-2)) { mg2di_log(&ctx->priv->logger, MG2D_LOG_ERROR, "The relaxation step at level %d has diverged: %g -> %g\n", level->depth, res_old, res_new); @@ -399,6 +399,8 @@ static int mg_levels_init(MG2DContext *ctx) switch (ctx->fd_stencil) { case 1: op_interp = GRID_TRANSFER_LAGRANGE_3; break; case 2: op_interp = GRID_TRANSFER_LAGRANGE_5; break; + case 3: op_interp = GRID_TRANSFER_LAGRANGE_7; break; + case 4: op_interp = GRID_TRANSFER_LAGRANGE_7; break; default: return -ENOSYS; } |