// // openGR input file // Main { max_internal_steps = 500 integration_cycle = 5.e-2 relative_tolerance = 1.e-9 absolute_tolerance = 1.e-9 // To restart a run, set to true // and provide a non-zero init_time value. restart = FALSE init_time = 0.0 every_admmass = 10000 use_restart_manager = FALSE restart_interval = 1 } Grid_structure { // Number of points for the patches // (CART, A1, B1, A2, B2, OUTER_A, OUTER_B) Mx = 120, 45, 45, 45, 45, 45, 45 My = 120, 45, 45, 45, 45, 45, 45 Mz = 120, 45, 45, 45, 45, 45, 45 // evolve patch trigger (CART, A1, B1, A2, B2, OUTER_A, OUTER_B) evolve_patches = TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE // Non-cartesian patch coordinate systems (CART, A1, B1, A2, B2, OUTER_A,OUTER_B) // 0 = CARTESIAN, 1 = SPHEROIDAL, 2 = SPHERICAL coord_systems = 0, 1, 1, 1, 1, 2, 2 // Cartesian limits (x, y, z) xmin = -15.0, -15.0, -15.0 xmax = 15.0, 15.0, 15.0 // Excision region size (Mask radius) BH1, BH2 spher_mask_radius = 1.0 , 1.0 cart_mask_radius = 3.0 , 3.0 spherical_grid_r = 4.0 , 4.0 outer_shell_depth = 15.0 // Theta domain: 0 + Theta_overlap_buffer to Pi - Theta_overlap_buffer Theta_domain = 0.6 , 0.6 // Periodic boundary conditions of spherical-spheroidal grids periodic_boundary_on_spher = TRUE } Initial_Data { // Initial data types, implemented "Kerr-Schild", "Puncture", "Brill" initial_data_type = "Kerr-Schild" // Initial gauge type, implemented "Kerr-Schild", "Geodesic" initial_gauge = "Kerr-Schild" number_of_holes = 1 // use fisheye transformation use_fisheye = FALSE r_center = 7.0 amp = 0.9 stretch = 0.9 pos_fisheye = 0.0, 0.0, 0.0 } BH_parameters { // Mass, spin parameter and orientation of the two holes (BH1, BH2) M = 1.0 , 1.0 a = 0.0 , 0.0 theta = 0.0 , 0.0 phi = 0.0 , 0.0 // Initial velocity of the two holes (vx, vy, vz) vel_1 = 0.0 , 0.0 , 0.7 vel_2 = 0.0 , 0.0 , 0.0 // initial location of the two black holes (x, y, z) initial_pos1 = 0.0 , 0.0 , -9.0 initial_pos2 = 0.0 , 0.0 , 0.0 } Evolution { // Implemented formulations ADM, BSSN, NOR formulation = "ADM" // Constraint Subtraction parameters subtract_gH = 0.0 subtract_kH = 0.0 subtract_gM = 0.0 subtract_NOR = 0.37 output_metric_dot = FALSE // activates interpolation (SPHER_TO_SPHER, CART_TO_SPHER, SPHER_TO_CART) interpolation = TRUE, TRUE, TRUE // stops the program when there is a failure // in the interpolation exit_when_interp_fails = FALSE // use robin boundary conditions use_robin = FALSE use_quick_and_dirty = FALSE // GXX GXY GXZ GYY GYZ GZZ KXX KXY KXZ KYY KYZ KZZ ALPHA BETAX BETAY BETAZ BX BY BZ FX FY FZ CPHI TRK n_pow = 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 m_val = 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 // use overlapping spherical patches for the outer boundaries use_spherical_outer_boundaries = FALSE epsilon_in = 0.0 //0.1 epsilon_out = 0.0 //0.01 } Gauge { evolve_gauge = FALSE densitized_lapse = FALSE pow_dense_lapse = 0.33333 pow_gauge_evolve = 0.0 dis_coef = 1.0 } Constraint { constrain = FALSE ksp_rtol = 1.e-4 ksp_maxits = 10000 // Number of points to start the solving away from the inner boundary solve_buffer = 2 } Output { output_visit = TRUE visit_output_directory = "data_visit" out_every = 3 output_series = 0 // Output the variables (each variable with the number of components // required -> e.g. metric wants 6 components: gxx,gxy....) output_metric = TRUE, TRUE, TRUE, TRUE, TRUE, TRUE output_extrinsic = TRUE, TRUE, TRUE, TRUE, TRUE, TRUE output_alpha = FALSE output_beta = FALSE, FALSE, FALSE output_f = TRUE, TRUE, TRUE output_B = TRUE, TRUE, TRUE output_cphi = TRUE output_TrK = TRUE output_ham = TRUE output_momentum = TRUE, TRUE, TRUE output_nor = TRUE, TRUE, TRUE output_conformal = TRUE output_vector_pot = TRUE, TRUE, TRUE output_lambda = TRUE, TRUE, TRUE output_mask = TRUE output_ghost = TRUE output_dim = FALSE // For the weyl scalars the different components are Psi0, Psi1.... output_weyl = FALSE, FALSE, FALSE, FALSE, FALSE // Output the patches (CART, A1, B1, A2, B2, Outer1, Outer2) output_patches = TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE // Output derivatives (DERIV, LDERIV) output_deriv = FALSE, FALSE } GriddingAlgorithm { // Note: openGR cannot handle more anything but unigrid currently max_levels = 1 // Maximum number of levels in hierarchy. // Note: For the following regridding information, data is required for each // potential in the patch hierarchy; i.e., levels 0 thru max_levels-1. // If more data values than needed are given, only the number required // will be read in. If fewer values are given, an error will result. // // Specify coarsening ratios for each level 1 through max_levels-1 ratio_to_coarser { // vector ratio to next coarser level level_0 = 1 , 1 , 1 level_1 = 2 , 2 , 2 level_2 = 2 , 2 , 2 level_3 = 3 , 3 , 3 level_4 = 2 , 2 , 2 level_5 = 2 , 2 , 2 } largest_patch_size { level_0 = 140 , 140 , 140 // all finer levels will use same values as level_0... } smallest_patch_size { level_0 = 10 , 10 , 10 // all finer levels will use same values as level_0... } efficiency_tolerance = 0.9 , 0.9 , 0.9 // min % of tag cells in new patch level combine_efficiency = 0.9 // chop box if sum of volumes of smaller // boxes < efficiency * vol of large box } StandardTagAndInitialize { tagging_method = "GRADIENT_DETECTOR" RefineBoxes { level_0 = [ (0,0,0) , (20,20,20) ] level_1 = [ (0,0,0) , (60,60,60) ] level_2 = [ (4,4,4) , (8,8,8) ] level_3 = [ (0,0,0) , (10,10,10) ] // level_1 = [ (0,0,0) , (20,20,20) ] // level_2 = [ (0,0,0) , (40,40,40) ] // level_3 = [ (0,0,0) , (10,10,10) ] } } LoadBalancer { processor_layout = 4 , 2 , 2 use_spatial_bin_pack = "GREEDY" }