aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 2c07bd8ea26b30b554c94360f993b457d7aaa09a (plain)
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
# Interface definition for thorn SymBase
# $Header$

IMPLEMENTS: SymBase



# Register a symmetry, and query the symmetry name/handle mapping:

CCTK_INT FUNCTION SymmetryRegister (CCTK_STRING IN sym_name)
PROVIDES FUNCTION SymmetryRegister \
     WITH SymBase_SymmetryRegister \
     LANGUAGE C

CCTK_INT FUNCTION SymmetryHandleOfName (CCTK_STRING IN sym_name)
PROVIDES FUNCTION SymmetryHandleOfName \
     WITH SymBase_SymmetryHandleOfName \
     LANGUAGE C

CCTK_POINTER_TO_CONST FUNCTION SymmetryNameOfHandle (CCTK_INT IN sym_handle)
PROVIDES FUNCTION SymmetryNameOfHandle \
     WITH SymBase_SymmetryNameOfHandle \
     LANGUAGE C



# Register a symmetry condition for a face:

CCTK_INT FUNCTION                                  \
    SymmetryRegisterGrid                           \
         (CCTK_POINTER IN cctkGH,                  \
          CCTK_INT IN sym_handle,                  \
          CCTK_INT IN ARRAY which_faces,           \ # array [N_FACES]
          CCTK_INT IN ARRAY symmetry_zone_width)     # array [N_FACES]
PROVIDES FUNCTION SymmetryRegisterGrid \
     WITH SymBase_SymmetryRegisterGrid \
     LANGUAGE C

CCTK_INT FUNCTION                                  \
    SymmetryRegisterGI                             \
        (CCTK_POINTER IN cctkGH,                   \
         CCTK_INT IN sym_handle,                   \
         CCTK_INT IN ARRAY which_faces,            \ # array [N_FACES]
         CCTK_INT IN ARRAY symmetry_zone_width,    \ # array [N_FACES]
         CCTK_INT IN group_index)
PROVIDES FUNCTION SymmetryRegisterGI \
     WITH SymBase_SymmetryRegisterGI \
     LANGUAGE C

CCTK_INT FUNCTION                                  \
    SymmetryRegisterGN                             \
        (CCTK_POINTER IN cctkGH,                   \
         CCTK_INT IN sym_handle,                   \
         CCTK_INT IN ARRAY which_faces,            \ # array [N_FACES]
         CCTK_INT IN ARRAY symmetry_zone_width,    \ # array [N_FACES]
         CCTK_STRING IN group_name)
PROVIDES FUNCTION SymmetryRegisterGN \
     WITH SymBase_SymmetryRegisterGN \
     LANGUAGE C



# Get the symmetry table handle for a grid or grid array:

CCTK_INT FUNCTION \
    SymmetryTableHandleForGrid (CCTK_POINTER_TO_CONST IN cctkGH)
PROVIDES FUNCTION SymmetryTableHandleForGrid \
     WITH SymBase_SymmetryTableHandleForGrid \
     LANGUAGE C

CCTK_INT FUNCTION                          \
    SymmetryTableHandleForGI               \
        (CCTK_POINTER_TO_CONST IN cctkGH,  \
         CCTK_INT IN group_index)
PROVIDES FUNCTION SymmetryTableHandleForGI \
     WITH SymBase_SymmetryTableHandleForGI \
     LANGUAGE C

CCTK_INT FUNCTION                          \
    SymmetryTableHandleForGN               \
        (CCTK_POINTER_TO_CONST IN cctkGH,  \
         CCTK_STRING IN group_name)
PROVIDES FUNCTION SymmetryTableHandleForGN \
     WITH SymBase_SymmetryTableHandleForGN \
     LANGUAGE C