aboutsummaryrefslogtreecommitdiff
path: root/src/MaskInit.c
diff options
context:
space:
mode:
authorpollney <pollney@a491c6a4-70bf-4b89-8b36-d6c0cb1f094e>2002-11-14 13:19:55 +0000
committerpollney <pollney@a491c6a4-70bf-4b89-8b36-d6c0cb1f094e>2002-11-14 13:19:55 +0000
commitad38e65250a779b827586e44f7963969a182db65 (patch)
tree09b290fde34d8ef8d38da6acc96e2b82b1ec22be /src/MaskInit.c
parentacf684447216dd5f57dc52c3e55f5e943df25463 (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.c94
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 *************************
********************************************************************/