aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
blob: 4217adf3579a824440fa7009c5df9808495a6a68 (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
# Parameter definitions for thorn SphericalSurface

RESTRICTED:

# You can enlarge the possible number of surfaces by changing the maximum
# 42 in the parameter nsurfaces, and by changing the array sizes [42] found
# in many of the parameters below.

CCTK_INT nsurfaces "Number of surfaces" STEERABLE=recover
{
  0:42 :: ""
} 0

# can be queried via SphericalSurface_IdFromName()
CCTK_STRING name[42] "User friendly name of spherical surface" STEERABLE=always
{
  ""   :: "none set"
  ".*" :: "any string"
} ""


BOOLEAN auto_res[42] "Automatically determine resolution according to radius and Cartesian resolution"
{
} no


CCTK_REAL auto_res_ratio[42] "Multiplicative factor by which we want to scale the resolution with respect to Cartesian resolution"
{
  0:* :: ""
} 2.0


KEYWORD auto_res_grid[42] "Choose resolution according to how grids overlap"   
{
  "fully contained" :: "SF must be fully contained in Cartesian grid"
  "overlap"         :: "SF overlaps with grid"
  "multipatch"      :: "SF potentially overlaps with a spherical mutipatch grid"
} "fully contained"



BOOLEAN verbose "Shall I be verbose?"
{
} no


# Default parameter values do not trigger accumulator expressions.
# Therefore the default values here must be large enough for the default
# surface shape.

# These parameters change the size of a checkpointed grid array. When changing them you will have to skip recovering sf_radius.

#CCTK_INT maxntheta "do not set this parameter directly" ACCUMULATOR=((x>y)*x+!(x>y)*y)
CCTK_INT maxntheta "Maximum number of grid points in the theta direction" STEERABLE=RECOVER
{
  0:* :: ""
} 19

#CCTK_INT maxnphi "do not set this parameter directly" ACCUMULATOR=((x>y)*x+!(x>y)*y)
CCTK_INT maxnphi "Maximum number of grid points in the phi direction" STEERABLE=RECOVER
{
  0:* :: ""
} 38


CCTK_INT ntheta[42] "Number of grid points in the theta direction" STEERABLE=always #ACCUMULATOR-BASE maxntheta
{
  0:* :: "must be at least 3*nghoststheta"
} 19

CCTK_INT nphi[42] "Number of grid points in the phi direction" STEERABLE=always #ACCUMULATOR-BASE maxnphi
{
  0:* :: "must be at least 3*nghostsphi"
} 38



CCTK_INT nghoststheta[42] "Number of ghost zones in the theta direction" STEERABLE=always #ACCUMULATOR-BASE maxnghoststheta
{
  0:* :: ""
} 2

CCTK_INT nghostsphi[42] "Number of ghost zones in the phi direction" STEERABLE=always #ACCUMULATOR-BASE maxnghostsphi
{
  0:* :: ""
} 2



BOOLEAN symmetric_x[42] "Reflection symmetry in the x direction" STEERABLE=always
{
} no

BOOLEAN symmetric_y[42] "Reflection symmetry in the y direction" STEERABLE=always
{
} no

BOOLEAN symmetric_z[42] "Reflection symmetry in the z direction" STEERABLE=always
{
} no



PRIVATE:





# Place a surfaces at a certain location

CCTK_REAL origin_x[42] "Origin for surface" STEERABLE=always
{
  * :: "origin"
} 0.0

CCTK_REAL origin_y[42] "Origin for surface" STEERABLE=always
{
  * :: "origin"
} 0.0

CCTK_REAL origin_z[42] "Origin for surface" STEERABLE=always
{
  * :: "origin"
} 0.0



BOOLEAN set_spherical[42] "Place surface at a certain radius" STEERABLE=always
{
} no

CCTK_REAL radius[42] "Radius for surface" STEERABLE=always
{
  * :: "radius"
} 0.0



BOOLEAN set_elliptic[42] "Place surface at a certain radius" STEERABLE=always
{
} no

CCTK_REAL radius_x[42] "Radius for surface" STEERABLE=always
{
  * :: "radius"
} 0.0

CCTK_REAL radius_y[42] "Radius for surface" STEERABLE=always
{
  * :: "radius"
} 0.0

CCTK_REAL radius_z[42] "Radius for surface" STEERABLE=always
{
  * :: "radius"
} 0.0