Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Runtime parameters

This document lists all of the runtime parameters in Quokka that are set using the AMReX ParmParse object. Users can set these via the input file or by using command-line arguments.

General

These parameters are read in the AMRSimulation<problem_t>::readParameters() function in src/simulation.hpp or src/main.cpp.

Parameter NameTypeDefaultDescription
max_timestepsIntegerINT_MAXThe maximum number of time steps for the simulation.
cflFloat0.3Sets the CFL number for the simulation.
amr_interpolation_methodInteger1Selects the method used to interpolate from coarse to fine AMR levels. 0: piecewise constant, 1: linear. Except for debugging, this should not be changed.
stop_timeFloat1.0The simulation time at which to stop evolving the simulation.
plotfile_intervalInteger-1 (Disabled)The number of coarse timesteps between plotfile outputs.
plottime_intervalFloat-1.0 (Disabled)The time interval (in simulated time) between plotfile outputs.
skip_initial_plotfileBoolean (0/1)0 (False)Skip writing the initial plotfile at t=0.
statistics_intervalInteger-1 (Disabled)The number of coarse timesteps between statistics outputs.
checkpoint_intervalInteger-1 (Disabled)The number of coarse timesteps between checkpoint outputs.
checkpointtime_intervalFloat-1.0 (Disabled)The time interval (in simulated time) between checkpoint outputs.
do_refluxBoolean (0/1)1 (Enabled)This turns on refluxing at coarse-fine boundaries (1) or turns it off (0). Except for debugging, this should always be on when AMR is used.
do_tracersBoolean (0/1)0 (Disabled)This turns on tracer particles. They are initialized one-per-cell and they follow the fluid velocity.
suppress_outputBoolean (0/1)0 (Disabled)If set to 1, this disables output to stdout while the simulation is running.
derived_varsString listEmptyA list of the names of derived variables that should be included in plotfile outputs.
regrid_intervalInteger2The number of timesteps between AMR regridding.
density_floorFloat0.0The minimum density value allowed in the simulation. Enforced through EnforceLimits.
density_floor_exprStringEmptyOptional AMReX parser expression for a spatially varying density floor. Variables: x, y, z, base_density_floor. When set, this overrides the constant floor.
heating_rate_externalStringEmptyOptional AMReX parser expression for external heating rate per H atom (erg/s/H). Variables: time, dt. Effective when cooling is enabled.
debug_density_floor_plotBoolean (0/1)0 (Disabled)If set to 1, adds a derived field density_floor_dbg to plotfiles to visualize the spatially varying density floor.
temperature_floorFloat0.0The minimum temperature value allowed in the simulation. Enforced through EnforceLimits.
max_walltimeString0 (Unlimited)The maximum walltime for the simulation in the format DD:HH:SS (days/hours/seconds). After 90% of this walltime elapses, the simulation will automatically stop and exit.
dt_cutoffFloat0.0 (Disabled)Timestep drop detector threshold. If the timestep drops below dt_cutoff * current_time, the simulation aborts with an error message. This helps detect numerical instabilities early.
constant_dtFloat0.0 (Disabled)Optional constant timestep. If set, forces the timestamp to be this value.
initial_dtFloatUnlimitedOptional initial timestep.
max_dtFloatUnlimitedOptional maximum timestep.
init_shrinkFloat1.0Factor to shrink the initial timestep by.
show_performance_hintsBoolean (0/1)1 (Enabled)If set to 1, prints performance hints.
signal_speed_abortFloat-1.0 (Disabled)If value > 0 and the max signal speed exceeds this value, the simulation aborts.
particle_speed_abortFloat-1.0 (Disabled)If value > 0 and the max particle speed exceeds this value, the simulation aborts.
sfh_intervalInteger-1 (Disabled)Interval for updating/writing star formation history.
sfh_time_intervalFloat-1.0 (Disabled)Time interval for updating/writing star formation history.
particle_cflFloat0.5Sets the CFL number for particle advection. This is independent of the hydro CFL number.
plotfile_prefixString"plt"The prefix for plotfile output filenames.
checkpoint_prefixString"chk"The prefix for checkpoint output filenames.
do_subcycleBoolean (0/1)1 (Enabled)This turns on subcycling at coarse-fine boundaries (1) or turns it off (0).
poisson_supercycle_intervalInteger1The number of coarse timesteps between Poisson supercycle operations.
poisson_reltolFloat1.0e-5Relative tolerance for the Poisson solver convergence.
poisson_abstolFloat1.0e-5Absolute tolerance for the Poisson solver convergence (scaled by minimum RHS value).
print_cycle_timingBoolean (0/1)0 (Disabled)If set to 1, prints per-cycle timing information.
restartfileStringEmptyThe path to a checkpoint file from which to restart the simulation.
amr.plot_nfilesInteger-1 (Auto)Maximum number of binary files per multifab for plotfiles. Controls parallel I/O chunking.
amr.checkpoint_nfilesInteger-1 (Auto)Maximum number of binary files per multifab for checkpoints. Controls parallel I/O chunking.
quokka.bcString listRequiredBoundary conditions for the domain faces. Must be a list of 3 strings (e.g., periodic periodic reflecting). Overrides geometry.is_periodic.

