aboutsummaryrefslogtreecommitdiff
path: root/par/CCZ4/bbh_ccz4.par
blob: e009fd5fda1044f2b4ebca20c230529e30eca171 (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
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
################################################################################
  Cactus::cctk_run_title = "CCZ4 Binary Black Hole"
################################################################################

ActiveThorns = "
  ADMBase
  ADMCoupling
  ADMMacros
  AEILocalInterp
  AHFinderDirect
  BLAS
  Boundary
  Carpet
  CarpetInterp
  CarpetIOASCII
  CarpetIOBasic
  CarpetIOHDF5
  CarpetIOScalar
  CarpetLib
  CarpetMask
  CarpetReduce
  CarpetRegrid2
  CarpetSlab
  CarpetTracker
  CartGrid3D
  CoordBase
  CoordGauge
  Dissipation
  Formaline
  Fortran
  GenericFD
  GSL
  HDF5
  InitBase
  IOUtil
  LAPACK
  LocalInterp
  LoopControl
  ML_ADMConstraints
  ML_BSSN
  ML_BSSN_Helper
  MoL
  Multipole
  NaNChecker
  NewRad
  PunctureTracker
  QuasiLocalMeasures
  ReflectionSymmetry
  RotatingSymmetry180
  Slab
  SpaceMask
  SphericalSurface
  StaticConformal
  SummationByParts
  SymBase
  SystemStatistics
  TerminationTrigger
  Time
  TimerReport
  TmunuBase
  TwoPunctures
  Vectors
  WeylScal4
"

################################################################################
# Grid structure
################################################################################

CartGrid3D::type 			  = "coordbase"
Carpet::domain_from_coordbase = "yes"
CoordBase::domainsize 		  = "minmax"

CoordBase::xmin =    0.00
CoordBase::ymin = -120.00
CoordBase::zmin =    0.00
CoordBase::xmax = +120.00
CoordBase::ymax = +120.00
CoordBase::zmax = +120.00
CoordBase::dx   =    2.00
CoordBase::dy   =    2.00
CoordBase::dz   =    2.00

Driver::ghost_size       = 3

CoordBase::boundary_size_x_lower     = 3
CoordBase::boundary_size_y_lower     = 3
CoordBase::boundary_size_z_lower     = 3
CoordBase::boundary_size_x_upper     = 3
CoordBase::boundary_size_y_upper     = 3
CoordBase::boundary_size_z_upper     = 3

CoordBase::boundary_shiftout_x_lower = 1
CoordBase::boundary_shiftout_z_lower = 1

CarpetRegrid2::symmetry_rotating180  = yes

ReflectionSymmetry::reflection_z     = yes
ReflectionSymmetry::avoid_origin_z   = no

Time::dtfac = 0.25

################################################################################
# Mesh refinement
################################################################################

Carpet::max_refinement_levels           = 7
CarpetRegrid2::num_centres              = 2
CarpetRegrid2::num_levels_1             = 7
CarpetRegrid2::position_x_1             = 3
CarpetRegrid2::radius_1             [1] = 24.0
CarpetRegrid2::radius_1             [2] = 12.0
CarpetRegrid2::radius_1             [3] = 6.0
CarpetRegrid2::radius_1             [4] = 3.0
CarpetRegrid2::radius_1             [5] = 1.5
CarpetRegrid2::radius_1             [6] = 0.6
CarpetRegrid2::num_levels_2             = 7
CarpetRegrid2::position_x_2             = -3
CarpetRegrid2::radius_2             [1] = 24.0
CarpetRegrid2::radius_2             [2] = 12.0
CarpetRegrid2::radius_2             [3] = 6.0
CarpetRegrid2::radius_2             [4] = 3.0
CarpetRegrid2::radius_2             [5] = 1.5
CarpetRegrid2::radius_2             [6] = 0.6

Carpet::use_buffer_zones                = yes
Carpet::prolongation_order_space        = 5
Carpet::prolongation_order_time         = 2

CarpetRegrid2::regrid_every             = 64
CarpetRegrid2::verbose                  = yes
Carpet::grid_coordinates_filename       = "carpet-grid.asc"

Carpet::time_refinement_factors = "[1,1,2,4,8,16,32,64,128,256]"

###############################################################################
# Initial Data
###############################################################################

ADMBase::initial_data    = "twopunctures"
ADMBase::initial_lapse   = "twopunctures-averaged"
ADMBase::initial_shift   = "zero"
ADMBase::initial_dtlapse = "zero"
ADMBase::initial_dtshift = "zero"

TwoPunctures::target_M_plus             = 0.5
TwoPunctures::target_M_minus            = 0.5

TwoPunctures::par_m_plus                = 0.476534633024028
TwoPunctures::par_m_minus               = 0.476534633024028

TwoPunctures::par_b                     = 3
TwoPunctures::center_offset[0]          = 0

TwoPunctures::par_P_plus[0]             = -0.0058677669328272
TwoPunctures::par_P_plus[1]             = 0.138357448824906
TwoPunctures::par_P_plus[2]             = 0.

TwoPunctures::par_P_minus[0]            = 0.0058677669328272
TwoPunctures::par_P_minus[1]            = -0.138357448824906
TwoPunctures::par_P_minus[2]            = 0.

TwoPunctures::par_S_plus[0]             = 0.
TwoPunctures::par_S_plus[1]             = 0.
TwoPunctures::par_S_plus[2]             = 0.

TwoPunctures::par_S_minus[0]            = 0.
TwoPunctures::par_S_minus[1]            = 0.
TwoPunctures::par_S_minus[2]            = 0.

TwoPunctures::give_bare_mass            = yes
TwoPunctures::TP_epsilon = 1.0e-6

Carpet::init_fill_timelevels = yes
InitBase::initial_data_setup_method     = "init_single_level"

###############################################################################
# Evolution
###############################################################################

ADMBase::evolution_method         = "ML_BSSN"
ADMBase::lapse_evolution_method   = "ML_BSSN"
ADMBase::shift_evolution_method   = "ML_BSSN"
ADMBase::dtlapse_evolution_method = "ML_BSSN"
ADMBase::dtshift_evolution_method = "ML_BSSN"

ML_BSSN::GammaShift          = 1.0
ML_BSSN::dampk1              = 1.0
ML_BSSN::harmonicN           = 1      # 1+log
ML_BSSN::harmonicF           = 2.0    # 1+log
ML_BSSN::ShiftGammaCoeff     = 0.75
ML_BSSN::BetaDriver          = 1.0
ML_BSSN::LapseAdvectionCoeff = 1.0
ML_BSSN::ShiftAdvectionCoeff = 1.0

ML_BSSN::MinimumLapse          = 1.0e-8
ML_BSSN::conformalMethod       = 1 # 1 for W
ML_BSSN::formulation           = 1 # 1 for CCZ4
ML_BSSN::apply_dissipation     = never
ML_BSSN::dt_lapse_shift_method = "noLapseShiftAdvection"

################################################################################
# Boundary conditions
################################################################################

ML_BSSN::my_initial_boundary_condition = "extrapolate-gammas"
ML_BSSN::my_rhs_boundary_condition     = "NewRad"
Boundary::radpower                     = 2

ML_BSSN::ML_log_confac_bound = "none"
ML_BSSN::ML_metric_bound     = "none"
ML_BSSN::ML_Gamma_bound      = "none"
ML_BSSN::ML_trace_curv_bound = "none"
ML_BSSN::ML_curv_bound       = "none"
ML_BSSN::ML_lapse_bound      = "none"
ML_BSSN::ML_dtlapse_bound    = "none"
ML_BSSN::ML_shift_bound      = "none"
ML_BSSN::ML_dtshift_bound    = "none"
ML_BSSN::ML_Theta_bound      = "none"

################################################################################
# BH tracking
################################################################################

CarpetTracker::surface                      [0] = 0
CarpetTracker::surface                      [1] = 1
PunctureTracker::track                      [0] = yes
PunctureTracker::initial_x                  [0] = 3
PunctureTracker::which_surface_to_store_info[0] = 0
PunctureTracker::track                      [1] = yes
PunctureTracker::initial_x                  [1] = -3
PunctureTracker::which_surface_to_store_info[1] = 1

###############################################################################
# Spatial finite differencing
###############################################################################

SummationByParts::order = 4
ML_BSSN::fdOrder        = 4

Dissipation::order = 5
Dissipation::vars  = "
  ML_BSSN::ML_log_confac
  ML_BSSN::ML_metric
  ML_BSSN::ML_trace_curv
  ML_BSSN::ML_curv
  ML_BSSN::ML_Gamma
  ML_BSSN::ML_lapse
  ML_BSSN::ML_shift
  ML_BSSN::ML_dtlapse
  ML_BSSN::ML_dtshift
  ML_BSSN::ML_Theta
"

###############################################################################
# Time Integration
###############################################################################

MoL::ODE_Method             = "RK4"
MoL::MoL_Intermediate_Steps = 4
MoL::MoL_Num_Scratch_Levels = 1

################################################################################
# Psi4 mode decomposition by Multipole
################################################################################

WeylScal4::fd_order = "4th"

Multipole::nradii       = 4
Multipole::radius[0]    = 30
Multipole::radius[1]    = 50
Multipole::radius[2]    = 80
Multipole::radius[3]    = 100
Multipole::ntheta       = 120
Multipole::nphi         = 240
Multipole::variables    = "
  WeylScal4::Psi4r{sw=-2 cmplx='WeylScal4::Psi4i' name='psi4'}
"

Multipole::out_every    = 32
Multipole::l_max        = 8
Multipole::output_hdf5  = yes
Multipole::output_ascii = no

################################################################################
# Apparent Horizons
################################################################################


AHFinderDirect::N_horizons                               = 3
AHFinderDirect::find_every                               = 128
AHFinderDirect::output_h_every                           = 0
AHFinderDirect::max_Newton_iterations__initial           = 50
AHFinderDirect::max_Newton_iterations__subsequent        = 50
AHFinderDirect::max_allowable_Theta_growth_iterations    = 10
AHFinderDirect::max_allowable_Theta_nonshrink_iterations = 10
AHFinderDirect::geometry_interpolator_name               = "Lagrange polynomial interpolation"
AHFinderDirect::geometry_interpolator_pars               = "order=4"
AHFinderDirect::surface_interpolator_name                = "Lagrange polynomial interpolation"
AHFinderDirect::surface_interpolator_pars                = "order=4"
AHFinderDirect::verbose_level                            = "physics details"
AHFinderDirect::move_origins                             = yes

AHFinderDirect::origin_x                             [1] = 3
AHFinderDirect::initial_guess__coord_sphere__x_center[1] = 3
AHFinderDirect::initial_guess__coord_sphere__radius  [1] = 0.25
AHFinderDirect::which_surface_to_store_info          [1] = 2 
AHFinderDirect::set_mask_for_individual_horizon      [1] = no
AHFinderDirect::reset_horizon_after_not_finding      [1] = no
AHFinderDirect::track_origin_from_grid_scalar        [1] = yes
AHFinderDirect::track_origin_source_x                [1] = "PunctureTracker::pt_loc_x[0]"
AHFinderDirect::track_origin_source_y                [1] = "PunctureTracker::pt_loc_y[0]"
AHFinderDirect::track_origin_source_z                [1] = "PunctureTracker::pt_loc_z[0]"
AHFinderDirect::max_allowable_horizon_radius         [1] = 3

AHFinderDirect::origin_x                             [2] = -3
AHFinderDirect::initial_guess__coord_sphere__x_center[2] = -3
AHFinderDirect::initial_guess__coord_sphere__radius  [2] = 0.25
AHFinderDirect::which_surface_to_store_info          [2] = 3 
AHFinderDirect::set_mask_for_individual_horizon      [2] = no
AHFinderDirect::reset_horizon_after_not_finding      [2] = no
AHFinderDirect::track_origin_from_grid_scalar        [2] = yes
AHFinderDirect::track_origin_source_x                [2] = "PunctureTracker::pt_loc_x[1]"
AHFinderDirect::track_origin_source_y                [2] = "PunctureTracker::pt_loc_y[1]"
AHFinderDirect::track_origin_source_z                [2] = "PunctureTracker::pt_loc_z[1]"
AHFinderDirect::max_allowable_horizon_radius         [2] = 3

AHFinderDirect::origin_x                             [3] = 0
AHFinderDirect::find_after_individual                [3] = 0
AHFinderDirect::initial_guess__coord_sphere__x_center[3] = 0
AHFinderDirect::initial_guess__coord_sphere__radius  [3] = 1.0
AHFinderDirect::which_surface_to_store_info          [3] = 4 
AHFinderDirect::set_mask_for_individual_horizon      [3] = no
AHFinderDirect::max_allowable_horizon_radius         [3] = 6

################################################################################
# Spherical surfaces
################################################################################

SphericalSurface::nsurfaces = 5
SphericalSurface::maxntheta = 66
SphericalSurface::maxnphi   = 124
SphericalSurface::verbose               = no

# Surfaces 0 and 1 are used by PunctureTracker

# Horizon 1
SphericalSurface::ntheta            [2] = 41
SphericalSurface::nphi              [2] = 80
SphericalSurface::nghoststheta      [2] = 2
SphericalSurface::nghostsphi        [2] = 2

# Horizon 2
SphericalSurface::ntheta            [3] = 41
SphericalSurface::nphi              [3] = 80
SphericalSurface::nghoststheta      [3] = 2
SphericalSurface::nghostsphi        [3] = 2

# Common horizon
SphericalSurface::ntheta            [4] = 41
SphericalSurface::nphi              [4] = 80
SphericalSurface::nghoststheta      [4] = 2
SphericalSurface::nghostsphi        [4] = 2

################################################################################
# Isolated Horizons
################################################################################

QuasiLocalMeasures::verbose                = yes
QuasiLocalMeasures::veryverbose            = no
QuasiLocalMeasures::interpolator           = "Lagrange polynomial interpolation"
QuasiLocalMeasures::interpolator_options   = "order=4"
QuasiLocalMeasures::spatial_order          = 4
QuasiLocalMeasures::num_surfaces           = 3
QuasiLocalMeasures::surface_index      [0] = 2
QuasiLocalMeasures::surface_index      [1] = 3
QuasiLocalMeasures::surface_index      [2] = 4

################################################################################
# Correctness Checking
################################################################################

Carpet::poison_new_timelevels = yes
Carpet::poison_value          = 100
CarpetLib::poison_new_memory  = yes
CarpetLib::poison_value       = 200
Carpet::check_for_poison      = no

NaNChecker::check_every     = 128
NanChecker::check_after     = 0
NaNChecker::report_max      = 10
NaNChecker::verbose         = "all"
NaNChecker::action_if_found = "terminate"
NaNChecker::out_NaNmask     = yes
NaNChecker::check_vars      = "
  ML_BSSN::ML_log_confac
"

################################################################################
# Timers
################################################################################

Cactus::cctk_timer_output               = full
TimerReport::out_every                  = 256
TimerReport::n_top_timers               = 40
TimerReport::output_all_timers_together = yes
TimerReport::output_schedule_timers     = no

################################################################################
# Output
################################################################################

IO::out_dir                  = $parfile
IOScalar::one_file_per_group = yes
IOASCII::one_file_per_group  = yes

IOBasic::outInfo_every      = 1
IOBasic::outInfo_reductions = "minimum maximum"
IOBasic::outInfo_vars       = "
  Carpet::physical_time_per_hour
  ML_BSSN::ML_log_confac
  SystemStatistics::maxrss_mb
"

IOScalar::outScalar_every               = 128
IOScalar::outScalar_reductions          = "minimum maximum average"
IOScalar::outScalar_vars                = "SystemStatistics::process_memory_mb"

IOASCII::out0D_every = 32
IOASCII::out0D_vars  = "
  Carpet::timing
  PunctureTracker::pt_loc
  QuasiLocalMeasures::qlm_scalars{out_every = 128}
"

IOHDF5::out1D_every                    = 256
IOHDF5::out1D_d                        = no
IOHDF5::out1D_x                        = yes
IOHDF5::out1D_y                        = no
IOHDF5::out1D_z                        = no
IOHDF5::out1D_vars                     = "
  ML_BSSN::ML_log_confac
"

IOHDF5::out2D_every                    = 1024
IOHDF5::out2D_xy                       = yes
IOHDF5::out2D_xz                       = no
IOHDF5::out2D_yz                       = no
IOHDF5::out2D_vars                     = "
  ML_BSSN::ML_log_confac
"

IOHDF5::out_every                      = 8192
IOHDF5::out_vars                       = "
  ML_BSSN::ML_log_confac
"

Carpet::verbose           = no
Carpet::veryverbose       = no
Carpet::schedule_barriers = no
Carpet::storage_verbose   = no
Carpet::timers_verbose    = no
CarpetLib::output_bboxes  = no

Cactus::cctk_full_warnings         = yes
Cactus::highlight_warning_messages = no

###############################################################################
# Checkpointing and recovery
###############################################################################

CarpetIOHDF5::checkpoint            		= yes
IO::checkpoint_ID                   		= no
IO::recover     							= "autoprobe"
IO::checkpoint_every_walltime_hours 		= 3
IO::out_proc_every                          = 2
IO::checkpoint_keep                         = 1
IO::checkpoint_on_terminate         		= yes
IO::checkpoint_dir                  		= "../checkpoints"
IO::recover_dir                     		= "../checkpoints"
IO::abort_on_io_errors                      = yes
CarpetIOHDF5::open_one_input_file_at_a_time = yes
CarpetIOHDF5::compression_level             = 9

################################################################################
# Run termination
################################################################################

TerminationTrigger::max_walltime                 = @WALLTIME_HOURS@   # hours
TerminationTrigger::on_remaining_walltime        = 30 # minutes
TerminationTrigger::output_remtime_every_minutes = 30
Cactus::terminate       = "time"
Cactus::cctk_final_time = 300.0