# 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. # Some basic stuff ActiveThorns = "Time MoL" ActiveThorns = "Coordbase CartGrid3d Boundary StaticConformal" ActiveThorns = "SymBase ADMBase TmunuBase HydroBase InitBase ADMCoupling ADMMacros" ActiveThorns = "IOUtil" ActiveThorns = "Formaline" ActiveThorns = "SpaceMask CoordGauge Constants LocalReduce aeilocalinterp LoopControl" ActiveThorns = "Carpet CarpetLib CarpetReduce CarpetRegrid2 CarpetInterp" ActiveThorns = "CarpetIOASCII CarpetIOScalar CarpetIOHDF5 CarpetIOBasic" # Finalize Cactus::terminate = "runtime" Cactus::max_runtime = 10 #800 # divide by ~203 to get ms # Termination Trigger ActiveThorns = "TerminationTrigger" TerminationTrigger::max_walltime = 0.5 TerminationTrigger::on_remaining_walltime = 0 # minutes TerminationTrigger::check_file_every = 512 TerminationTrigger::termination_file = "TerminationTrigger.txt" TerminationTrigger::termination_from_file = "yes" TerminationTrigger::create_termination_file = "yes" # grid parameters Carpet::domain_from_coordbase = "yes" CartGrid3D::type = "coordbase" CartGrid3D::domain = "full" CartGrid3D::avoid_origin = "no" CoordBase::xmin = 0.0 CoordBase::ymin = 0.0 CoordBase::zmin = 0.0 CoordBase::xmax = 24.0 CoordBase::ymax = 24.0 CoordBase::zmax = 24.0 # 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 = 2.0 CoordBase::dy = 2.0 CoordBase::dz = 2.0 CarpetRegrid2::regrid_every = 0 CarpetRegrid2::num_centres = 1 CarpetRegrid2::num_levels_1 = 2 CarpetRegrid2::radius_1[1] = 12.0 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 ActiveThorns = "ReflectionSymmetry" 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" # storage and coupling 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" Carpet::enable_all_storage = no Carpet::use_buffer_zones = "yes" Carpet::poison_new_timelevels = "yes" Carpet::check_for_poison = "no" Carpet::init_3_timelevels = no Carpet::init_fill_timelevels = "yes" CarpetLib::poison_new_memory = "yes" CarpetLib::poison_value = 114 # system specific Carpet paramters Carpet::max_refinement_levels = 10 driver::ghost_size = 3 Carpet::prolongation_order_space = 3 Carpet::prolongation_order_time = 2 # 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 whioe. ActiveThorns = "NaNChecker" 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" # Hydro paramters ActiveThorns = "EOS_Omni GRHydro" HydroBase::evolution_method = "GRHydro" GRHydro::riemann_solver = "Marquina" GRHydro::GRHydro_eos_type = "Polytype" GRHydro::GRHydro_eos_table = "2D_Polytrope" GRHydro::recon_method = "ppm" GRHydro::GRHydro_stencil = 3 GRHydro::bound = "none" GRHydro::rho_abs_min = 1.e-10 # Parameter controlling finite difference order of the Christoffel symbols in GRHydro GRHydro::sources_spatial_order = 4 # Curvature evolution parameters ActiveThorns = "GenericFD NewRad" ActiveThorns = "ML_BSSN ML_BSSN_Helper" 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::evolveA = 1 ML_BSSN::evolveB = 1 # NOTE: The following parameters select geodesic slicing. This choice only enables you to evolve stationary spacetimes. # They will not allow you to simulate a collapsing TOV star. ML_BSSN::ShiftGammaCoeff = 0.0 ML_BSSN::AlphaDriver = 0.0 ML_BSSN::BetaDriver = 0.0 ML_BSSN::advectLapse = 0 ML_BSSN::advectShift = 0 ML_BSSN::MinimumLapse = 1.0e-8 ML_BSSN::my_initial_boundary_condition = "extrapolate-gammas" ML_BSSN::my_rhs_boundary_condition = "NewRad" # Some dissipation to get rid of high-frequency noise ActiveThorns = "SphericalSurface Dissipation" Dissipation::verbose = "no" 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 " # init parameters InitBase::initial_data_setup_method = "init_some_levels" # Use TOV as initial data ActiveThorns = "TOVSolver" 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_Gamma = 2 TOVSolver::TOV_K = 100 # Set equation of state for evolution EOS_Omni::poly_gamma = 2 EOS_Omni::poly_k = 100 EOS_Omni::gl_gamma = 2 EOS_Omni::gl_k = 100 # I/O # 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 IO::out_mode = "onefile" # Some screen output IOBasic::outInfo_every = 512 IOBasic::outInfo_vars = "Carpet::physical_time_per_hour HydroBase::rho{reductions='maximum'}" # Scalar output IOScalar::outScalar_every = 1 IOScalar::one_file_per_group = "yes" IOScalar::outScalar_reductions = "maximum" IOScalar::outScalar_vars = " HydroBase::rho "