namespace: castro

AMR

parameter

description

default value

state_interp_order

highest order used in interpolation

1

lin_limit_state_interp

how to do limiting of the state data when interpolating 0: only prevent new extrema 1: preserve linear combinations of state variables 2: preserve linear combinations and prevent new extrema

0

do_reflux

do we do the hyperbolic reflux at coarse-fine interfaces?

1

update_sources_after_reflux

whether to re-compute new-time source terms after a reflux Note: this only works for the CTU and simple-SDC time_integration_method drivers

1

allow_non_unit_aspect_zones

Castro was originally written assuming dx = dy = dz. This assumption is enforced at runtime. Setting allow_non_unit_aspect_zones = 1 opts out.

0

hydrodynamics

parameter

description

default value

difmag

the coefficient of the artificial viscosity

0.1

small_dens

the small density cutoff. Densities below this value will be reset

-1.e200

small_temp

the small temperature cutoff. Temperatures below this value will be reset

-1.e200

small_pres

the small pressure cutoff. Pressures below this value will be reset

-1.e200

small_ener

the small specific internal energy cutoff. Internal energies below this value will be reset

-1.e200

do_hydro

permits hydro to be turned on and off for running pure rad problems

true

time_integration_method

how do we advance in time? 0 = CTU + Strang, 1 is not used, 2 = SDC, 3 = simplified-SDC

0

limit_fourth_order

do we use a limiter with the fourth-order accurate reconstruction?

1

initialization_is_cell_average

for fourth order, we usually assume that the initialization is done to cell centers and we convert to cell-averages. With this option, we take the initialization as cell- averages (except for T, which we compute to fourth-order through the EOS after initialization).

0

use_reconstructed_gamma1

should we use a reconstructed version of Gamma_1 in the Riemann solver? or the default zone average (requires SDC integration, since we do not trace)

0

add_ext_src

if true, define an additional source term

0

hybrid_hydro

whether to use the hybrid advection scheme that updates z-angular momentum, cylindrical momentum, and azimuthal momentum (3D only)

0

ppm_type

reconstruction type: 0: piecewise linear; 1: classic Colella & Woodward ppm;

1

ppm_do_limiting

do we limit the ppm parabola?

1

mhd_limit_characteristic

For MHD + PLM, do we limit on characteristic or primitive variables

1

ppm_temp_fix

various methods of giving temperature a larger role in the reconstruction—see Zingale & Katz 2015

0

plm_iorder

for piecewise linear, reconstruction order to use 1 = piecewise constant, 2 = piecewise linear

2

plm_limiter

for piecewise linear, what limiter to use? 1 = 2nd order MC, 2 = 4th order MC

2

hybrid_riemann

do we drop from our regular Riemann solver to HLL when we are in shocks to avoid the odd-even decoupling instability?

0

riemann_solver

which Riemann solver do we use: 0: Colella, Glaz, & Ferguson (a two-shock solver); 1: Colella & Glaz (a two- shock solver) 2: HLLC

0

riemann_shock_maxiter

maximum number of iterations to used in the Riemann solver when solving for the star state

12

riemann_pstar_tol

tolerance to use when finding the star stat

1.0e-5

riemann_cg_blend

for the Colella & Glaz Riemann solver, what to do if we do not converge to a solution for the star state. 0 = do nothing; print iterations and exit 1 = revert to the original guess for p-star 2 = do a bisection search for another 2 * riemann_shock_maxiter iterations.

2

use_flattening

flatten the reconstructed profiles around shocks to prevent them from becoming too thin

1

transverse_use_eos

after we add the transverse correction to the interface states, replace the predicted pressure with an EOS call (using \(e\) and \(\rho\)).

0

transverse_reset_density

if the transverse interface state correction, if the new density is negative, then replace all of the interface quantities with their values without the transverse correction.

1

transverse_reset_rhoe

if the interface state for \((\rho e)\) is negative after we add the transverse terms, then replace the interface value of \((\rho e)\) with a value constructed from the \((\rho e)\) evolution equation

0

dual_energy_eta1

Threshold value of (E - K) / E such that above eta1, the hydrodynamic pressure is derived from E - K; otherwise, we use the internal energy variable UEINT.

1.0e0

dual_energy_eta2

Threshold value of (E - K) / E such that above eta2, we update the internal energy variable UEINT to match E - K. Below this, UEINT remains unchanged.

1.0e-4

use_pslope

for the piecewise linear reconstruction, do we subtract off \((\rho g)\) from the pressure before limiting? This is a well-balanced method that does well with HSE