Hydrodynamics

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
hydro.low_level_debugging_outputBoolean (0/1)0 (Disabled)If set to 1, turns on low-level debugging output for each RK stage. Warning: this writes an enormous volume of data to disk! This should only be used for debugging.
hydro.rk_integrator_orderInteger2 (RK2-SSP)Determines the order of the RK integrator used. Can be set to 1 (Forward Euler) or 2 (RK2-SSP, also known as Heun’s method). This should only be changed for debugging.
hydro.reconstruction_orderInteger3 (PPM)Determines the order of spatial reconstruction algorithm used. Can be set to 1 (piecewise constant), 2 (piecewise linear; PLM), or 3 (piecewise parabolic; PPM).
hydro.plm_limiterString"sweby"Selects the slope limiter for PLM reconstruction. Options: minmod, sweby, or mc. Only used when hydro.reconstruction_order = 2.
hydro.use_dual_energyBoolean (0/1)1 (Enabled)If set to 1, the code evolves an auxiliary internal energy variable in order to correctly evolve high-mach flows. This should only be disabled (0) for debugging.
hydro.abort_on_fofc_failureBoolean (0/1)1 (Enabled)If set to 1, the code aborts when first-order flux correction fails to yield a physical state (positive density and pressure). This should only be disabled (0) for debugging.
hydro.artificial_viscosity_coefficientFloat0.0This is the linear artificial viscosity coefficient used in the artificial viscosity term added to the flux. This is the same parameter as defined in the original PPM paper.

Radiation

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
radiation.reconstruction_orderInteger3 (PPM)Determines the order of spatial reconstruction algorithm used. Can be set to 1 (piecewise constant), 2 (piecewise linear; PLM), or 3 (piecewise parabolic; PPM).
radiation.cflFloat0.3Sets the CFL number for the radiation advance. This is independent of the hydro CFL number.
radiation.dust_gas_interaction_coeffFloat2.5e-34Coefficient for dust-gas interaction in radiation calculations.
radiation.print_iteration_countsBoolean (0/1)0 (Disabled)If set to 1, prints radiation iteration counts for debugging.
radiation.iteration_toleranceFloat1e-11Tolerance for the Newton-Raphson iteration residuals.
radiation.iteration_tolerance_relFloat-1.0 (Disabled)Tolerance for the relative change between two consecutive Newton-Raphson iterations.

