-
Notifications
You must be signed in to change notification settings - Fork 5
ParticleIntegrator: CMake Options
Some settings are handled through CMake options before compilation instead of being set by the configuration. This has the benefit that the code can be optimized based on the options. For example, if a certain effect like Poynting-Robertson drag is not needed, then the associated formulae do not need to be computed.
All of these options are defined in CMakeLists.txt
where all other setup of the build environment is performed.
Here is a list and short explanation of the options available there:
This option, disabled by default, measures the time it takes to compute all the particles (excluding the time for converting the output to binary format) and prints it out into the command window. It also removes the file containing all the particle numbers that have been computed already so that during testing, you don't have to delete this file before running the application again.
This prints a summary of the integration steps and step sizes into the command window after every particle and is useful for debugging and testing. It is also disabled by default because it produces a lot of output.
This enables the simulation of the Poynting-Robertson Drag. It is active by default since this effect can be significant.
This enables the simulation of the solar wind drag. It is active by default since this effect can be significant and computing it takes almost no additional time if PRD is enabled.
This enables the simulation of the effects of general relativity. It is active by default since this effect can be significant.
This parameter, enabled by default, increases the number of steps that are saved when a particle comes close to a planet. This helps if the results are later interpolated using kepler orbits that ignore planets. More precise adjustments can be done through the configuration.
This, disabled by default, should link all libraries statically. It only works if cspice is also compiled with this flag (which it isn't by default) and can be a bit tricky. In most cases, rather than using this option, simply make sure that you have the Visual C++ Redistributable Packages for Visual Studio 2013 installed if you compile with VS 2013.
See also: Statically linked libraries
This just runs _CrtDumpMemoryLeaks();
once at the end of the main functions and includes the libraries that are necessary. It is disabled by default.