Skip to content

MERCURIUS

MERCURIUS is a hybrid symplectic integrator very similar to MERCURY by Chambers (1999). It uses WHFast for long term integrations but switches over smoothly to IAS15 for close encounters. The MERCURIUS implementation is described in Rein et al (2019).

Attributes

r_crit_hill (double)

The critical switchover radii of particles are calculated automatically based on multiple criteria. One criterion calculates the Hill radius of particles and then multiplies it with the r_crit_hill parameter. The parameter is in units of the Hill radius. The default value is 3.

safe_mode (uint)

If this flag is set to 1 (the default), the integrator will recalculate heliocentric coordinates and synchronize after every timestep to avoid problems with outputs or particle modifications between timesteps. Setting this flag to 0 will result in a speedup, but care must be taken to synchronize and recalculate coordinates manually if needed.

L (void*)

This is a function pointer to the force switching function. By default the MERCURY switching function will be used. The argument d is the distance between two particles. The argument dcrit is the maximum of the critical distances of the two particles. The return value is a scalar between 0 and 1. If this function always returns 1, then the integrator effectively becomes the standard Wisdom-Holman integrator.