From e1d1bdc0d20cc379f2cf31fca84f6179eba0cb36 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 23 Mar 2019 19:34:48 +0100 Subject: mg2d: use appropriate full-weighted restriction for 3rd order FDs --- mg2d.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'mg2d.c') diff --git a/mg2d.c b/mg2d.c index ce92ba2..3e02ac1 100644 --- a/mg2d.c +++ b/mg2d.c @@ -376,9 +376,12 @@ static int mg_levels_init(MG2DContext *ctx) else op_interp = GRID_TRANSFER_LAGRANGE_3; - if (cur->solver->domain_size[0] == 2 * (cur->child->solver->domain_size[0] - 1) + 1) - op_restrict = GRID_TRANSFER_FW_1; - else + if (cur->solver->domain_size[0] == 2 * (cur->child->solver->domain_size[0] - 1) + 1) { + if (ctx->fd_stencil == 1) + op_restrict = GRID_TRANSFER_FW_1; + else + op_restrict = GRID_TRANSFER_FW_3; + } else op_restrict = op_interp; cur->transfer_restrict = mg2di_gt_alloc(op_restrict); -- cgit v1.2.3