From 857b9e3e44e545b8ea1cfbf0e534c68c88b077d2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 23 May 2019 14:16:01 +0200 Subject: Only allocate the context once. --- src/maximal_slicing_axi_mg.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/maximal_slicing_axi_mg.c b/src/maximal_slicing_axi_mg.c index ab22685..cae7197 100644 --- a/src/maximal_slicing_axi_mg.c +++ b/src/maximal_slicing_axi_mg.c @@ -949,12 +949,14 @@ void msa_mg_init(CCTK_ARGUMENTS) int nb_levels_type; int nb_levels = *(int*)CCTK_ParameterGet("num_levels_1", "CarpetRegrid2", &nb_levels_type); - ret = context_init(cctkGH, fd_stencil, maxiter, exact_size, nb_cycles, - nb_relax_pre, nb_relax_post, tol_residual, tol_residual_base, - cfl_factor, nb_levels, - loglevel, &ms); - if (ret < 0) - CCTK_WARN(0, "Error initializing the solver context"); + if (!ms) { + ret = context_init(cctkGH, fd_stencil, maxiter, exact_size, nb_cycles, + nb_relax_pre, nb_relax_post, tol_residual, tol_residual_base, + cfl_factor, nb_levels, + loglevel, &ms); + if (ret < 0) + CCTK_WARN(0, "Error initializing the solver context"); + } } void msa_mg_prestep(CCTK_ARGUMENTS) -- cgit v1.2.3