diff options
author | pollney <pollney@a491c6a4-70bf-4b89-8b36-d6c0cb1f094e> | 2002-11-14 13:19:55 +0000 |
---|---|---|
committer | pollney <pollney@a491c6a4-70bf-4b89-8b36-d6c0cb1f094e> | 2002-11-14 13:19:55 +0000 |
commit | ad38e65250a779b827586e44f7963969a182db65 (patch) | |
tree | 09b290fde34d8ef8d38da6acc96e2b82b1ec22be /src/MaskInit.c | |
parent | acf684447216dd5f57dc52c3e55f5e943df25463 (diff) |
Implementation of the recently discussed spacemask spec. See the
doc/documentation.tex for details.
The existing mask grid-function (emask) has been retained for the
time being, until the excision related thorns can be brought up to
date with the new interface. These thorns should see no change in
their behaviour. In the meantime, the space_mask GF can be used
simultaneously via the new interfaces.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/SpaceMask/trunk@15 a491c6a4-70bf-4b89-8b36-d6c0cb1f094e
Diffstat (limited to 'src/MaskInit.c')
-rw-r--r-- | src/MaskInit.c | 94 |
1 files changed, 87 insertions, 7 deletions
diff --git a/src/MaskInit.c b/src/MaskInit.c index 50760dc..9436404 100644 --- a/src/MaskInit.c +++ b/src/MaskInit.c @@ -14,6 +14,7 @@ #include "cctk_Arguments.h" #include "Symmetry.h" +#include "SpaceMask.h" static const char *rcsid = "$Header$"; @@ -46,8 +47,61 @@ void MaskOne(CCTK_ARGUMENTS); ********************* External Routines ********************** ********************************************************************/ - /*@@ +/*@@ + @routine SetupSpaceMaskRegistry + @date November 2002 + @author Denis Pollney + @desc + Allocate and initialise the global spacemask registry. + @enddesc +@@*/ +void SetupSpaceMaskRegistry (void) +{ + SpaceMask_Registry* spacemask_registry; + + spacemask_registry = (SpaceMask_Registry*) malloc + (sizeof(SpaceMask_Registry)); + + spacemask_registry->ntypes=0; + spacemask_registry->type_list = NULL; + + return; +} + +/*@@ @routine MaskSym + @date October 2002 + @author Denis Pollney + @desc + Scheduled routine to set symmetries for mask + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ +void MaskSym(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS + + int one; + int sym[3]; + + one = 1; + + sym[0] = one; + sym[1] = one; + sym[2] = one; + + SetCartSymVN(cctkGH, sym, "spacemask::space_mask"); + + return; +} + +/*@@ + @routine MaskSym_emask @date Fri 3 May 2002 @author Gabrielle Allen @desc @@ -60,7 +114,7 @@ void MaskOne(CCTK_ARGUMENTS); @endhistory @@*/ -void MaskSym(CCTK_ARGUMENTS) +void MaskSym_emask(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS @@ -69,16 +123,16 @@ void MaskSym(CCTK_ARGUMENTS) one = 1; - sym[0] = one; - sym[1] = one; - sym[2] = one; + sym[0] = one; + sym[1] = one; + sym[2] = one; - SetCartSymVN(cctkGH, sym,"spacemask::emask"); + SetCartSymVN(cctkGH, sym, "spacemask::emask"); return; } - /*@@ +/*@@ @routine MaskOne @date @author Miguel Alcubierre @@ -105,6 +159,32 @@ void MaskOne(CCTK_ARGUMENTS) return; } +/*@@ + @routine MaskZero + @date + @author Denis Pollney + @desc + Initialise the mask to zero. + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ +void MaskZero(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS + + int i; + + for(i = 0; i < cctk_lsh[0]*cctk_lsh[1]*cctk_lsh[2]; i++) + space_mask[i] = 0; + + return; +} + /******************************************************************** ********************* Local Routines ************************* ********************************************************************/ |