aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetRegrid/param.ccl
blob: 1de876c7386350e38b5a78ac8c125081e125030d (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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
# Parameter definitions for thorn CarpetRegrid
# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/param.ccl,v 1.14 2004/01/25 14:57:30 schnetter Exp $



CCTK_INT refinement_levels "Number of refinement levels (including the base level)" STEERABLE=always
{
  1:* :: "must be positive, and must not be larger than Carpet::max_refinement_levels"
} 1



CCTK_INT regrid_every "Regrid every n time steps" STEERABLE=always
{
  -1   :: "regrid never"
   0   :: "regrid during initial data calculation only"
   1:* :: "regrid every n time steps"
} 0



CCTK_INT activate_newlevels_on_regrid "When regridding, activate this many new levels (if possible).  Note that this will steer the parameter refinement_levels." STEERABLE=always
{
  : :: "Number of new levels to activate (negative numbers deactivate)"
} 0

CCTK_INT activate_next "The next iteration at which new levels should be activated" STEERABLE=always
{
  0: :: "Note that this parameter is steered when new levels are activated"
} 1

BOOLEAN regrid_from_function "Regridding criteria from the aliased function?"
{
} "no"



KEYWORD refined_regions "Regions where the grid is refined" STEERABLE=always
{
  "none"                   :: "Don't refine"
  "centre"                 :: "Refine around the centre of the grid only"
  "manual-gridpoints"      :: "Refine the regions specified by integer grid points l[123]i[xyz]{min,max}"
  "manual-coordinates"     :: "Refine the regions specified by coordinates l[123][xyz]{min,max}"
  "manual-gridpoint-list"  :: "Refine the regions specified by integer grid points in the parameter 'gridpoints'"
  "manual-coordinate-list" :: "Refine the regions specified by coordinates in the parameter 'coordinates'"
  "automatic"              :: "Refine automatically"
} "centre"



# Region specifications for centre refinement

BOOLEAN symmetry_x "Refine the lower half in x-direction"
{
} "no"
BOOLEAN symmetry_y "Refine the lower half in y-direction"
{
} "no"
BOOLEAN symmetry_z "Refine the lower half in z-direction"
{
} "no"



# Region specifications for manual gridpoint refinement

CCTK_INT l1ixmin "Lower boundary of level 1 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l1iymin "Lower boundary of level 1 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l1izmin "Lower boundary of level 1 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_INT l1ixmax "Upper boundary of level 1 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l1iymax "Upper boundary of level 1 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l1izmax "Upper boundary of level 1 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



CCTK_INT l2ixmin "Lower boundary of level 2 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l2iymin "Lower boundary of level 2 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l2izmin "Lower boundary of level 2 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_INT l2ixmax "Upper boundary of level 2 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l2iymax "Upper boundary of level 2 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l2izmax "Upper boundary of level 2 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



CCTK_INT l3ixmin "Lower boundary of level 3 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l3iymin "Lower boundary of level 3 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_INT l3izmin "Lower boundary of level 3 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_INT l3ixmax "Upper boundary of level 3 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l3iymax "Upper boundary of level 3 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_INT l3izmax "Upper boundary of level 3 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



# Region specifications for manual coordinate refinement

CCTK_REAL l1xmin "Lower boundary of level 1 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l1ymin "Lower boundary of level 1 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l1zmin "Lower boundary of level 1 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_REAL l1xmax "Upper boundary of level 1 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l1ymax "Upper boundary of level 1 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l1zmax "Upper boundary of level 1 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



CCTK_REAL l2xmin "Lower boundary of level 2 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l2ymin "Lower boundary of level 2 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l2zmin "Lower boundary of level 2 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_REAL l2xmax "Upper boundary of level 2 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l2ymax "Upper boundary of level 2 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l2zmax "Upper boundary of level 2 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



CCTK_REAL l3xmin "Lower boundary of level 3 box in x-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l3ymin "Lower boundary of level 3 box in y-direction" STEERABLE=always
{
  : :: ""
} 0
CCTK_REAL l3zmin "Lower boundary of level 3 box in z-direction" STEERABLE=always
{
  : :: ""
} 0

CCTK_REAL l3xmax "Upper boundary of level 3 box in x-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l3ymax "Upper boundary of level 3 box in y-direction" STEERABLE=always
{
  : :: ""
} -1
CCTK_REAL l3zmax "Upper boundary of level 3 box in z-direction" STEERABLE=always
{
  : :: ""
} -1



# Refinement criteria for manual-gridpoint-list

CCTK_STRING gridpoints "List of bounding box gridpoints" STEERABLE=always
{
  "^$" :: "leave empty for no refinement"
  ".*" :: "[ [ ([<imin>,<jmin>,<kmin>]:[<imax>,<jmax>,<kmax>]:[<istride>,<jstride>,<kstride>]), ... ], ... ]"
} ""



# Refinement criteria for manual-coordinate-list

CCTK_STRING coordinates "List of bounding box coordinates" STEERABLE=always
{
  "^$" :: "leave empty for no refinement"
  ".*" :: "[ [ ([<xmin>,<ymin>,<zmin>]:[<xmax>,<ymax>,<zmax>]:[<xstride>,<ystride>,<zstride>]), ... ], ... ]"
} ""



# Outer boundaries for manual-gridpoint-list and manual-coordinate-list

CCTK_STRING outerbounds "Outer boundaries"
{
  "^$" :: "leave empty for no outer boundaries"
  ".*" :: "[ [ [[?,?],[?,?],[?,?]], ... ], ...]"
} ""



# Refinement criteria for automatic refining

CCTK_INT minwidth "Minimum width of refined region" STEERABLE=always
{
  1:* :: "must be positive"
} 8

CCTK_REAL minfraction "Minimum fraction of points in need of refinement in a refined region" STEERABLE=always
{
  0:1 :: "must be positive and less than one"
} 0.75

CCTK_REAL maxerror "Maximum allowed error for non-refined grid points" STEERABLE=always
{
  *:* :: "everything goes"
} 1.0

CCTK_STRING errorvar "Name of grid function that contains the error" STEERABLE=always
{
  ".*" :: "must be the name of a grid function"
} ""