0

ppm_well_balanced

for PPM, do we only use the perturbational pressure in the characteristic tracing? This is more indepth than the simple use_pslope approach.

0

pslope_cutoff_density

if we are using pslope, below what density to we turn off the well-balanced reconstruction?

-1.e20

limit_fluxes_on_small_dens

Should we limit the density fluxes so that we do not create small densities?

0

speed_limit

Enforce the magnitude of the velocity to be no larger than this number (and optionally limit the fluxes as well). Only applies if it is greater than 0.

0.0

do_sponge

permits sponge to be turned on and off

0

sponge_implicit

if we are using the sponge, whether to use the implicit solve for it

1

ext_src_implicit

if we are using user-defined source terms, are these solved implicitly?

0

source_term_predictor

extrapolate the source terms (gravity and rotation) to \(n+1/2\) timelevel for use in the interface state prediction

0

first_order_hydro

set the flattening parameter to zero to force the reconstructed profiles to be flat, resulting in a first- order method

0

xl_ext_bc_type

if we are doing an external -x boundary condition, who do we interpret it? 1 = HSE

-1

xr_ext_bc_type

if we are doing an external +x boundary condition, who do we interpret it? 1 = HSE

-1

yl_ext_bc_type

if we are doing an external -y boundary condition, who do we interpret it? 1 = HSE

-1

yr_ext_bc_type

if we are doing an external +y boundary condition, who do we interpret it? 1 = HSE

-1

zl_ext_bc_type

if we are doing an external -z boundary condition, who do we interpret it? 1 = HSE

-1

zr_ext_bc_type

if we are doing an external +z boundary condition, who do we interpret it? 1 = HSE

-1

hse_zero_vels

if we are doing HSE boundary conditions, do we zero the velocity?

0

hse_interp_temp

if we are doing HSE boundary conditions, should we get the temperature via interpolation (constant gradient) or hold it constant?

0

hse_fixed_temp

if we are doing HSE boundary conditions and holding the temperature constant, then set it to a fixed value at the boundaries (only if positive)

-1.e200

hse_reflect_vels

if we are doing HSE boundary conditions, how do we treat the velocity? reflect? or outflow?

0

fill_ambient_bc

fills physical domain boundaries with the ambient state

0

ambient_fill_dir

which direction do we do ambient BCs? -1 = all, 0 = x, 1 = y, 2 = z

-1

ambient_outflow_vel

in the ambient region, do we do a basic outflow in the normal direction of the velocity (with a min/max to ensure it is outgoing)

0

clamp_ambient_temp

clamps the ambient material to the ambient temperature

0

ambient_safety_factor

specifies the upper limit, as a multiple of the ambient density, for operations that are applied to ambient material, such as clamping T.

1.1e0

ambient_density

density of the ambient material (should default to the same as small_dens)

-1.e200

ambient_temp

temperature of the ambient material (should default to the same as small_temp)

-1.e200

ambient_energy

energy of the ambient material (should default to the same as small_ener)

-1.e200

sdc_order

integration order for SDC integration valid options are 2 and 4

2

sdc_quadrature

which quadrature type to use with SDC? 0 = Gauss-Lobatto, 1 = Radau

0

sdc_extra

number of extra SDC iterations to take beyond the order. This only applies for true SDC.

0

sdc_solver

which SDC nonlinear solver to use? 1 = Newton, 2 = VODE, 3 = VODE for first iter

1

use_geom_source

Do we include geometry source terms due to local unit vectors in non-Cartesian Coord? We currently support R-Z cylinderical 2D (Bernand-Champmartin) and R-THETA spherical 2D

1

add_sdc_react_source_to_advection

for simplified-SDC, do we add the reactive source prediction to the interface states used in the advective source construction?

1

hydro_memory_footprint_ratio

In GPU builds, the hydro advance typically results in a large amount of extra temporary memory allocated due to the large tile sizes that are used for computational efficiency. If you want to constrain the code’s GPU memory footprint at the expense of throughput, set the following parameter to some number greater than 0. This controls the ratio of additional extra memory that can be allocated by the hydro relative to the size of the base state (indirectly, by controlling the hydro tile size and then synchronizing each time the amount of currently allocated fab memory reaches the target limit). Choosing a value only slightly larger than 0 means that you want very little additional memory allocated, and you will take a relatively large performance hit, while choosing a value much greater than 1.0 would result in maximum throughput but also maximum memory footprint. You will likely have to experimentally find a good ratio for your use case, but a ratio around 2.0 - 4.0 is likely to yield a reasonable balance between memory footprint and throughput. Note: the first timestep will be very slow when using this option.

