aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 562a1802e44156229e7acd522f45fc08a3cafe4a (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# Interface definition for thorn AHFinder
# $Header$


implements: AHFinder
inherits: ADMBase StaticConformal SpaceMask Grid IO ADMMacros

SUBROUTINE SetDriftCorrectPosition ( CCTK_POINTER_TO_CONST IN GH_Pointer, \
                                     CCTK_REAL IN x, \
                                     CCTK_REAL IN y, \
                                     CCTK_REAL IN z )

USES FUNCTION SetDriftCorrectPosition

SUBROUTINE ConfToPhysInPlace (CCTK_INT IN nx,            \
                              CCTK_INT IN ny,            \
                              CCTK_INT IN nz,            \
                              CCTK_REAL ARRAY IN psi,    \
                              CCTK_REAL ARRAY INOUT gxx, \
                              CCTK_REAL ARRAY INOUT gxy, \
                              CCTK_REAL ARRAY INOUT gxz, \
                              CCTK_REAL ARRAY INOUT gyy, \
                              CCTK_REAL ARRAY INOUT gyz, \
                              CCTK_REAL ARRAY INOUT gzz)

USES FUNCTION ConfToPhysInPlace

SUBROUTINE PhysToConfInPlace (CCTK_INT IN nx,            \
                              CCTK_INT IN ny,            \
                              CCTK_INT IN nz,            \
                              CCTK_REAL ARRAY IN psi,    \
                              CCTK_REAL ARRAY INOUT gxx, \
                              CCTK_REAL ARRAY INOUT gxy, \
                              CCTK_REAL ARRAY INOUT gxz, \
                              CCTK_REAL ARRAY INOUT gyy, \
                              CCTK_REAL ARRAY INOUT gyz, \
                              CCTK_REAL ARRAY INOUT gzz)

USES FUNCTION PhysToConfInPlace

################################
###   PUBLIC GRID FUNCTIONS  ###
################################

public:

real ahfindergrid type=GF
{
ahfgrid
} "Horizon function"

real ahfinderexp type=GF
{
ahf_exp
} "Expansion"

real ahfmask type=GF
{
ahmask
} "Grid function for masking"


######################################
###   PUBLIC SCALARS FOR EXCISION  ###
######################################

real hole1_bounds type=SCALAR
{
dhole1_xmin,
dhole1_ymin,
dhole1_zmin,
dhole1_xmax,
dhole1_ymax,
dhole1_zmax
} "Bounds of excision box for hole 1"

real hole2_bounds type=SCALAR
{
dhole2_xmin,
dhole2_ymin,
dhole2_zmin,
dhole2_xmax,
dhole2_ymax,
dhole2_zmax
} "Bounds of excision box for hole 2"

real hole3_bounds type=SCALAR
{
dhole3_xmin,
dhole3_ymin,
dhole3_zmin,
dhole3_xmax,
dhole3_ymax,
dhole3_zmax
} "Bounds of excision box for hole 3"


###################
###   PRIVATE   ###
###################

private:

int triggergroup type=SCALAR
{
triggervar
} "For triggering output"

real ahfgradient type=GF
{
ahfgradx,
ahfgrady,
ahfgradz,
ahfgradn
} "Grid functions for gradients"

real ahfinder_gauss type=GF
{
ahfgauss
} "Grid function for gaussian curvature calculation"

real find3grid type=GF
{
ahfgrid3,
ahf_exp3
} "Grid functions to use in find3 algorithm"

real ahf_centroid type=SCALAR
{
  ahf_centroid_x,
  ahf_centroid_y,
  ahf_centroid_z
} "Centroid of one of the horizons"

int drift_check type=SCALAR
{
  drift_first
} "For checking if its the first drift correction"

#######################################
###  SCALARS AND ARRAYS FOR OUTPUT  ###
#######################################

REAL out_scalars TYPE=SCALAR
{
  out_mass,
  out_radius,
  out_area,
  out_perimeter,
  out_meridian1,
  out_meridian2,
  out_asymx,
  out_asymy,
  out_asymz,
  out_centerx,
  out_centery,
  out_centerz
} "Output of scalar variables"

REAL out_1d_legen TYPE=ARRAY DISTRIB=CONSTANT DIM=1 SIZE=ahf_lmax
{
  out_c0
} "Output of c0 coefficients"

REAL out_2d_legen TYPE=ARRAY DISTRIB=CONSTANT DIM=2 SIZE=ahf_lmax,ahf_lmax
{
  out_cc,out_cs
} "Output of cc and cs coefficients"

REAL ahfinder_gaussian TYPE=ARRAY DISTRIB=CONSTANT DIM=2 SIZE=ahf_ntheta+1,ahf_nphi+1
{
  gaussian
} "Gaussian Curvature"