# 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 = "time" Cactus::cctk_final_time = 400 #800 # devide by ~203 to get ms # Termination Trigger ActiveThorns = "TerminationTrigger" 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" # 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 = "HLLE" GRHydro::GRHydro_eos_type = "General" GRHydro::GRHydro_eos_table = "Ideal_Fluid" GRHydro::recon_method = "ppm" GRHydro::GRHydro_stencil = 3 GRHydro::bound = "none" GRHydro::rho_abs_min = 1.e-10 GRHydro::GRHydro_atmo_tolerance = 1.e-3 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::ShiftBCoeff = 1 ML_BSSN::ShiftGammaCoeff = 0.75 ML_BSSN::BetaDriver = 2.66 ML_BSSN::LapseAdvectionCoeff = 0.0 ML_BSSN::ShiftAdvectionCoeff = 0.0 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 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 = 512 IOBasic::outInfo_vars = "Carpet::physical_time_per_hour 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 = 2048 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 = 2048 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 " # Checkpointing 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_keep = 3 IO::checkpoint_on_terminate = "yes" # Enable to get detailed timing information #ActiveThorns = "TimerReport" #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