To get OpenMD up and running, there are some required (and optional) software packages you should have to create a functioning build environment:
On a Mac (OS X 10.5 or greater)
- Install Xcode
- Install MacPorts
- Open a Terminal window, and update your MacPorts installation to the latest portfiles:
sudo /opt/local/bin/port -v selfupdate sudo /opt/local/bin/port -d sync
- Install the relevant prerequisite packages:
sudo /opt/local/bin/port install subversion cmake openbabel qhull zlib fftw-3 openmpi
You can go have lunch or coffee while these are being built and installed.
- Install some optional software if you want to use and interact with the data produced by OpenMD:
sudo /opt/local/bin/port install jmol xmgr grace py-numpy
- Install some optional software if you want to develop or add to OpenMD:
sudo /opt/local/bin/port install antlr gengetopt
- Use yum, apt-get, or the package manager in your favorite distribution to install the following packages and all of their prerequisites. Package names depend on the Linux variant, so in Fedora (and Red Hat) the package names are:
fftw fftw-devel gcc gcc-c++ cmake openbabel openbabel-devel openmpi openmpi-devel perl qhull qhull-devel subversion zlib zlib-devel
In Ubuntu (and probably other Debian-based versions), the packages are:
fftw3 fftw3-dev gcc g++ cmake openbabel libopenbabel-dev openmpi-bin libopenmpi-dev perl qhull-bin libqhull-dev subversion zlib-bin zlib1g-dev
- Install some optional packages if you want to use and interact with the data produced by OpenMD:
jmol grace python-numeric
- Install some optional software if you want to developor add to OpenMD:
You’re largely on your own here. CMake will generate a working build of OpenMD 2.2 in Windows with the Visual Studio 2010 C++ compiler, but we don’t routinely test the code on this operating system. One alternative is to use cygwin:
- You can use cygwin to get a lot of the relevant packages installed on a windows machine. One suggestion is to follow the Cygwin Installation How-To guide
- Refer to the list of packages for linux above to get the correct packages installed
Building from source
If you are building all of the prerequisites from source, you’ll need (in addition to a C++ compiler):
- CMake – This cross-platform build system is required for building OpenMD. You need to install CMake 2.6 or newer. This is available as a binary package from the KitWare website; alternatively, it may be available through your package manager (on Linux). If necessary, you can also compile it yourself from the source code.
- perl and python – interpreted scripting languages that some of the OpenMD utilities use to parse and process data files.
You probably already have these.
- Open MPI – A very good implementation of the MPI-2 specification for parallel computing.
- qhull – A computational geometry toolbox for computing convex hulls and Delaunay triangulations. qhull is required for the LangevinHull integrator and for any of the tools that compute the Hull atoms or hull volumes of nanoparticles and clusters.
- openbabel – a chemical toolbox for converting between different data formats. This is required for building the atom2md program which helps prepare initial “metadata” or md files for simulations.
- fftw – a library for computing discrete Fourier transforms. This is required for surface undulation spectra (Hxy in staticProps). Get version 3.
- zlib – required to support reading compressed trajectory files.
You’ll also likely want to download and compile the following useful tools for interacting with the data:
If you are going to be extending or developing OpenMD, you’ll need the following tool: