diff options
-rw-r--r-- | interface.ccl | 5 | ||||
-rw-r--r-- | param.ccl | 5 | ||||
-rw-r--r-- | src/SetMask.c | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/interface.ccl b/interface.ccl index cba914b..12ff4e3 100644 --- a/interface.ccl +++ b/interface.ccl @@ -5,3 +5,8 @@ implements: SetMask_SphericalSurface inherits: HydroBase SphericalSurface USES INCLUDE: HydroBase.h + +# translate SphericalSurface name into ID +CCTK_INT \ +FUNCTION sf_IdFromName (CCTK_INT IN id, CCTK_POINTER_TO_CONST IN name) +USES FUNCTION sf_IdFromName @@ -14,6 +14,11 @@ CCTK_INT SetMask_SurfaceIndex[10] "Index of spherical surface to use to set mask -1:* :: "-1 to disable (default), >=0 for index" } -1 +CCTK_String SetMask_SurfaceName[10] "Name of spherical surface to use to set mask" STEERABLE=always +{ + ".*":: "emtpy to use SetMask_SurfaceIndex, any other string to use" +} "" + CCTK_REAL SetMask_RadiusFactor[10] "Factor to modify radius of surface for mask" STEERABLE=always { 0:* :: "Some positive factor, default: 1" diff --git a/src/SetMask.c b/src/SetMask.c index c2c5541..41453f5 100644 --- a/src/SetMask.c +++ b/src/SetMask.c @@ -1,6 +1,7 @@ #include "cctk.h" #include "cctk_Arguments.h" #include "cctk_Parameters.h" +#include "cctk_Functions.h" #include "loopcontrol.h" #include "HydroBase.h" @@ -16,7 +17,7 @@ void SetMask_SphericalSurface (CCTK_ARGUMENTS) for (int smi = 0; smi < 10; smi++) { - CCTK_INT sfi = SetMask_SurfaceIndex[smi]; + CCTK_INT sfi = sf_IdFromName(SetMask_SurfaceIndex[smi], SetMask_SurfaceName[smi]); if (sfi >= 0 && sf_active[sfi] && sf_valid[sfi] >= 0) { #pragma omp parallel |