-
Notifications
You must be signed in to change notification settings - Fork 5
ParticleIntegrator: Configuration
All settings for a simulation are defined in the configuration.ini
file located in the INPUT
-folder. Changes are applied at the beginning of running the executable; later changes have no effect.
Note: A good example of the configuration can always be found in the Test folder of the repository.
- particles
- FIRST_PARTICLE_NUMBER
- PARTICLE_INPUT_FILE_NAME
- PARTICLE_OUTPUT_FILE_NAME
- PARTICLE_MASS
- PARTICLE_DENSITY
- Q_PR
- simulation
- ALGORITHM
- FINAL_TIME
- START_TIME_SAVE
- N_BODYS
- BODYS_ID
- NUMBER_OF_THREADS
- SSB_CENTERED
- ENDONTIME
- saving
- SAVE_AS_BINARY
- SAVE_NTH_MULTIPLIER
- ENCOUNTER_SLOPE
- ENCOUNTER_MAX
- encounter: This works and should be relatively straightforward to use, but it's not tested yet and may change. See the sample file mentioned above for the options that are available as of now.
Integrator-specific settings
###############################
This section describes how to set parameters that characterise the particles used for the simulation.
Description
Number of the first particle in the particle file.
Example
FIRST_PARTICLE_NUMBER = 1
Description
Name of the particle file in the INPUT folder, e.g. "particle_input_file". (no ".txt" needed)
Example
PARTICLE_INPUT_FILE_NAME = workunit_1000095_sepangle4_vel1_mass1e-08_HOR_1
Description
Name of the output particle file. (Put something like "particle") Default is equal to PARTICLE_INPUT_FILE_NAME. The particle number will be appended.
Example
PARTICLE_OUTPUT_FILE_NAME = particle
Description
Mass of the particles in kg. (e.g. "1e-06"). Default is 0. In this case solar pressure is unaccounted for in the simulation.
Example
PARTICLE_MASS = 1e-08
Description
Density of the particles in kg.m-3. (e.g. "1000"). Default is 1000.
Example
PARTICLE_DENSITY = 1000.000000
Description
Mie scattering coefficient of a particle. Default is 1.
Example
Q_PR = 1.0
Settings in this section define parameters for the simulation itself.
Description
Algorithm used for integration. Available: RK4 (default), RK76
Example
ALGORITHM = RK76
Description
Date the simulation will end. The string needs to be compatible with SPICE, e.g. "1 JAN 2000".
Example
FINAL_TIME = 1 JAN 2100
Description
Date the saving of the particles will commence. The string needs to be compatible with SPICE, e.g. "1 JAN 2000". If this value is set to zero, states are saved throughout the entire simulation.
Example
START_TIME_SAVE = 1 JAN 1950
Description
Number of heavy bodies which will be included in the simulation. (must be greater than 0)
Example
N_BODYS = 9
Description
Describes the NAIF IDs of the heavy bodies included in the simulation, separated by spaces. The input could, for example, look like this: "10 3 5". This example would represent Sun(10) + Earth(3) + Jupiter(5). Sun(10) must always be set!
IDs
NAIF ID | Name |
---|---|
0 | Solar system barycenter |
1 | Mercury barycenter |
2 | Venus barycenter |
3 | Earth Moon barycenter |
4 | Mars barycenter |
5 | Jupiter barycenter |
6 | Saturn barycenter |
7 | Uranus barycenter |
8 | Neptune barycenter |
9 | Pluto barycenter |
10 | Sun barycenter |
Example
BODYS_ID = 10 5 6 7 8 3 2 4 1
Description
Number of threads - only required if you want to use more than 1 thread (using OpenMP). Note that this parameter is NOT intended to be set if the application is running with BOINC. Default is 1.
Example
NUMBER_OF_THREADS =1
Description
Centres bodies at the SSB instead of using actual positions through spice. Default: 0
Example
SSB_CENTERED = 0
Description
Reduces the duration of the last integration step to make it end exactly on the given end time. Default: 0
Example
ENDONTIME = 0
Description
Defines whether or not the output files should be converted to binary format.
Example
SAVE_AS_BINARY = 1
Description
Decrease this value to increase the number of saved states per integrator interval. Default is (DV_STEP^-1)*20.
0.
saves every 10nth state independently of the value of DV_STEP/E_TARGET.
RK4: SAVE_NTH_MULTIPLIER sets the multiplier such that (DV_STEP^-1)*SAVE_NTH_MULTIPLIER describes which nth state is saved to the particle file.
RK76: SAVE_NTH_MULTIPLIER sets the multiplier such that the number of steps that is saved is similar to the number that is saved when using RK4 with the same parameter, and is similar across values of E_TARGET. More precisely, SAVE_NTH_MULTIPLIER / 1.4e3 * 10^(3.6072 - 0.0746 * log10( E_TARGET )) describes which nth state is saved.
Example
SAVE_NTH_MULTIPLIER = 10.0
Description Defines the increase in the number of saved states that occurs at the points where solar acceleration = planetary acceleration. Default: 4
Example
ENCOUNTER_SLOPE = 4
Description
Maximum permitted increase in rate at which states are saved. Default: 40
Example
ENCOUNTER_MAX = 40
These settings are only relevant for one specific integrator and have no effect if a different integrator is set.
Description
The change of velocity allowed per step. Set this to "1e-3" for moderate accuracy or "1e-4" for good accuracy.
Example
DV_STEP = 1e-3
Description
The smallest error allowed per step, in units 10^3 m. Settings around 1e-15 already produce very precise outputs, better accuracies than 1e-18 don't usually produce better results as the accuracy is then limited by other influences. Default is 1e-18.
Example
E_TARGET = 1e-15
Description
Defines the order of the interpolation of body positions. Default and recommended is "5". "2" works well if a particle doesn't come close to any planet.
Valid values
Value | Algorithm |
---|---|
0 | No interpolation |
2 | Second order interpolation using three positions |
5 | Fifth order interpolation using three positions and three speeds |
Example
IORDER = 5