From 40e686b7688345a903f4afb97362de7d57cbb3c7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 29 Jan 2019 15:38:17 +0100 Subject: mg2d: account for effect of the ~u term on the relaxation factor The maximum allowed time step in the presence of a -K * u term goes like 2 (dx ** 2) / (4 + K (dx ** 2)) --- ell_grid_solve.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ell_grid_solve.c') diff --git a/ell_grid_solve.c b/ell_grid_solve.c index 370deab..20de6bc 100644 --- a/ell_grid_solve.c +++ b/ell_grid_solve.c @@ -751,6 +751,9 @@ int mg2di_egs_init(EGSContext *ctx) else priv->r.relax_factor = r->relax_factor; priv->r.relax_factor *= ctx->step[0] * ctx->step[0]; + + if (r->relax_multiplier > 0.0) + priv->r.relax_factor *= r->relax_multiplier; } priv->fd_factors[MG2D_DIFF_COEFF_00] = 1.0 / fd_denoms[ctx->fd_stencil - 1][MG2D_DIFF_COEFF_00]; -- cgit v1.2.3