orbsi.uk

simulator menu

Simulator: technical details

Data for each individual simulation is stored in an XML file. An ultra-simple attribute-free form of XML is used, to maximise user readability and editability.

The simulator automatically calculates an optimum scale, an optimum integration time-step, and an optimum display speed, for each individual simulation. Also the simulator automatically balances the momentum of each simulation, so that the centre of mass of the system remains fixed at co-ordinate (0,0,0).

The numerical integrator uses the Leapfrog method with very small fixed time-step.
This method has these important qualities, it is:
second-order,
time-reversible,
symplectic,
accurate.

The simulator is currently configured to perform at least 100 complete integration time-steps of all the bodies, between each two successive plots to the display. In other words, the gap between two successive plots of a body's trail, corresponds to 100 complete integration steps.

A turbo mode can be configured, so that a far greater quantity of integration steps is performed per graphics plot. This is with absolutely no dimunition of accuracy.

For example in simulation 00054, in turbo mode, the simulator numerically integrates the "three dimensional unrestricted three body problem" at a computation rate of approximately 690000 (6.9E5) complete integration time-steps of the entire system per second. (This rate was measured on an ordinary desktop computer with AMD A6-3500 2.1GHz tri-core CPU).

An API is provided, so that the simulator can display simulations written by users. The API has two submission routes: one for simulation XML files stored on a user's computer, and one for simulation XML files published on a user's website.

The graphics display uses two cospatial HTML5 Canvas objects.

Client-side programming uses Javascript, XMLDOM, and HTML5.

Server-side programming uses PHP, XMLDOM, and XMLSchema.

simulator menu