Swarm-NG
1.1
|
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:
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 integrators | min_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 integrator | error_tolerance | Amount of error allowed for adaptive integration | |
Logging Subsystem | log_writer | null | Output method used for logging:
|
log_output | For 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 |