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"
|