-1.0

timestep control

parameter

description

default value

fixed_dt

a fixed timestep to use for all steps (negative turns it off)

-1.0

initial_dt

the initial timestep (negative uses the step returned from the timestep constraints)

-1.0

dt_cutoff

the smallest valid timestep, as a fraction of the current simulation time. if we go below this, we abort.

1.e-12

max_dt

the largest valid timestep—limit all timesteps to be no larger than this

1.e200

cfl

the effective Courant number to use—we will not allow the hydrodynamic waves to cross more than this fraction of a zone over a single timestep

0.8

init_shrink

a factor by which to reduce the first timestep from that requested by the timestep estimators

1.0

change_max

the maximum factor by which the timestep can increase or decrease from one step to the next. Must be greater than 1.0—use max_dt to set a cap on the timestep.

1.1

check_dt_before_advance

whether to check that we will take a valid timestep before the advance

1

check_dt_after_advance

whether to check that we took a valid timestep after the advance

1

plot_per_is_exact

enforce that the AMR plot interval must be hit exactly

0

small_plot_per_is_exact

enforce that the AMR small plot interval must be hit exactly

0

use_retry

Retry a timestep if it violated the timestep-limiting criteria or other checks (negative density, burn failure) over the course of an advance. The criteria will suggest a new timestep that satisfies the criteria, and we will do subcycled timesteps on the same level until we reach the original target time.

1

retry_subcycle_factor

When performing a retry, the factor to multiply the current timestep by when trying again.

0.5

retry_small_density_cutoff

Skip retries for small (or negative) density if the zone’s density prior to the update was below this threshold.

-1.e200

abundance_failure_tolerance

Set the threshold for failing the species abundance validity check.

1.e-2

abundance_failure_rho_cutoff

Do not abort for invalid species abundances if the zone’s density is below this threshold.

-1.e200

use_post_step_regrid

Regrid after every timestep.

0

max_subcycles

Do not permit more subcycled timesteps than this parameter. Set to a negative value to disable this criterion.

10

sdc_iters

Number of iterations for the simplified SDC advance.

2

stopping_criterion_field

Field to use for determining whether to stop the simulation.

“”

stopping_criterion_value

Threshold value for determining whether to stop.

1.e200

reactions

parameter

description

default value

dtnuc_e

Limit the timestep based on how much the burning can change the internal energy of a zone. The timestep is equal to dtnuc \(\cdot\,(e / \dot{e})\).

1.e200

dtnuc_X

Limit the timestep based on how much the burning can change the species mass fractions of a zone. The timestep is equal to dtnuc \(\cdot\,(X / \dot{X})\).

1.e200

dtnuc_X_threshold

If we are using the timestep limiter based on changes in \(X\), set a threshold on the species abundance below which the limiter is not applied. This helps prevent the timestep from becoming very small due to changes in trace species.

1.e-3

do_react

permits reactions to be turned on and off – mostly for efficiency’s sake

true

react_T_min

minimum temperature for allowing reactions to occur in a zone

0.0

react_T_max

maximum temperature for allowing reactions to occur in a zone

1.e200

react_rho_min

minimum density for allowing reactions to occur in a zone

0.0

react_rho_max

maximum density for allowing reactions to occur in a zone

1.e200

disable_shock_burning

disable burning inside hydrodynamic shock regions note: requires compiling with USE_SHOCK_VAR=TRUE

0

shock_detection_threshold

shock detection threshold for grad{P} / P

0.6666666666666666666666_rt

shock_detection_include_sources

do we subtract off the hydrostatic pressure when evaluating a shock?

1

T_guess

initial guess for the temperature when inverting the EoS (e.g. when calling eos_input_re)

1.e8

drive_initial_convection

if set to 1, we interpolate from the initial model to get the temperature used to call the burner. This prevents reactions from going nonlinear and running away in place before a convective field is established.

0

drive_initial_convection_tmax

maximum time over which to do the drive_initial_convection procedure

1.e200

drive_initial_convection_reinit_period

frequency with which to re-initialize the thermodynamic data while preserving the velocity field during drive_initial_convection

1.e200

diffusion

parameter

description

default value

diffuse_temp

enable thermal diffusion

0

diffuse_cutoff_density

set a cutoff density for diffusion – we zero the term out below this density

-1.e200

diffuse_cutoff_density_hi

secondary cutoff density – there will be a linear dropoff in the diffusion coefficient between this and the primary cutoff density. This should be the larger of the two

