# Example parameter file for a static TOV star. Everything is evolved, but # because this is a solution to the GR and hydro equations, nothing changes # much. What can be seen is the initial perturbation (due to numerical errors) # ringing down (look at the density maximum), and later numerical errors # governing the solution. Try higher resolutions to decrease this error. ############################################################################## # Define all needed thorns ############################################################################## ActiveThorns = " ADMBase ADMCoupling ADMMacros aeilocalinterp AHFinderDirect Boundary Carpet CarpetInterp CarpetIOASCII CarpetIOBasic CarpetIOHDF5 CarpetIOScalar CarpetLib CarpetMask CarpetReduce CarpetRegrid2 CartGrid3d Constants Coordbase CoordGauge CoreCollapseControl Dissipation EOS_Omni Formaline GenericFD GRHydro HydroBase InitBase IOUtil LocalReduce LoopControl ML_ADMConstraints ML_ADMQuantities ML_BSSN ML_BSSN_Helper MoL NaNChecker NewRad QuasiLocalMeasures ReflectionSymmetry Slab SpaceMask SphericalSurface StaticConformal SymBase TerminationTrigger Time tgrtensor TimerReport TmunuBase TOVSolver " ############################################################################## # Define basics of simulation ############################################################################## Cactus::cctk_run_title = "BH Formation Test" Cactus::cctk_full_warnings = yes Cactus::highlight_warning_messages = no #Cactus::cctk_itlast = 120000000 ############################################################################## # Define "verbosity" ############################################################################## Dissipation::verbose = "no" carpet::verbose = no carpet::veryverbose = no reflectionsymmetry::verbose = no AHFinderDirect::verbose_level = "physics details" QuasiLocalMeasures::verbose = no # was yes ALS QuasiLocalMeasures::veryverbose = no ############################################################################## # Define how to end simulation ############################################################################## Cactus::terminate = "time" Cactus::cctk_final_time = 800 # devide by ~203 to get ms TerminationTrigger::max_walltime = 24 # hours TerminationTrigger::on_remaining_walltime = 15 # minutes TerminationTrigger::check_file_every = 512 TerminationTrigger::termination_file = "TerminationTrigger.txt" TerminationTrigger::termination_from_file = "yes" TerminationTrigger::create_termination_file = "yes" ############################################################################## # Define simulation grid ############################################################################## Carpet::domain_from_coordbase = "yes" CartGrid3D::type = "coordbase" CartGrid3D::domain = "full" CartGrid3D::avoid_origin = "no" # Coordinates CoordBase::domainsize = "minmax" CoordBase::xmin = 0.0 CoordBase::ymin = 0.0 CoordBase::zmin = 0.0 CoordBase::xmax = 102.4 # was 204.8 ALS CoordBase::ymax = 102.4 CoordBase::zmax = 102.4 # Change these parameters to change resolution. The ?max settings above # have to be multiples of these. 'dx' is the size of one cell in x-direction. # Making this smaller means using higher resolution, because more points will # be used to cover the same space. CoordBase::dx = 3.2 # was 1.6 ALS CoordBase::dy = 3.2 CoordBase::dz = 3.2 # Define regridding #CarpetRegrid2::min_distance = 0 #CarpetRegrid2::boundary_shiftout = 0 #CarpetRegrid2::ensure_proper_nesting = yes CarpetRegrid2::snap_to_coarse = "yes" CarpetRegrid2::num_centres = 1 CarpetRegrid2::num_levels_1 = 5 CarpetRegrid2::position_x_1 = 0 CarpetRegrid2::position_y_1 = 0 CarpetRegrid2::position_z_1 = 0 CarpetRegrid2::radius_1[1] = 64.0 # 0.4 CarpetRegrid2::radius_1[2] = 32.0 # 0.2 CarpetRegrid2::radius_1[3] = 13.6 # 0.1 CarpetRegrid2::radius_1[4] = 8.0 # 0.05 CarpetRegrid2::radius_1[5] = 4.0 # 0.025 CarpetRegrid2::radius_1[6] = 2.0 # 0.0125 CarpetRegrid2::regrid_every = 128 CarpetRegrid2::radius_rel_change_threshold_1 = 0.05e0 corecollapsecontrol::max_levels = 2 # added ALS corecollapsecontrol::rho_max_list[0] = 2.5e15 corecollapsecontrol::rho_max_list[1] = 3.5e15 corecollapsecontrol::check_every = 64 corecollapsecontrol::rho_max_every = 16 CoreCollapseControl::handle_PMR = yes CoreCollapseControl::output_control = no CoreCollapsecontrol::bounce_rho = 2.0e33 corecollapsecontrol::bounce_criterion = "density" corecollapsecontrol::bounce_entropy = 3.0e0 # Define boundry/conditions 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_y_lower = 1 CoordBase::boundary_shiftout_z_lower = 1 CoordBase::boundary_shiftout_x_upper = 0 CoordBase::boundary_shiftout_y_upper = 0 CoordBase::boundary_shiftout_z_upper = 0 # Define symmetries ReflectionSymmetry::reflection_x = "yes" ReflectionSymmetry::reflection_y = "yes" ReflectionSymmetry::reflection_z = "yes" ReflectionSymmetry::avoid_origin_x = "no" ReflectionSymmetry::avoid_origin_y = "no" ReflectionSymmetry::avoid_origin_z = "no" ############################################################################## # Define storage and coupling of Tnm ############################################################################## TmunuBase::stress_energy_storage = yes TmunuBase::stress_energy_at_RHS = yes #TmunuBase::timelevels = 1 TmunuBase::prolongation_type = none HydroBase::timelevels = 3 ADMMacros::spatial_order = 4 SpaceMask::use_mask = "yes" ############################################################################## # Define carpet driver stuff ############################################################################## Carpet::enable_all_storage = no Carpet::use_buffer_zones = "yes" Carpet::poison_new_timelevels = "yes" CarpetLib::poison_new_memory = "yes" CarpetLib::poison_value = 114 Carpet::check_for_poison = "no" Carpet::init_3_timelevels = no Carpet::init_fill_timelevels = "yes" Carpet::max_refinement_levels = 7 driver::ghost_size = 3 Carpet::prolongation_order_space = 3 Carpet::prolongation_order_time = 2 ############################################################################## # Define time integration ############################################################################## time::dtfac = 0.25 MoL::ODE_Method = "rk4" MoL::MoL_Intermediate_Steps = 4 MoL::MoL_Num_Scratch_Levels = 1 ############################################################################## # Check all physical variables for NaNs ############################################################################## # This can save you computing time, so it's not a bad idea to do this # once in a while. NaNChecker::check_every = 16384 NaNChecker::action_if_found = "terminate" #"terminate", "just warn", "abort" NaNChecker::check_vars = "ADMBase::metric ADMBase::lapse ADMBase::shift HydroBase::rho HydroBase::eps HydroBase::press HydroBase::vel" ############################################################################## # Set Hydro parameters ############################################################################## HydroBase::evolution_method = "GRHydro" GRHydro::riemann_solver = "HLLE" GRHydro::GRHydro_eos_type = "General" GRHydro::GRHydro_eos_table = "Ideal_Fluid" GRHydro::recon_method = "ppm" GRHydro::GRHydro_stencil = 3 GRHydro::bound = "none" GRHydro::sources_spatial_order = 4 GRHydro::EoS_Change = "yes" GRHydro::EoS_Change_type = "K" GRHydro::initial_k = 100 # Set "atmosphere" parameters GRHydro::rho_abs_min = 1.e-8 # was original value (1.e-10) ALS #GRHydro::rho_abs_min = -1. # turn off, so can use rel_min (default) #GRHydro::rho_rel_min = 1.e-9 # atmo. rho becomes rho_central*rel_min (default) GRHydro::GRHydro_atmo_tolerance = 1.e-3 # was orginal value ALS #GRHydro::GRHydro_atmo_tolerance = 0.0 # default ############################################################################## # Set curvature evolution parameters ############################################################################## 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::timelevels = 3 ML_BSSN::harmonicN = 1 # 1+log ML_BSSN::harmonicF = 2.0 # 1+log ML_BSSN::ShiftBCoeff = 1 ML_BSSN::ShiftGammaCoeff = 0.75 ML_BSSN::BetaDriver = 2.66 ML_BSSN::AdvectLapse = 0.0 ML_BSSN::AdvectShift = 0.0 ML_BSSN::initial_boundary_condition = "extrapolate-gammas" ML_BSSN::rhs_boundary_condition = "NewRad" # Some dissipation to get rid of high-frequency noise Dissipation::epsdis = 0.01 Dissipation::vars = " ML_BSSN::ML_log_confac ML_BSSN::ML_metric ML_BSSN::ML_curv ML_BSSN::ML_trace_curv ML_BSSN::ML_Gamma ML_BSSN::ML_lapse ML_BSSN::ML_shift " ############################################################################## # Define initial data parameters ############################################################################## InitBase::initial_data_setup_method = "init_some_levels" # Use TOV as initial data HydroBase::initial_hydro = "tov" ADMBase::initial_data = "tov" ADMBase::initial_lapse = "tov" ADMBase::initial_shift = "tov" ADMBase::initial_dtlapse = "zero" ADMBase::initial_dtshift = "zero" # Parameters for initial star #TOVSolver::TOV_Rho_Central[0] = 1.28e-3 TOVSolver::TOV_Rho_Central[0] = 3.154e-3 TOVSolver::TOV_Gamma = 2 TOVSolver::TOV_K = 100 # Set equation of state for evolution EOS_Omni::poly_gamma = 2 #EOS_Omni::poly_k = 100 EOS_Omni::poly_k = 80 EOS_Omni::gl_gamma = 2 #EOS_Omni::gl_k = 100 EOS_Omni::gl_k = 80 ############################################################################## # Define analysis ############################################################################## # Spherical Surfaces SphericalSurface::nsurfaces = 6 SphericalSurface::maxntheta = 39 SphericalSurface::maxnphi = 76 SphericalSurface::ntheta [0] = 39 SphericalSurface::nphi [0] = 76 SphericalSurface::nghoststheta[0] = 2 SphericalSurface::nghostsphi [0] = 2 SphericalSurface::ntheta [1] = 39 SphericalSurface::nphi [1] = 76 SphericalSurface::nghoststheta[1] = 2 SphericalSurface::nghostsphi [1] = 2 SphericalSurface::ntheta [2] = 39 SphericalSurface::nphi [2] = 76 SphericalSurface::nghoststheta[2] = 2 SphericalSurface::nghostsphi [2] = 2 SphericalSurface::ntheta [3] = 39 SphericalSurface::nphi [3] = 76 SphericalSurface::nghoststheta[3] = 2 SphericalSurface::nghostsphi [3] = 2 # Apparent horizon finder AHFinderDirect::find_every = 32 AHFinderDirect::run_at_CCTK_POST_RECOVER_VARIABLES = no AHFinderDirect::N_horizons = 4 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::max_Newton_iterations__initial = 50 AHFinderDirect::disable_horizon[1] = "no" AHFinderDirect::disable_horizon[2] = "no" AHFinderDirect::disable_horizon[3] = "no" AHFinderDirect::disable_horizon[4] = "no" AHFinderDirect::find_after_individual_time[1] = 30.0 # was 179.6 ALS AHFinderDirect::find_after_individual_time[2] = 30.0 AHFinderDirect::find_after_individual_time[3] = 30.0 AHFinderDirect::find_after_individual_time[4] = 30.0 AHFinderDirect::initial_guess__coord_sphere__radius[1] = 0.9 AHFinderDirect::max_allowable_horizon_radius [1] = 1.8 AHFinderDirect::which_surface_to_store_info [1] = 0 AHFinderDirect::reset_horizon_after_not_finding [1] = no AHFinderDirect::which_horizon_to_announce_centroid = 0 AHFinderDirect::initial_guess__coord_sphere__radius[2] = 0.7 AHFinderDirect::max_allowable_horizon_radius [2] = 1.4 AHFinderDirect::which_surface_to_store_info [2] = 1 AHFinderDirect::reset_horizon_after_not_finding [2] = no AHFinderDirect::initial_guess__coord_sphere__radius[3] = 0.6 AHFinderDirect::max_allowable_horizon_radius [3] = 1.2 AHFinderDirect::which_surface_to_store_info [3] = 2 AHFinderDirect::reset_horizon_after_not_finding [3] = no AHFinderDirect::initial_guess__coord_sphere__radius[4] = 0.5 AHFinderDirect::max_allowable_horizon_radius [4] = 1.0 AHFinderDirect::which_surface_to_store_info [4] = 3 AHFinderDirect::reset_horizon_after_not_finding [4] = no # Local measures QuasiLocalMeasures::interpolator = "Lagrange polynomial interpolation" QuasiLocalMeasures::interpolator_options = "order=4" QuasiLocalMeasures::spatial_order = 4 QuasiLocalMeasures::num_surfaces = 4 QuasiLocalMeasures::surface_index[0] = 0 QuasiLocalMeasures::surface_index[1] = 1 QuasiLocalMeasures::surface_index[2] = 2 QuasiLocalMeasures::surface_index[3] = 3 # Carpet's mask -- exclude region inside horizon from volume integrals CarpetMask::excluded_surface[0] = 0 CarpetMask::excluded_surface[1] = 1 CarpetMask::excluded_surface[2] = 2 CarpetMask::excluded_surface[3] = 3 ############################################################################## # Define what to output ############################################################################## cactus::cctk_timer_output = "full" # Use (create if necessary) an output directory named like the # parameter file (minus the .par) IO::out_dir = ${parfile} # Write one file overall per output (variable/group) # In production runs, comment this or set to "proc" to get one file # per MPI process # RH: 2018-02-10 disable until ticket is addressed: https://trac.einsteintoolkit.org/ticket/2117 #IO::out_mode = "onefile" # Some screen output IOBasic::outInfo_every = 4 IOBasic::outInfo_vars = "Carpet::physical_time_per_hour ADMBase::lapse{reductions='minimum'} HydroBase::rho{reductions='maximum'}" # Scalar output IOScalar::outScalar_every = 512 IOScalar::one_file_per_group = "yes" IOScalar::outScalar_reductions = "norm1 norm2 norm_inf sum maximum minimum" IOScalar::outScalar_vars = " HydroBase::rho{reductions='maximum'} HydroBase::press{reductions='maximum'} HydroBase::eps{reductions='minimum maximum'} HydroBase::vel{reductions='minimum maximum'} HydroBase::w_lorentz{reductions='minimum maximum'} ADMBase::lapse{reductions='minimum maximum'} ADMBase::shift{reductions='minimum maximum'} ML_BSSN::ML_Ham{reductions='norm1 norm2 maximum minimum norm_inf'} ML_BSSN::ML_mom{reductions='norm1 norm2 maximum minimum norm_inf'} GRHydro::dens{reductions='minimum maximum sum'} Carpet::timing{reductions='average'} " # 1D ASCII output. Disable for production runs! IOASCII::out1D_every = 512 IOASCII::one_file_per_group = yes IOASCII::output_symmetry_points = no IOASCII::out1D_vars = " HydroBase::rho HydroBase::press HydroBase::eps HydroBase::vel ADMBase::lapse ADMBase::metric ADMBase::curv ML_BSSN::ML_Ham ML_BSSN::ML_mom " # 2D HDF5 output CarpetIOHDF5::output_buffer_points = "no" CarpetIOHDF5::out2D_every = 256 CarpetIOHDF5::out2D_vars = " HydroBase::rho HydroBase::eps HydroBase::vel HydroBase::w_lorentz ADMBase::lapse ADMBase::shift ADMBase::metric ML_BSSN::ML_Ham ML_BSSN::ML_mom " # Checkpoint/Recovery options IOHDF5::checkpoint = "yes" IO::checkpoint_dir = $parfile IO::recover_dir = $parfile IO::recover = "autoprobe" IO::checkpoint_ID = "yes" #IO::checkpoint_every = 1048576 IO::checkpoint_every_walltime_hours = 1.0 IO::checkpoint_keep = 2 IO::checkpoint_on_terminate = "yes" # Enable to get detailed timing information #TimerReport::out_every = 1024 #TimerReport::out_filename = "TimerReport" #TimerReport::output_all_timers_readable = "yes" #TimerReport::output_all_timers = "yes" # Enable for profiling #Carpet::output_timers_every = 1024