aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: f494d3a4d875657b7cc629d37a30335593155703 (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
# Interface definition for thorn CartGrid3D
# $Header$

implements: grid
inherits: coordbase

INCLUDE HEADER: Symmetry.h in Symmetry.h
uses include header: CoordBase.h

# The overall size of the domain
CCTK_INT FUNCTION GetDomainSpecification \
  (CCTK_INT IN size, \
   CCTK_REAL OUT ARRAY physical_min, \
   CCTK_REAL OUT ARRAY physical_max, \
   CCTK_REAL OUT ARRAY interior_min, \
   CCTK_REAL OUT ARRAY interior_max, \
   CCTK_REAL OUT ARRAY exterior_min, \
   CCTK_REAL OUT ARRAY exterior_max, \
   CCTK_REAL OUT ARRAY spacing)
USES FUNCTION GetDomainSpecification

CCTK_INT FUNCTION ConvertFromPhysicalBoundary \
  (CCTK_INT IN size, \
   CCTK_REAL IN  ARRAY physical_min, \
   CCTK_REAL IN  ARRAY physical_max, \
   CCTK_REAL OUT ARRAY interior_min, \
   CCTK_REAL OUT ARRAY interior_max, \
   CCTK_REAL OUT ARRAY exterior_min, \
   CCTK_REAL OUT ARRAY exterior_max, \
   CCTK_REAL IN  ARRAY spacing)
USES FUNCTION ConvertFromPhysicalBoundary



CCTK_INT FUNCTION     \
    MultiPatch_GetMap \
        (CCTK_POINTER_TO_CONST IN cctkGH)
USES FUNCTION MultiPatch_GetMap

CCTK_INT FUNCTION                          \
    MultiPatch_GetDomainSpecification      \
        (CCTK_INT IN map,                  \
         CCTK_INT IN size,                 \
         CCTK_REAL OUT ARRAY physical_min, \
         CCTK_REAL OUT ARRAY physical_max, \
         CCTK_REAL OUT ARRAY interior_min, \
         CCTK_REAL OUT ARRAY interior_max, \
         CCTK_REAL OUT ARRAY exterior_min, \
         CCTK_REAL OUT ARRAY exterior_max, \
         CCTK_REAL OUT ARRAY spacing)
USES FUNCTION MultiPatch_GetDomainSpecification

CCTK_INT FUNCTION                          \
    MultiPatch_ConvertFromPhysicalBoundary \
        (CCTK_INT IN map,                  \
         CCTK_INT IN size,                 \
         CCTK_REAL IN  ARRAY physical_min, \
         CCTK_REAL IN  ARRAY physical_max, \
         CCTK_REAL OUT ARRAY interior_min, \
         CCTK_REAL OUT ARRAY interior_max, \
         CCTK_REAL OUT ARRAY exterior_min, \
         CCTK_REAL OUT ARRAY exterior_max, \
         CCTK_REAL IN  ARRAY spacing)
USES FUNCTION MultiPatch_ConvertFromPhysicalBoundary



# Register the symmetry boundaries
CCTK_INT FUNCTION SymmetryRegister (CCTK_STRING IN sym_name)
USES FUNCTION SymmetryRegister

CCTK_INT FUNCTION                                  \
    SymmetryRegisterGrid                           \
         (CCTK_POINTER IN cctkGH,                  \
          CCTK_INT IN sym_handle,                  \
          CCTK_INT IN ARRAY which_faces,           \
          CCTK_INT IN ARRAY symmetry_zone_width)    
USES FUNCTION SymmetryRegisterGrid



# Apply the symmetry boundary conditions
CCTK_INT FUNCTION Boundary_SelectedGVs \
  (CCTK_POINTER_TO_CONST IN  GH, \
   CCTK_INT IN  array_size, \
   CCTK_INT ARRAY OUT var_indicies, \
   CCTK_INT ARRAY OUT faces, \
   CCTK_INT ARRAY OUT boundary_widths, \
   CCTK_INT ARRAY OUT table_handles, \
   CCTK_STRING IN  bc_name)
USES FUNCTION Boundary_SelectedGVs



public:

REAL gridspacings type=SCALAR tags='Checkpoint="no"'
{
  coarse_dx, coarse_dy, coarse_dz
} "3D Cartesian grid spacings"

REAL coordinates type=GF tags='Prolongation="None" Checkpoint="no"'
{
  x, y, z, r
# will become:
# coord_x, coord_y, coord_z
} "3D Cartesian grid coordinates"