GSoC 2014: Julian - Update 5
Progress since last update:
Tests showed that the performance of the RK7(6) integrator was severely impated by a low quality of the interpolation of bodies in cases were particles came close to planets.
A 5th order interpolation algorithm was therefore implemented to replace the 2nd order interpolation that was done before for most purposes. It uses both the positions and the speed vectors of three states now to calculate the positions at the intermediate Runge-Kutta steps.
The step saving algorithm had to be rewritten to give more control over the amount by which the number of saved steps increases. A maximum was added to avoid the creation of unnessecary amounts of saved and returned data.
It can now be easily configured in the .ini file.
The interpolation algorithm added another two functions that can be chosen to get planetary positions, increasing the total to five. To avoid the limitations of function pointers, a separate function was therefore written to select between these functions depending on the requirements of the integrator and the interpolation algorithm.
A basic setup to read command line options was added. it is currently only used for testing purposes when the application is called from inside MATLAB.
Linux builds are now using static linking for all libraries to avoid problems with missing or old libraries on some systems.
Counting the integration steps is now done in the same way in both integration algorithms to avoid confusion and reduce the probability that bugs are introduced.