# The following is a modification of the ETK Gallery par file # to evolve a Black Hole - Neutron Star system # com 1.8052580781957881 # comy -0.097548614995698793 # distance 31.144222998701256 # q 1.3933333333333333 # rext 62.288445997402512 # ns1 # chi 0 # dim 3 # fixed_r 5.7565998738983719 # hc 1.2607788802587552 # madm 2.0899999999999999 # mb 2.2000000000000002 # nc 0.0013740575072069912 # nshells 0 # ql_madm 1.8529702417945169 # rin 2.8514247122477498 # rmid 5.7028494244954997 # rout 9.1072230619360752 # eosfile togashi.lorene # eostype Cold_Table # bh2 # chi 0 # fixed_lapse 0.43493600011645883 # fixed_r 1.4641684016018415 # mch 1.5 # mirr 1.5 # rin 0.73494467892114357 # rmid 1.4698893578422871 # rout 9.1072230619360752 ################################################################################ # Active thorns ################################################################################ ActiveThorns = " ADMBase ML_ADMConstraints ADMCoupling ADMMacros AEILocalInterp AHFinderDirect Boundary Carpet CarpetIOASCII CarpetIOBasic CarpetIOHDF5 CarpetIOScalar CarpetInterp CarpetInterp2 CarpetLib CarpetReduce CarpetRegrid2 CarpetTracker CartGrid3D CoordBase CoordGauge Coordinates #CoordinatesSymmetry GlobalDerivative hwloc IOUtil InitBase Interpolate2 QuasiLocalMeasures KadathImporter LocalInterp LoopControl MoL NaNChecker PunctureTracker Slab SpaceMask SphericalSurface StaticConformal SummationByParts SymBase SystemStatistics SystemTopology TerminationTrigger TensorTypes Time TmunuBase Vectors ML_BSSN ML_BSSN_Helper NewRad GenericFD WeylScal4 Multipole ADMDerivatives HydroBase GRHydro EOS_Omni HDF5 MPI Timers Boost CycleClock HRSCCore TGRtensor zlib LAPACK Fortran CPPUtils FDCore BLAS KadathThorn #THC_Core #EOS_Barotropic EOS_Thermal EOS_Thermal_Idealgas EOS_Base EOS_Polytrope GSL EOS_Hybrid EOS_IdealFluid Dissipation CarpetMask #PizzaBase #PizzaIDBase #PizzaNumUtils " ################################################################################ # Grid structure ################################################################################ Carpet::domain_from_multipatch = yes CartGrid3D::type = "multipatch" CartGrid3D::set_coordinate_ranges_on = "all maps" Coordinates::coordinate_system = "Thornburg04" Coordinates::h_cartesian = 1.6 Coordinates::h_radial = 1.6 Coordinates::sphere_inner_radius = 61.6 Coordinates::sphere_outer_radius = 2200.0 Coordinates::n_angular = 28 Driver::ghost_size = 5 Coordinates::patch_boundary_size = 5 Coordinates::additional_overlap_size = 3 Coordinates::outer_boundary_size = 5 #CoordinatesSymmetry::reflection_z = yes #CoordinatesSymmetry::stagger = no #Coordinates::symmetry = "+z bitant" #Coordinates::additional_symmetry_size = 1 Coordinates::verbose = no CarpetMask::verbose = "yes" CarpetRegrid2::verbose = "yes" CarpetTracker::verbose = "yes" PunctureTracker::verbose = "yes" QuasiLocalMeasures::verbose = "yes" SphericalSurface::verbose = "yes" Time::timestep_method = "given" Time::timestep = 0.3504335664334091 Carpet::time_refinement_factors = "[1,1,2,4,8,16,32,64,128,256]" ################################################################################ # Mesh refinement ################################################################################ Carpet::max_refinement_levels = 6 CarpetRegrid2::num_centres = 2 #change to 3 if enabling the third mesh refinement center CarpetRegrid2::num_levels_1 = 6 CarpetRegrid2::position_x_1 = +17.37737 # Black Hole CarpetRegrid2::radius_1 = [0,12.0,6.0,3.0,1.5,0.75] CarpetRegrid2::num_levels_2 = 6 CarpetRegrid2::position_x_2 = -13.76685 # Neutron star CarpetRegrid2::radius_2 = [0,16.8,8.4,4.2,2.1,1.05] Carpet::use_buffer_zones = yes Carpet::prolongation_order_space = 5 Carpet::prolongation_order_time = 2 CarpetRegrid2::regrid_every = 2 Carpet::grid_coordinates_filename = "carpet-grid.asc" Carpet::refinement_centering = "vertex" #CarpetRegrid2::num_levels_3 = 7 #CarpetRegrid2::radius_3 = [0,120.0,60.0,30.0,15.0,7.5,3.75] ################################################################################ # Initial data ################################################################################ KadathImporter::type = "BHNS" KadathImporter::filename = "/home/topolski/Cactus/BHNS_ParameterFiles/BHNS.info" KadathImporter::puncture_lapse = yes ADMBase::metric_type = "physical" ADMBase::initial_data = "Kadath" ADMBase::initial_lapse = "Kadath" ADMBase::initial_shift = "Kadath" # In any case, Kadath does not provide dtlapse and dtshift, # only the initial hypersurface values # dtlapse and dtshift are taken care of by the ML_BSSN or other evolution codes; # setting dtlapse and dtshift to "Kadath" seems to cause issues with THC scheduling # KadathImporter::interped_id does not seem to be associated with any routine? #ADMBase::initial_dtlapse = "Kadath" #ADMBase::initial_dtshift = "Kadath" ADMBase::initial_dtlapse = "zero" ADMBase::initial_dtshift = "zero" HydroBase::initial_hydro = "Kadath" HydroBase::timelevels = 3 #HydroBase::prolongation_type ="ENO" Carpet::init_fill_timelevels = yes #InitBase::initial_data_setup_method = "init_single_level" InitBase::initial_data_setup_method = "init_some_levels" ################################################################################ # Evolution and boundary ################################################################################ GenericFD::jacobian_group = "Coordinates::jacobian" GenericFD::jacobian_derivative_group = "Coordinates::jacobian2" GenericFD::jacobian_identity_map = 0 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::fdOrder = 8 # 1+log slicing requires harmonicN = 1 and harmonicF = 2.0 ML_BSSN::harmonicN = 1 ML_BSSN::harmonicF = 2.0 ML_BSSN::ShiftGammaCoeff = 0.75 ML_BSSN::BetaDriver = 1.0 ML_BSSN::advectLapse = 1 ML_BSSN::advectShift = 1 ML_BSSN::MinimumLapse = 1.0e-8 # conformalaMethod = 1 for W, 0 for phi ML_BSSN::conformalMethod = 1 # We apply dissipation using GlobalDerivaitive so disable it here ML_BSSN::epsDiss = 0.0 ML_BSSN::dt_lapse_shift_method = "noLapseShiftAdvection" ML_BSSN::initial_boundary_condition = "extrapolate-gammas" ML_BSSN::rhs_boundary_condition = "scalar" Boundary::radpower = 2 ########################################################################## # Geometrohydrodynamics settings - general ########################################################################## Coordinates::store_jacobian = "yes" Coordinates::store_inverse_jacobian = "yes" TmunuBase::timelevels = 1 TmunuBase::prolongation_type = "none" TmunuBase::stress_energy_storage = "yes" TmunuBase::stress_energy_at_RHS = "yes" TmunuBase::support_old_CalcTmunu_mechanism = "no" #------------------------------------------ # Specific #------------------------------------------ HydroBase::evolution_method = "GRHydro" SpaceMask::use_mask = "yes" GRHydro::riemann_solver = "HLLE" # Marquina is currently not supported by MP GRHydro::recon_method = "ppm" GRHydro::GRHydro_stencil = 3 GRHydro::bound = "flat" GRHydro::rho_abs_min = 1.e-11 GRHydro::GRHydro_atmo_tolerance = 0.01 GRHydro::c2p_reset_pressure = "yes" GRHydro::GRHydro_eos_type = "General" GRHydro::GRHydro_eos_table = "Ideal_Fluid" # these can save some memory since they prevent MoL from allocating unnecessary # scratch space for saveandrestore variables GRHydro::GRHydro_MaxNumSandRVars = 0 GRHydro::use_enhanced_ppm = "yes" # Parameters are defaults, which in turn are from Colella & Sekora 2008 and # McCorquodale & Colella 2011 GRHydro::sync_conserved_only = "yes" GRHydro::reconstruct_Wv = "yes" GRHydro::c2p_resort_to_bisection = "yes" GRHydro::use_cxx_code = "yes" ################################################################################ # BH and NS tracking ################################################################################ # Black hole CarpetTracker::surface [0] = 0 CarpetTracker::surface [1] = 1 #PunctureTracker::track [0] = yes #PunctureTracker::initial_x [0] = +17.37737 #PunctureTracker::initial_y [0] = -0.097548614995698793 #PunctureTracker::which_surface_to_store_info[0] = 0 # Excluding the black hole surface from carpet reduction routines #CarpetMask::excluded_surface [0] = 0 ################################################################################ # Spatial finite differencing ################################################################################ SummationByParts::order = 8 # Drop order instead of using upwinded stencils, only for advection derivatives SummationByParts::sbp_upwind_deriv = no SummationByParts::sbp_1st_deriv = yes SummationByParts::sbp_2nd_deriv = no SummationByParts::onesided_interpatch_boundaries = no SummationByParts::onesided_outer_boundaries = yes SummationByParts::use_dissipation = no GlobalDerivative::use_dissipation = yes SummationByParts::scale_with_h = yes SummationByParts::dissipation_type = "Kreiss-Oliger" SummationByParts::epsdis = 0.15 # Because dt/dx is half that of the other levels we also need half the dissipation GlobalDerivative::epsdis_for_level [0] = 0.075 # Variables for dissipation SummationByParts::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 " ################################################################################ # Time integration ################################################################################ MoL::ODE_Method = "rk4" MoL::MoL_Intermediate_Steps = 4 MoL::MoL_Num_Scratch_Levels = 1 ################################################################################ # Interpolation ################################################################################ CarpetInterp::check_tree_search = no CarpetInterp::tree_search = yes # Use 5-th order interpatch interpolation on the Llama grid Interpolate::interpolator_order = 5 ################################################################################ # Psi4 computation ################################################################################ WeylScal4::fdOrder = 8 WeylScal4::calc_scalars = "psis" WeylScal4::calc_invariants = "always" ################################################################################ # Psi4 mode decomposition ################################################################################ # Radii are chosen to be evenly spaced in 1/r as that is the variable # extrapolation is performed in Multipole::nradii = 7 Multipole::radius[0] = 100 Multipole::radius[1] = 115 Multipole::radius[2] = 136 Multipole::radius[3] = 167 Multipole::radius[4] = 214 Multipole::radius[5] = 300 Multipole::radius[6] = 500 Multipole::ntheta = 120 Multipole::nphi = 240 Multipole::variables = "WeylScal4::Psi4r{sw=-2 cmplx='WeylScal4::Psi4i' name='psi4'}" Multipole::out_every = 256 Multipole::l_max = 8 Multipole::output_hdf5 = yes # Disable ASCII output to avoid creating a large number of files Multipole::output_ascii = no ################################################################################ # Apparent Horizons ################################################################################ #AHFinderDirect::N_horizons = 1 #AHFinderDirect::find_every = 256 #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] = -13.76685 #AHFinderDirect::initial_guess__coord_sphere__x_center[1] = -13.76685 #AHFinderDirect::initial_guess__coord_sphere__radius [1] = 1.05 #AHFinderDirect::which_surface_to_store_info [1] = 1 #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[1]" #AHFinderDirect::track_origin_source_y [1] = "PunctureTracker::pt_loc_y[1]" #AHFinderDirect::track_origin_source_z [1] = "PunctureTracker::pt_loc_z[1]" #AHFinderDirect::max_allowable_horizon_radius [1] = 3 #AHFinderDirect::origin_x [2] = 0 #AHFinderDirect::find_after_individual [2] = 371902 #AHFinderDirect::initial_guess__coord_sphere__x_center[2] = 0 #AHFinderDirect::initial_guess__coord_sphere__radius [2] = 1.0 #AHFinderDirect::which_surface_to_store_info [2] = 4 #AHFinderDirect::set_mask_for_individual_horizon [2] = no #AHFinderDirect::max_allowable_horizon_radius [2] = 6 ################################################################################ # Spherical surfaces ################################################################################ SphericalSurface::nsurfaces = 2 SphericalSurface::maxntheta = 66 SphericalSurface::maxnphi = 124 # Surface 0 is used by PunctureTracker SphericalSurface::radius [0] = 0.75 SphericalSurface::ntheta [0] = 41 SphericalSurface::nphi [0] = 80 SphericalSurface::nghoststheta [0] = 2 SphericalSurface::nghostsphi [0] = 2 # BH apparent horizon SphericalSurface::ntheta [1] = 41 SphericalSurface::nphi [1] = 80 SphericalSurface::nghoststheta [1] = 2 SphericalSurface::nghostsphi [1] = 2 # NS surface # Common apparent horizon #SphericalSurface::ntheta [4] = 41 #SphericalSurface::nphi [4] = 80 #SphericalSurface::nghoststheta [4] = 2 #SphericalSurface::nghostsphi [4] = 2 ################################################################################ # Isolated Horizons ################################################################################ #QuasiLocalMeasures::verbose = no #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 #QuasiLocalMeasures::output_vtk_every = 0 ################################################################################ # Correctness checking ################################################################################ Carpet::poison_new_timelevels = no Carpet::check_for_poison = no NaNChecker::check_every = 256 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 ################################################################################ Carpet::output_timer_tree_every = 1024 Carpet::output_initialise_timer_tree = yes ################################################################################ # Output ################################################################################ IO::out_dir = $parfile CarpetIOScalar::all_reductions_in_one_file = "no" CarpetIOScalar::one_file_per_group = "no" CarpetIOASCII::one_file_per_group = "no" CarpetIOHDF5::one_file_per_group = "no" IOBasic::outInfo_every = 1 IOBasic::outInfo_reductions = "minimum maximum" IOBasic::outInfo_vars = " ML_BSSN::ML_Ham ML_BSSN::ML_log_confac Carpet::physical_time_per_hour SystemStatistics::maxrss_mb SystemStatistics::swap_used_mb " IOScalar::outScalar_every = 16 IOScalar::outScalar_reductions = "minimum maximum average" IOScalar::outScalar_vars = " SystemStatistics::process_memory_mb ML_BSSN::ML_Ham HydroBase::rho #GRHydro::dens{reductions = 'sum maximum'} HydroBase::w_lorentz{reductions = 'maximum minimum'} " IOASCII::out0D_every = 16 IOASCII::out0D_vars = " Carpet::physical_time_per_hour Carpet::timing PunctureTracker::pt_loc #QuasiLocalMeasures::qlm_scalars{out_every = 256} " IOASCII::out1D_every = 0 IOASCII::out1D_d = no IOASCII::out1D_x = yes IOASCII::out1D_y = no IOASCII::out1D_z = yes IOASCII::out1D_vars = " ML_BSSN::ML_log_confac ML_BSSN::ML_trace_curv WeylScal4::Psi4r " IOASCII::out2D_every = 0 IOASCII::out2D_vars = " " IOHDF5::out_every = 32 IOHDF5::out_vars = " Grid::Coordinates{out_every=1000000000 refinement_levels={0}} ML_BSSN::ML_log_confac WeylScal4::Psi4r WeylScal4::Psi4i WeylScal4::curvIr{refinement_levels={3 5}} WeylScal4::curvIi{refinement_levels={3 5}} WeylScal4::curvJr{refinement_levels={3 5}} WeylScal4::curvJi{refinement_levels={3 5}} " IOHDF5::out2D_every = 8 IOHDF5::out2D_vars = " ADMBase::lapse ADMBase::shift Grid::Coordinates{out_every=1000000000 refinement_levels={0}} ML_BSSN::ML_Ham ML_BSSN::alpha ML_BSSN::phi ML_BSSN::trK WeylScal4::Psi4r WeylScal4::Psi4i " ################################################################################ # Checkpointing and recovery ################################################################################ CarpetIOHDF5::checkpoint = yes IO::checkpoint_ID = no IO::recover = "autoprobe" IO::out_proc_every = 2 IO::checkpoint_on_terminate = yes IO::checkpoint_dir = $parfile IO::recover_dir = $parfile IOUtil::checkpoint_every = 4096 IO::abort_on_io_errors = yes CarpetIOHDF5::open_one_input_file_at_a_time = yes CarpetIOHDF5::compression_level = 0 ################################################################################ # Run termination ################################################################################ TerminationTrigger::max_walltime = 10 # Trigger termination 30 minutes before the walltime is reached TerminationTrigger::on_remaining_walltime = 30 TerminationTrigger::output_remtime_every_minutes = 30 TerminationTrigger::termination_from_file = yes TerminationTrigger::termination_file = "terminate.txt" TerminationTrigger::create_termination_file = yes Cactus::terminate = time Cactus::cctk_final_time = 1900.0