Swarm-NG  1.1
Configuration Files

Text-based configuration files are used to feed parameters into swarm utility.

Here is a sample of configuration file:

# I/O configuration
input=sample.in
output=sample.out

# Integrator config
integrator=rkck_adaptive
min time step=0.0001
max time step=0.001
error tolerance=1E-27

Syntax is:

  • Every line starting with # is ignored
  • Empty lines are ignored
  • A valid line is in form name=value
  • Spaces in the parameter name and parameter value are allowed.
  • If a name is assigned more than once, only the last occurence is considered.
  • Parameter names are case-sensitive.
Module Name Default Value

Description

Swarm Executable (Utils) nsys Number of system when auto-generating the ensemble
nbod Number of bodies when auto-generating the ensemble
spacing_factor 1.4

Number of bodies when auto-generating the ensemble

Swarm Executable destination_time 10 pi Marker for end of integration, all systems integrated and synchronized to this time
interval disabled Intervals testing of stability of the system
logarithmic disabled

Logarithmic base for exponentially growing intervals (used for stability graphs in logarithmic scale)

allowed_deltaE 0.01 Maximum deviation error from energy preservation allowed. If the maixmum energy conservation error is bigger than the number specified then the integration is stopped and marked as failed (Primarily used for automated stability test)
pos_threshold 1e-10 Maximum deviation allowed for position magnitude when comparing an ensemble against the reference
vel_threshold 1e-10 Maximum deviation allowed for velocity magnitude when comparing an ensemble against the reference
time_threshold 1e-4

Maximum deviation allowed for system time when comparing an ensemble against the reference

input Binary input file
output Binary output file
text_input Text input file
text_output

Text output file

SwarmNG library nogpu 0 If set to 1, the GPU is not initialized. nogpu = 1 should be used when running Swarm without an actual GPU on the system.
system_per_block SHMEM_CHUNK_SIZE Number of systems in a CUDA block
CUDA_DEVICE 0

Number of the CUDA devices to use (Only used if there are more than one GPUs on a system)

Integrator integrator Name of The integrator plugin used for integration
max_iterations Maximum number of iterations in the integration kernel internal loop
max_attempts

Maximum number of attempts on running the integration kernel to finish the integration

Fixed time step integrators time_step 0.0001  
Adaptive step integratorsmin_time_step Smallest step size allowed in adaptive mode
max_time_step largest step size allowed in adaptive mode
Adaptive step Hermite Integrator time_step_factor A factor that determines the effect of energy estimate on the time step
Adaptive step Runge-Kutta integratorerror_tolerance

Amount of error allowed for adaptive integration

Logging Subsystem log_writernull Output method used for logging:
  • null is to discard output
  • bdb writes to Berkeley DB databes (recommended)
  • binary writes binary files.
log_outputFor binary logger: path to the output file where the log is stored
log_output_db

For bdb logger: path to the database file where the log is stored

Log interval monitor log_interval The fixed interval time at which the system is logged (if enabled)
Stop-on-Ejection monitor rmax +Infinity Maximum allowed distance between a planet and the sun before the planet is marked as ejected
Stop-On-Collision monitor collision_radius 0 The closest that two planets can get without triggerring a collision
Stop-On-Any Large distance monitor stop_on_rmax Should the monitor stop integration if there is a large distance
Stop-On-Close-Approach monitor close_approach 0