1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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 */
|