diff options
author | schnetter <schnetter@906471b6-c639-44d1-9ea0-3e3d6879f074> | 2004-03-07 09:48:53 +0000 |
---|---|---|
committer | schnetter <schnetter@906471b6-c639-44d1-9ea0-3e3d6879f074> | 2004-03-07 09:48:53 +0000 |
commit | b82e5c3aa78561c654999489f9a63879af452876 (patch) | |
tree | ff8e71d6a990a48b5f6c811ddffe1214434a744b /src/SymBase.h | |
parent | ec7367fb09b1f7e0c038cf5eb5085473dea29503 (diff) |
Initial implementation of the SymBase specification
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/SymBase/trunk@2 906471b6-c639-44d1-9ea0-3e3d6879f074
Diffstat (limited to 'src/SymBase.h')
-rw-r--r-- | src/SymBase.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/SymBase.h b/src/SymBase.h new file mode 100644 index 0000000..d343fee --- /dev/null +++ b/src/SymBase.h @@ -0,0 +1,88 @@ +/*@@ + @file $RCSfile$ + @author $Author$ + @date $Date$ + @desc + Declarations for thorn SymBase + @version $Header$ + @enddesc +@@*/ + +#ifndef SYMBASE_H +#define SYMBASE_H + + + +#include "cctk.h" + + + +/* SymBase's GH extension */ +struct SymBase +{ + /* Grid symmetry table handle */ + int sym_table; + + /* Grid array symmetry table handles */ + int *array_sym_tables; +}; + + + +/* Number of registered symmetries */ +extern size_t SymBase_num_symmetries; + +/* The names of these symmetries */ +extern const char **SymBase_symmetry_names; + + + +/* Startup.c */ +int SymBase_Startup (void); +void *SymBase_Setup (tFleshConfig * const config, + int const convlev, cGH * const cctkGH); + +/* Handles.c */ +CCTK_INT SymBase_SymmetryRegister (CCTK_STRING const sym_name); +CCTK_INT SymBase_SymmetryHandleOfName (CCTK_STRING const sym_name); +CCTK_POINTER_TO_CONST SymBase_SymmetryNameOfHandle (CCTK_INT const + sym_handle); + +/* Faces.c */ +CCTK_INT +SymBase_SymmetryRegisterFaces (CCTK_INT const sym_table, + CCTK_INT const group_dim, + CCTK_INT const sym_handle, + CCTK_INT const *const which_faces, + CCTK_INT const *const new_symmetry_zone_width); +CCTK_INT +SymBase_SymmetryRegisterGrid (CCTK_POINTER const cctkGH_, + CCTK_INT const sym_handle, + CCTK_INT const *const which_faces, + CCTK_INT const *const new_symmetry_zone_width); +CCTK_INT +SymBase_SymmetryRegisterGI (CCTK_POINTER const cctkGH_, + CCTK_INT const sym_handle, + CCTK_INT const *const which_faces, + CCTK_INT const *const new_symmetry_zone_width, + CCTK_INT const group_index); +CCTK_INT +SymBase_SymmetryRegisterGN (CCTK_POINTER const cctkGH_, + CCTK_INT const sym_handle, + CCTK_INT const *const which_faces, + CCTK_INT const *const new_symmetry_zone_width, + CCTK_STRING const group_name); + +/* Table.c */ +CCTK_INT +SymBase_SymmetryTableHandleForGrid (CCTK_POINTER_TO_CONST const cctkGH_); +CCTK_INT +SymBase_SymmetryTableHandleForGI (CCTK_POINTER_TO_CONST const cctkGH_, + CCTK_INT const group_index); +CCTK_INT +SymBase_SymmetryTableHandleForGN (CCTK_POINTER_TO_CONST const cctkGH_, + CCTK_STRING const group_name); + + + +#endif /* ! defined SYMBASE_H */ |