-1.e200

diffuse_cond_scale_fac

scaling factor for conductivity

1.0

gravity and rotation

parameter

description

default value

do_grav

permits gravity calculation to be turned on and off

true

moving_center

to we recompute the center used for the multipole gravity solve each step?

0

grav_source_type

determines how the gravitational source term is added to the momentum and energy state variables.

4

do_rotation

permits rotation calculation to be turned on and off

true

rotational_period

the rotation period for the corotating frame

-1.e200

rotation_include_centrifugal

permits the centrifugal terms in the rotation to be turned on and off

1

rotation_include_coriolis

permits the Coriolis terms in the rotation to be turned on and off

1

rot_source_type

determines how the rotation source terms are added to the momentum and energy equations

4

implicit_rotation_update

we can do a implicit solution of the rotation update to allow for better coupling of the Coriolis terms

1

rot_axis

the coordinate axis (\(x=1\), \(y=2\), \(z=3\)) for the rotation vector

3

use_point_mass

include a central point mass

0

point_mass

mass of the point mass

0.0

point_mass_fix_solution

if we have a central point mass, we can prevent mass from building up in the zones adjacent to it by keeping their density constant and adding their mass to the point mass object

0

gw_dist

Distance (in kpc) used for calculation of the gravitational wave amplitude (this will be calculated along all three coordinate axes). Only relevant if castro.sum_interval > 0 and if set to a positive number. A standard value in the literature is 10.0 (kpc).

0.0

point_mass_offset_is_true

This integer is used to activate parallel plane 1/r**2 gravity.

0

point_mass_location_offset

0.0

sponge

parameter

description

default value

sponge_lower_radius

Minimum simulation distance from center to start applying the sponge

-1.0

sponge_upper_radius

Simulation distance from the center at which the sponge is fully applied

-1.0

sponge_lower_density

Minimum density at which to start applying the sponge

-1.0

sponge_upper_density

Density at which the sponge is fully applied

-1.0

sponge_lower_pressure

Minimum pressure at which to start applying the sponge

-1.0

sponge_upper_pressure

Pressure at which the sponge is fully applied

-1.0

sponge_lower_factor

Scaling factor for the sponge below the low end

0.0

sponge_upper_factor

Scaling factor for the sponge above the high end

1.0

sponge_target_x_velocity

Target x-velocity for the sponge to drive to

0.0

sponge_target_y_velocity

Target y-velocity for the sponge to drive to

0.0

sponge_target_z_velocity

Target z-velocity for the sponge to drive to

0.0

sponge_timescale

Timescale on which the sponge operates

-1.0

parallelization

parameter

description

default value

bndry_func_thread_safe

1

embiggening

parameter

description

default value

grown_factor

the factor by which to extend the domain upon restart for embiggening

1

star_at_center

used with the embiggening routines to determine how to extend the domain

true

self-consistent field initialization

parameter

description

default value

do_scf_initial_model

Should we use SCF to construct the initial model?

0

scf_maximum_density

Maximum density on the domain when using SCF

-1.e6

scf_equatorial_radius

Equatorial and polar radii of the star constructed by SCF

-1.e9

scf_polar_radius

-1.e9

scf_relax_tol

SCF relaxation tolerance

1.e-3

scf_max_iterations

Maximum number of SCF iterations

30

refinement

parameter

description

default value

do_special_tagging

0

max_tagging_radius

Maximum radius from the center (in units of the domain width) where tagging is allowed. The default choice implies no restriction.

10.0e0

diagnostics, I/O

parameter

description

default value

v

verbosity level (higher numbers mean more output)

0

dump_old

do we dump the old state into the checkpoint files too?

0

domain_is_plane_parallel

do we assume the domain is plane parallel when computing some of the derived quantities (e.g. radial velocity). Note: this will always assume that the last spatial dimension is vertical

0

print_update_diagnostics

display information about updates to the state (how much mass, momentum, energy added)

(0, 1)

sum_interval

how often (number of coarse timesteps) to compute integral sums (for runtime diagnostics)

-1

sum_per

how often (simulation time) to compute integral sums (for runtime diagnostics)

-1.0e0

job_name

a string describing the simulation that will be copied into the plotfile’s job_info file

“Castro”

output_at_completion

write a final plotfile and checkpoint upon completion

1

reset_checkpoint_time

Do we want to reset the time in the checkpoint? This ONLY takes effect if amr.regrid_on_restart = 1 and amr.checkpoint_on_restart = 1, (which require that max_step and stop_time be less than the value in the checkpoint) and you set it to value greater than this default value.

