aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetInterp2/interface.ccl
blob: 0b1363a6e85b63000b38a57d201f09edbce36486 (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Interface definition for thorn CarpetInterp2

IMPLEMENTS: interp2

INCLUDE HEADER: fasterp.hh IN carpetinterp2.hh



USES INCLUDE HEADER: defs.hh
USES INCLUDE HEADER: typeprops.hh
USES INCLUDE HEADER: vect.hh

USES INCLUDE HEADER: carpet.hh



# Get access to communicators
CCTK_POINTER_TO_CONST FUNCTION                        \
    GetMPICommWorld (CCTK_POINTER_TO_CONST IN cctkGH)
REQUIRES FUNCTION GetMPICommWorld

# Access coordinate information (on the coarse level)
CCTK_INT FUNCTION                          \
    GetCoordRange                          \
        (CCTK_POINTER_TO_CONST IN  cctkGH, \
         CCTK_INT              IN  m,      \
         CCTK_INT              IN  ml,     \
         CCTK_INT              IN  size,   \
         CCTK_INT        ARRAY OUT gsh,    \
         CCTK_REAL       ARRAY OUT lower,  \
         CCTK_REAL       ARRAY OUT upper,  \
         CCTK_REAL       ARRAY OUT delta)
REQUIRES FUNCTION GetCoordRange



CCTK_INT FUNCTION                               \
    MultiPatch_LocalToGlobal                    \
        (CCTK_POINTER_TO_CONST IN cctkGH,       \
         CCTK_INT              IN ndims,        \
         CCTK_INT              IN npoints,      \
         CCTK_INT        ARRAY IN patch,        \
         CCTK_POINTER_TO_CONST IN localcoords,  \
         CCTK_POINTER          IN globalcoords, \
         CCTK_POINTER          IN dxda,         \
         CCTK_POINTER          IN det_dxda,     \
         CCTK_POINTER          IN dadx,         \
         CCTK_POINTER          IN ddxdada,      \
         CCTK_POINTER          IN ddadxdx,      \
         CCTK_POINTER          IN dddxdadada)
USES FUNCTION MultiPatch_LocalToGlobal

CCTK_INT FUNCTION                                \
    MultiPatch_GlobalToLocal                     \
        (CCTK_POINTER_TO_CONST IN  cctkGH,       \
         CCTK_INT              IN  ndims,        \
         CCTK_INT              IN  npoints,      \
         CCTK_POINTER_TO_CONST IN  globalcoords, \
         CCTK_INT        ARRAY OUT patch,        \
         CCTK_POINTER          IN  localcoords,  \
         CCTK_POINTER          IN  dadx,         \
         CCTK_POINTER          IN  ddadxdx)
USES FUNCTION MultiPatch_GlobalToLocal

CCTK_INT FUNCTION                                      \
    InterpGridArrays                                   \
        (CCTK_POINTER_TO_CONST IN cctkGH,              \
         CCTK_INT              IN N_dims,              \
         CCTK_INT              IN order,               \
         CCTK_INT              IN N_interp_points,     \
         CCTK_POINTER_TO_CONST IN interp_coords,       \
         CCTK_INT              IN N_input_arrays,      \
         CCTK_INT        ARRAY IN input_array_indices, \
         CCTK_INT              IN N_output_arrays,     \
         CCTK_POINTER          IN output_arrays)
PROVIDES FUNCTION InterpGridArrays      \
    WITH CarpetInterp2_InterpGridArrays \
    LANGUAGE C

CCTK_INT FUNCTION                                      \
    MultiPatchInterpGridArrays                         \
        (CCTK_POINTER_TO_CONST IN cctkGH,              \
         CCTK_INT              IN N_dims,              \
         CCTK_INT              IN order,               \
         CCTK_INT              IN N_interp_points,     \
         CCTK_INT        ARRAY IN interp_maps,         \
         CCTK_POINTER_TO_CONST IN interp_coords,       \
         CCTK_INT              IN N_input_arrays,      \
         CCTK_INT        ARRAY IN input_array_indices, \
         CCTK_INT              IN N_output_arrays,     \
         CCTK_POINTER          IN output_arrays)
PROVIDES FUNCTION MultiPatchInterpGridArrays      \
    WITH CarpetInterp2_MultiPatchInterpGridArrays \
    LANGUAGE C



CCTK_POINTER FUNCTION                                  \
    Interp2GridArraysSetup                             \
        (CCTK_POINTER_TO_CONST IN cctkGH,              \
         CCTK_INT              IN N_dims,              \
         CCTK_INT              IN order,               \
         CCTK_INT              IN N_interp_points,     \
         CCTK_POINTER_TO_CONST IN interp_coords)
PROVIDES FUNCTION Interp2GridArraysSetup      \
    WITH CarpetInterp2_Interp2GridArraysSetup \
    LANGUAGE C

CCTK_INT FUNCTION                                      \
    Interp2GridArrays                                  \
        (CCTK_POINTER_TO_CONST IN cctkGH,              \
         CCTK_POINTER_TO_CONST IN interp_handle,       \
         CCTK_INT              IN N_input_arrays,      \
         CCTK_INT        ARRAY IN input_array_indices, \
         CCTK_INT              IN N_output_arrays,     \
         CCTK_POINTER          IN output_arrays)
PROVIDES FUNCTION Interp2GridArrays      \
    WITH CarpetInterp2_Interp2GridArrays \
    LANGUAGE C

CCTK_INT FUNCTION                                      \
    Interp2GridArraysFree                              \
        (CCTK_POINTER_TO_CONST IN cctkGH,              \
         CCTK_POINTER          IN interp_handle)
PROVIDES FUNCTION Interp2GridArraysFree      \
    WITH CarpetInterp2_Interp2GridArraysFree \
    LANGUAGE C