Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] adlz_v1_0.gz(5 Kbytes)
Manuscript Title: High-order symplectic integration: an assessment.
Authors: Ch. Schlier, A. Seiter
Program title: testsymp
Catalogue identifier: ADLZ_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 130(2000)176
Programming language: Fortran.
Computer: PC with Pentium II, PC with Xeon processor, IBM RS/6000.
Operating system: Windows NT4, AIX 4.2.
RAM: 1M words
Keywords: General purpose, Ordinary differential equations, Numerical integration, Hamiltonian dynamics, Symplectic dynamics, Classical trajectories.
Classification: 4.3.

Nature of problem:
Numerical integration of Hamiltonian systems, mainly in classical mechanics.

Solution method:
The reference paper assesses the numerical integration of ODEs with symplectic integrators of order 6 and 8, which are documented in the program. The system must be Hamiltonian (symplectic), and the kinetic energy must either be a quadratic form of the momenta, or - for one of the integrators - at least be separable from the potential. The centre of this documentation is module coefficients, containing the coefficients of five different integrators with 35 places, sufficient for quadruple precision (QP) calculations. Subroutine algo12 is an example of an integrating routine using these coefficients, and program testsymp a simple driver, computing one cycle of a harmonic oscillator. Module coordinates are used by all others.

Set by the available computer time and/or the word length of computer.

Unusual features:
Probably the best known integrators for long trajectories in Hamiltonian dynamics, if the goal is high accuracy.

Running time:
For interesting applications the running time will be completely determined by the time needed to compute the right hand sides ("forces") of the ODEs. For the simple problem of the one dimensional harmonic oscillator shown in the driver, the program needs ~3 mus per full step in DP, and ~120 mus in QP on a 350 MHz Pentium II, using Lahey Fortran 95, V.5, with optimization, and 19.1 mus (4.7 mus) in QP (DP) on a 160 MHz IBM RS/6000 Model 397 using xlf90 with optimization. Note that the running time will depend very much on the amount of cache available for the routines computing the right hand sides.