From 5a57b42a140e35c68c186639843cdf1b5a54f94c Mon Sep 17 00:00:00 2001 From: reisswig Date: Wed, 10 Apr 2013 15:34:09 +0000 Subject: Don't overwrite point from a previous sphere with "not excised". git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinUtils/SetMask_SphericalSurface/trunk@118 053b05ff-9803-4dc7-a0e4-4b49d75fdb53 --- src/SetMask.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/SetMask.c b/src/SetMask.c index 41453f5..1f958e3 100644 --- a/src/SetMask.c +++ b/src/SetMask.c @@ -15,6 +15,20 @@ void SetMask_SphericalSurface (CCTK_ARGUMENTS) if (!mask) CCTK_WARN(0, "No such variable, or no storage enabled"); + /* Delete mask first! */ + #pragma omp parallel + { + LC_LOOP3(mask_zero, i,j,k, 0,0,0, + cctk_lsh[0], cctk_lsh[1], cctk_lsh[2], + cctk_lsh[0], cctk_lsh[1], cctk_lsh[2]) + { + CCTK_INT i3D = CCTK_GFINDEX3D(cctkGH, i, j, k); + mask[i3D] = HYDRO_EXCISION_NORMAL; + } + LC_ENDLOOP3(mask_zero); + } + + /* Now set excision! */ for (int smi = 0; smi < 10; smi++) { CCTK_INT sfi = sf_IdFromName(SetMask_SurfaceIndex[smi], SetMask_SurfaceName[smi]); @@ -35,10 +49,6 @@ void SetMask_SphericalSurface (CCTK_ARGUMENTS) { mask[i3D] = HYDRO_EXCISION_EXCISED; } - else// if (SetMask_ResetAll) - { - mask[i3D] = HYDRO_EXCISION_NORMAL; - } } LC_ENDLOOP3(setsurface); } -- cgit v1.2.3