-1.e200

reset_checkpoint_step

Do we want to reset the number of steps in the checkpoint? This ONLY takes effect if amr.regrid_on_restart = 1 and amr.checkpoint_on_restart = 1, (which require that max_step and stop_time be less than the value in the checkpoint) and you set it to value greater than this default value.

-1

store_omegadot

Do we store the species creation rates in the plotfile? Note, if this option is enabled then more memory will be allocated to hold the results of the burn

0

store_burn_weights

Do we store the burn weights as a diagnostic in the plotfile? Note, if this option is enabled then more memory will be allocated to hold the results of the burn

0

abort_on_invalid_params

Do we abort the run if the inputs file specifies a runtime parameter that we don’t know about? Note: this will only take effect for those namespaces where 100% of the runtime parameters are managed by the python scripts.

0

radiation-hydro

parameter

description

default value

do_radiation

do we enable radiation for a radiation-hydrodynamics run?

true

particles

parameter

description

default value

do_tracer_particles

permits tracer particle calculation to be turned on and off

0

namespace: diffusion

parameter

description

default value

v

the level of verbosity for the diffusion solve (higher number means more output)

0

mlmg_maxorder

Use MLMG as the operator

4

namespace: gravity

parameter

description

default value

gravity_type

what type

“fillme”

const_grav

if doing constant gravity, what is the acceleration

0.0

direct_sum_bcs

Check if the user wants to compute the boundary conditions using the brute force method. Default is false, since this method is slow.

0

drdxfac

ratio of dr for monopole gravity binning to grid resolution

1

max_multipole_order

the maximum mulitpole order to use for multipole BCs when doing Poisson gravity

0

v

the level of verbosity for the gravity solve (higher number means more output on the status of the solve / multigrid

0

no_sync

do we perform the synchronization at coarse-fine interfaces?

0

do_composite_phi_correction

should we apply a lagged correction to the potential that gets us closer to the composite solution? This makes the resulting fine grid calculation slightly more accurate, at the cost of an additional Poisson solve per timestep.

1

max_solve_level

For all gravity types, we can choose a maximum level for explicitly calculating the gravity and associated potential. Above that level, we interpolate from coarser levels.

MAX_LEV-1

get_g_from_phi

For non-Poisson gravity, do we want to construct the gravitational acceleration by taking the gradient of the potential, rather than constructing it directly?

0

mlmg_max_fmg_iter

how many FMG cycles?

0

mlmg_agglomeration

Do agglomeration?

1

mlmg_consolidation

1

mlmg_nsolve

Do N-Solve?

0

namespace: particles

parameter

description

default value

v

the level of verbosity for the tracer particle (0 or 1)

0

particle_init_file

the name of an input file containing the total particle number and the initial position of each particle.

“”

particle_restart_file

the name of a file with new particles at restart

“”

restart_from_nonparticle_chkfile

to restart from a checkpoint that was written with USE_PARTICLES =FALSE

0

particle_output_file

the name of timestamp files.

“”

timestamp_dir

the name of a directory in which timestamp files are stored.

“”

timestamp_density

whether the local densities at given positions of particles are stored in output files

1

timestamp_temperature

whether the local temperatures at given positions of particles are stored in output files

0

namespace: radiation

parameter

description

default value

prop_temp_floor

0.0

flatten_pp_threshold

-1.0

comoving

are we in a comoving reference frame?

1

closure

which closure relation to use 0: f = lambda 1: f = 1/3 2: f = 1 - 2 * lambda 3: f = lambda + (lambda * R)^2 4: f = 1/3 + 2/3 (lambda * R)^2

3

limiter

which limiter to use 0: no limiter 2: Lev-Pom limiter 12: Bruenn 22: square root 32: Minerbo

2

fspace_advection_type

frequency space advection type

2

plot_lambda

do we plot the flux limiter lambda?

0

plot_kappa_p

do we plot the Planck mean opacity?

0

plot_kappa_r

do we plot the Rosseland mean opacity?

0

plot_lab_Er

do we plot the lab radiation energy?

0

plot_lab_flux

do we plot the lab radiation flux?

0

plot_com_flux

do we plot the comoving frame radiation flux?

0

namespace: radsolve

parameter

description

default value

level_solver_flag

the linear solver option to use

1

use_hypre_nonsymmetric_terms

0

reltol

1.e-10

abstol

1.e-10

maxiter

40

alpha

1.0

beta

1.0

v

0