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] aeyl_v1_0.tar.gz(1127 Kbytes)
Manuscript Title: Bill2d - A software package for classical two-dimensional Hamiltonian systems
Authors: J. Solanpää, P.J.J. Luukko, E. Räsänen
Program title: Bill2d
Catalogue identifier: AEYL_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 199(2016)133
Programming language: C++(14).
Computer: Tested on x86 and x86 64 architectures.
Operating system: Tested on Linux, and OS X versions 10.9 and 10.10.
Has the code been vectorised or parallelized?: Shared memory parallelization when simulating ensembles of systems.
RAM: Simulation dependent: kilobytes to gigabytes
Keywords: Classical mechanics, billiards, nonlinear dynamics, chaos, transport, diffusion, numerical simulations, molecular dynamics.
PACS: 02.70.Ns, 05.40.Fb, 05.45.Ac, 5.45.Jn, 05.45.Pq, 05.60.Cd.
Classification: 4.3, 7.8, 7.9, 7.10, 16.9.

External routines: Boost, CMake, GSL, HDF5; and optionally Google-Mock, GoogleTest, and Doxygen

Nature of problem:
Numerical propagation of classical two-dimensional single and many-body systems, possibly in a magnetic field, and calculation of relevant quantities such as Poincaré sections, survival probabilities, diffusion co-efficients, etc.

Solution method:
Symplectic numerical integration of Hamilton's equations of motion in Cartesian coordinates, or solution of Newton's equations of motion if in a magnetic field. The program implements several well-established algorithms.

Restrictions:
Pointlike particles with equal masses and charges, although the latter restrictions are easy to lift.

Unusual features:
Program is efficient, extremely modular and easy to extend, and allows arbitrary particle-particle interactions.

Additional comments:
The source code is also available at https://bitbucket.org/solanpaa/bill2d. See README for locations of user guide, developer manual, and API docs.

Running time:
From milliseconds to days, depends on type of simulation.