MHD

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
mhd.emf_computing_schemeString"FelkerStone2017"Determines the method used to compute the EMF at edges. Can be set to FelkerStone2017, Balsara2025, or Quokka2026.
mhd.emf_averaging_schemeString"LondrilloDelZanna2004"Determines the method used to average EMF at edges. Can be set to LondrilloDelZanna2004 or Balsara2025.
mhd.emf_reconstruction_orderInteger5 (xPPM)Determines the order of spatial reconstruction algorithm used for EMF computation. Can be set to 1 (piecewise constant), 2 (piecewise linear; PLM), 3 (piecewise parabolic; PPM), or 5 (extrema-preserving xPPM).
mhd.plm_limiterString"sweby"Selects the slope limiter for PLM reconstruction in EMF calculations. Options: minmod, sweby, or mc. Only used when mhd.emf_reconstruction_order = 2.
mhd.project_initial_b_fieldBoolean (0/1)0 (Disabled)If set to 1, projects the initial magnetic field to be divergence-free.
mhd.update_initial_b_energyBoolean (0/1)1 (Enabled)If set to 1, updates the initial magnetic energy after projection.

Optically-thin radiative cooling

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
cooling.enabledBoolean (0/1)0 (Disabled)If set to 1, turns on optically-thin radiative cooling as a Strang-split source term.
cooling.cooling_table_typeString"resampled"Specifies the type of cooling table to use. The only supported option is “resampled”.
cooling.read_tables_even_if_disabledBoolean (0/1)0 (Disabled)If set to 1, reads the cooling tables even if the cooling module is disabled.
cooling.hdf5_data_fileStringRequired if cooling.enabled=1The path to the cooling tables in HDF5 format. We recommend using extern/cooling/CloudyData_UVB=HM2012_resampled.h5 for ISM at solar metallicity.

Chemistry

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
chemistry.enabledBoolean (0/1)0 (Disabled)If set to 1, turns on chemistry as a Strang-split source term.
chemistry.max_density_allowedFloat1.0e300Maximum density value for which chemistry calculations are accurate. Chemistry is not performed for cells with densities above this threshold.
chemistry.min_density_allowedFloatSmallest positive ValueMinimum density value for which chemistry calculations are performed. Chemistry is not performed for cells with densities below this threshold.

Dust

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
dust.enable_iter_stoptimeBoolean (0/1)0 (Disabled)If set to 1, enables iterative dust stopping time calculation.
dust.omegaFloat1.0Controls the level of frictional heating, with omega = 0 turning it off and omega = 1 depositing all dissipation into the gas.
dust.print_iteration_countsBoolean (0/1)0 (Disabled)If set to 1, prints dust drag iteration counts for debugging.
dust.density_floorFloat0.0The minimum dust density value allowed in the simulation. Enforced through EnforceLimits.

Particles

These parameters are read in the particleParmParse() function in src/particles/particle_types.hpp and readParmParse() in src/simulation.hpp.

Parameter NameTypeDefaultDescription
particles.disable_SN_feedbackBoolean (0/1)0If set to 1, disables SN feedback when a particle evolves from SNProgenitor to SNRemnant.
particles.sink_particle_use_uniform_kernelBoolean (0/1)0 (Disabled)If set to 1, uses uniform accretion kernel in a (7 dx)^3 box for sink particles.
particles.SN_schemeStringSN_thermal_or_thermal_momentumScheme for SN feedback. Options: SN_thermal_only, SN_thermal_or_thermal_momentum, SN_thermal_kinetic_or_thermal_momentum, SN_pure_kinetic_or_thermal_momentum.
particles.SN_p_term_MsunkmpsFloat2.8e5Terminal momentum of the supernova remnant in units of \(M_\odot,\mathrm{km,s}^{-1}\). The shell-formation mass \(M_\mathrm{sf}\) is scaled as \((p/p_\mathrm{canonical})^2\) so that the kinetic energy \(p^2/(2M_\mathrm{sf})\) is preserved.
particles.eps_ffFloat0.01Star formation efficiency parameter.
particles.verboseBoolean (0/1)0Verbosity level for particle operations. Higher values provide more detailed output.
particles.param1Float-1.0Placeholder parameter for particles (used in gravity_3d.cpp tests).
particles.param2Float-1.0Placeholder parameter for particles (used in gravity_3d.cpp tests).
particles.disable_particle_driftBoolean (0/1)0If set to 1, disables particle drift.
particles.stellar_velocity_limitFloat1.0e8Maximum velocity limit for stellar particles in cm/s. The code will abort if stellar velocity exceeds this limit.
particles.reproducibility_roundoff_redundancyInteger20Number of bits to remove from the significand for reproducibility.
particles.use_luminosity_tableBoolean (0/1)1 (Enabled)If set to 1, uses a luminosity table for particles.
particles.rad_tableStringRequired if particles.use_luminosity_table=1 and Physics_Traits<problem_t>::is_radiation_enabled=truePath to the radiation luminosity table.
particles.rad_table_output_spacingInteger0 (fast_log)Output spacing for radiation table.
particles.split_particles_on_restart_refineBoolean (0/1)1 (Enabled)Whether to split particles when restarting with refinement.

