Open Source Software for Microscopic Calculations
Motivation and Scientific background
The advent of rapid means of exchange of software, has helped the
spread of so called Open Source
software, generally distributed under the GNU licensing scheme.
While extremely effective in the computer science community (e.g. the
Linux kernel development), and bioinformatics (report),
this scheme is still not very common in the field of "atomic and
molecular simulations". Nevertheless, some teams have recently started
such atomic or molecular simulation open source projects:
Software published under the GNU license
- ABINIT, a software project based on Density Functional Theory,
http://www.abinit.org
- MMTK, Molecular Modelling ToolKit,
http://dirac.cnrs-orleans.fr/MMTK/
- CAMPOS, from Density Functional to Quasi-Continuum simulation through
Molecular Dynamics,
http://www.fysik.dtu.dk/CAMP/CAMPOS_welcome.html
- Different softwares can be accessed from
http://www.ibs.fr/ext/labos/LDM/welcome_en.htm
- FFTW, the Fastest Fourier Transform in the West,
http://www.fftw.org
- CP2K, Car-Parrinello 2000, unified Molecular Dynamics Density Functional Theory,
http://cp2k.berlios.de
- PWSCF and PHONON, Density-Functional Theory and Linear Response,
http://www.pwscf.org
- Gerhard Theurich's C++ DFT code,
http://www.mrl.ucsb.edu/~theurich/Spinor
- Alessandro Laio's QM/MM code,
http://rgac2.ethz.ch/laio
- ROBODOC, http://www.xs4all.nl/~rfsber/Robo/robodoc.html
- GROMACS, molecular dynamics, http://www.gromacs.org
- PyMOL, a molecular visualization package aimed at biomolecular systems,
http://pymol.sourceforge.net
The open source concept allows synergetic effects:
- easier international collaborative work
- easier cross-comparison between softwares
- feed-back from users (having access to sources), e.g. bug fixes
On June 21-22, 2001, two of us organized a CECAM discussion meeting on
the theme of open source softwares. During this small meeting, we had
extremely lively discussions, summarized in the corresponding CECAM
report. Beyond the nominal theme of the meeting, many discussions
evolved around recent developments in computer sciences, that have not
(or little) been used by the atomic and molecular simulation field.
In particular, it was felt that some software projects in atomic and
molecular simulations became so big that it is essential to use
modern software engineering concepts, such as:
- libraries for handling files (HDF and NETCDF) in view
of sharing and comparison of routines and codes
- reusability of sources
- self-documentation of codes
- combination of extension and compute-intensive languages (e.g. Python+C)
- high-level graphics libraries
- installation and maintenance tools (autoconf, automake, CVS)
- self-testing of code
These concepts are often discussed in a magazine like "Computers in
Science and Engineering", that has a large diffusion.
We consider it important that the developpers in our community learn
about these techniques, instead of sticking to a software development
style that dates from the seventies.
The motivation for this workshop is twofold:
- to gather people interested in sharing their code,
following the GNU spirit, and to try to establish
standards that will allow them to exchange data files
as well as routines
- to establish contacts with the community of
computer scientists who develop software tools that
might be profitable to the atomic and molecular simulation community.