Skip to content

Input parameters

▸ particles
▸ species
charge float Charge of the species (in units of fiducial charge):
cooling string Radiation reaction to use for the species:
"None"
label string Label of the species:
"s*" (where "*" is the species index starting at 1)
mass float Mass of the species (in units of fiducial mass):
maxnpart unsigned int: > 0 Maximum number of particles per task:
n_payloads unsigned short Number of additional (payload) variables for each particle of the given species:
0
pusher string Pusher algorithm for the species:
"Boris" for massive and "Photon" for massless
▸ algorithms
current_filters unsigned short: >= 0 Number of current smoothing passes:
0
▸ gca
e_ovr_b_max float: 0.0 < ... < 1.0 Maximum value for E/B allowed for GCA particles:
0.9
larmor_max float Maximum Larmor radius allowed for GCA particles (in physical units):
0.0
▸ gr
pusher_eps float: > 0 Stepsize for numerical differentiation in GR pusher:
1e-6
pusher_niter unsigned short: > 0 Number of iterations for the Newton-Raphson method in GR pusher:
10
▸ synchrotron
gamma_rad float: > 0 Radiation reaction limit gamma-factor for synchrotron:
▸ timestep Section with automatically inferred parameters.
CFL float: 0.0 < ... < 1.0 Courant-Friedrichs-Lewy number:
0.95
correction float: ~1 Correction factor for the speed of light used in field solver:
1.0
dt [= CFL * dx0] float timestep duration (inferred)
▸ toggles
deposit bool Toggle for the current deposition:
true
fieldsolver bool Toggle for the field solver:
true
▸ checkpoint Section with automatically inferred parameters.
interval unsigned int: > 0 Number of timesteps between checkpoints:
1000
interval_time float: > 0 Physical (code) time interval between checkpoints:
-1.0 (disabled)
keep int Number of checkpoints to keep:
2
read_path string Parent directory to use when resuming from a checkpoint
inherits from `write_path`
walltime string Write a checkpoint once after a fixed walltime
"00:00:00" (disabled)
write_path string Parent directory to write checkpoints to
"<simname>.ckpt"
is_resuming bool Whether the simulation is resuming from a checkpoint from command-line flag (inferred)
start_step unsigned int Timestep of the checkpoint used to resume from automatically determined during restart (inferred)
start_time float Time of the checkpoint used to resume from automatically determined during restart (inferred)
▸ diagnostics
blocking_timers bool Blocking timers between successive algorithms:
false
colored_stdout bool Enable colored stdout
true
interval int: > 0 Number of timesteps between diagnostic logs:
1
log_level string Specify the log level:
"VERBOSE"
▸ grid Section with automatically inferred parameters.
▸ boundaries
▸ absorb
ds float Size of the absorption layer for particles in physical (code) units:
1% of the domain size (in shortest dimension)
▸ atmosphere Section with automatically inferred parameters.
density float Peak number density of the atmosphere at base in units of n0
ds float Distance from the edge to which the gravity is imposed in physical units
0.0
height float Pressure scale-height in physical units
species array of ints of size 2 Species indices of particles that populate the atmosphere
temperature float Temperature of the atmosphere in units of m0 c^2
g [= temperature / height] float Acceleration due to imposed gravity from `grid.boundaries.atmosphere.temperature`, `grid.boundaries.atmosphere.height` (inferred)
fields 1/2/3-size array of string tuples, each of size 1 or 2 Boundary conditions for fields:
▸ match
ds float or array of tuples Size of the matching layer in each direction for fields in physical (code) units:
1% of the domain size (in shortest dimension)
particles 1/2/3-size array of string tuples, each of size 1 or 2 Boundary conditions for fields:
extent 1/2/3-size array of float tuples, each of size 2 Physical extent of the grid:
▸ metric Section with automatically inferred parameters.
ks_a float: 0 < ... < 1 Spin parameter for the Kerr Schild metric:
0.0
metric string Metric on the grid
qsph_h float: -1 < ... < 1 h paramter for the QSpherical metric, th = x2 + 2*h x2 (pi-2*x2)*(pi-x2)/pi^2:
0.0 (e.g., x2 = th)
qsph_r0 float: -inf < ... < rmin r0 paramter for the QSpherical metric, x1 = log(r-r0):
0.0 (e.g., x1 = log(r))
coord string Coordinate system on the grid from `grid.metric.metric` (inferred)
ks_rh float Size of the horizon for GR Kerr Schild from `grid.metric.ks_a` (inferred)
params map<string, float> A map of all metric-specific parameters together (for easy access) from `grid.metric` (inferred)
resolution array of uint of size 1, 2 or 3 Spatial resolution of the grid:
dim short (1, 2, 3) Dimensionality of the grid from `grid.resolution` (inferred)
▸ output
▸ debug
as_is bool Output fields "as is" without conversions:
false
ghosts bool Output fields with values in ghost cells:
false
▸ fields
custom array of strings Custom (user-defined) field quantities:
[]
downsampling array of unsigned int >= 1 Downsample factor for the output of fields:
[1, 1, 1]
enable bool Toggle for the field output:
true
interval unsigned int Number of timesteps between field outputs (overrides `output.interval`):
0 (use `output.interval`)
interval_time float Physical (code) time interval between field outputs (overrides `output.interval_time`):
-1.0 (use `output.interval_time`)
mom_smooth unsigned short Smoothing window for the output of moments (e.g., "Rho", "Charge", "T", etc.):
0
quantities array of strings Field quantities to output:
[]
format string Output format:
"hdf5"
interval unsigned int: > 0 Number of timesteps between all outputs (overriden by specific output interval below):
1
interval_time float Physical (code) time interval between all outputs (overriden by specific output intervals below):
-1.0 (disabled)
▸ particles
enable bool Toggle for the particles output:
true
interval unsigned int: > 0 Number of timesteps between particle outputs (overrides `output.interval`):
0 (use `output.interval`)
interval_time float Physical (code) time interval between field outputs (overrides `output.interval_time`):
-1.0 (use `output.interval_time`)
species array of ints Particle species indices to output:
[] = all species
stride unsigned int: > 1 Stride for the output of particles:
100
separate_files bool Whether to output each timestep into separate files:
true
▸ spectra
e_max float Maximum energy for the spectra output:
1e3
e_min float Minimum energy for the spectra output:
1e-3
enable bool Toggle for the spectra output:
true
interval unsigned int: > 0 Number of timesteps between spectra outputs (overrides `output.interval`):
0 (use `output.interval`)
interval_time float Physical (code) time interval between spectra outputs (overrides `output.interval_time`):
-1.0 (use `output.interval_time`)
log_bins bool Whether to use logarithmic bins
true
n_bins unsigned int: > 0 Number of bins for the spectra output:
200
▸ stats
custom array of strings Custom (user-defined) stats:
[]
enable bool Toggle for the stats output:
true
interval unsigned int: > 0 Number of timesteps between stat outputs (overriden if `output.stats.interval_time != -1`):
100
interval_time float Physical (code) time interval between stat outputs:
-1.0 (use `output.stats.interval_time`)
quantities array of strings Field quantities to output:
["B^2", "E^2", "ExB", "Rho", "T00"]
▸ particles Section with automatically inferred parameters.
clear_interval unsigned int Timesteps between particle re-sorting (removing dead particles):
100
ppc0 float: > 0 Fiducial number of particles per cell:
use_weights bool Toggle for using particle weights:
false
nspec unsigned int Number of particle species from `particles.species` (inferred)
species vector of ParticleSpecies An object containing information about all the species from `particles.species` (inferred)
▸ scales Section with automatically inferred parameters.
larmor0 float: > 0.0 Fiducial larmor radius:
skindepth0 float: > 0.0 Fiducial plasma skin depth:
B0 [= 1 / larmor0] float Fiducial magnetic field from `scales.larmor0` (inferred)
V0 float fiducial elementary volume from `grid` (inferred)
dx0 float fiducial minimum size of the cell from `grid` (inferred)
n0 [= ppc0 / V0] float Fiducial number density from `particles.ppc0`, `grid` (inferred)
omegaB0 [= 1 / larmor0] float Fiducial cyclotron frequency from `scales.larmor0` (inferred)
q0 [= 1 / (n0 * skindepth0^2)] float Fiducial elementary charge from `scales.skindepth0`, `scales.n0` (inferred)
sigma0 [= (skindepth0 / larmor0)^2] float Fiducial magnetization parameter from `scales.larmor0`, `scales.skindepth0` (inferred)
▸ simulation
▸ domain
decomposition array of int of size 1, 2 or 3 Decomposition of the domain (e.g., for MPI) in each of the directions
[-1, -1, -1]
number int Number of domains
1 (no MPI)
MPI_SIZE (MPI)
engine string Simulation engine to use
name string Name of the simulation:
runtime float: > 0 Max runtime in physical (code) units:

Entity reads almost all the information (except for the problem generator) about the simulation at runtime from an input file provided in the .toml format. The most up-to-date full version of the input file with all the possible input parameters with their descriptions can be found in the root directory of the main repository in the input.example.toml.