Turbulence

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp. Details about the turbulence driving implementation can be found here.

Parameter NameTypeDefaultDescription
turbulence.enabledBoolean (0/1)0 (Disabled)If set to 1, enables turbulence driving using chfeder’s turbulence driving module.
turbulence.lengthFloatRequired if turbulence.enabled=1Length of turbulent driving box. Can have 1 value or a comma separated list for each component.
turbulence.target_vdispFloatRequired if turbulence.enabled=1Target turbulent velocity dispersion.
turbulence.ampl_factorFloatRequired if turbulence.enabled=1Amplitude adjust factor for forcing field. Can have 1 value or a comma separated list for each component.
turbulence.ampl_auto_adjustBoolean (0/1)0 (Disabled)If set to 1, enables automatic amplitude adjustment.
turbulence.k_drivFloatRequired if turbulence.enabled=1Characteristic driving scale in units of \(2\pi/length\). This sets the autocorrelation timescale via tau = (length/target_vdisp)/k_driv.
turbulence.k_minFloatRequired if turbulence.enabled=1Minimum driving wavenumber in units of \(2\pi/length\).
turbulence.k_maxFloatRequired if turbulence.enabled=1Maximum driving wavenumber in units of \(2\pi/length\).
turbulence.sol_weightFloatRequired if turbulence.enabled=1Solenoidal weight. Can be 0.0 (compressive driving), 1.0 (solenoidal driving) or 0.5 (natural mixture).
turbulence.spect_formIntegerRequired if turbulence.enabled=1Spectral form of the driving amplitude. Can be 0 (band, rectangle, constant), 1 (paraboloid) or 2 (power law).
turbulence.power_law_expFloatRequired if turbulence.spect_form=2If spect_form = 2, this sets the spectral power-law exponent (e.g., -5/3: Kolmogorov; -2: Burgers).
turbulence.angles_expFloatRequired if turbulence.spect_form=2If spect_form = 2, this sets the number of modes (angles) in k-shell such that it increases as \(k^angles_exp\).
turbulence.stop_timeFloatOptional if turbulence.enabled=1Time at which to stop turbulence driving. Default is max, i.e. never stop.
turbulence.random_seedIntegerRequired if turbulence.enabled=1Random number seed for driving sequence.
turbulence.nsteps_per_t_turbIntegerRequired if turbulence.enabled=1Number of turbulence driving pattern updates per turnover time.

Photoelectric Heating

These parameters are read in the QuokkaSimulation<problem_t>::readParmParse() function in src/QuokkaSimulation.hpp.

Parameter NameTypeDefaultDescription
use_sfh_based_pe_heatingBoolean (0/1)0 (Disabled)If set to 1, enables photoelectric heating based on star formation history.
sfh_to_pe_heating_tableStringRequired if use_sfh_based_pe_heating = 1Path to the table converting star formation history to photoelectric heating.
sf_area_kpc2FloatRequired if use_sfh_based_pe_heating = 1 and const_sfr_Msun_per_year_per_kpc2 < 0Area of the star formation region in kpc^2.
const_sfr_Msun_per_year_per_kpc2Float-1.0Constant star formation rate in Msun/year/kpc^2. If non-negative, overrides the simulation SFR.