Archive for January, 2010

OpenMD version 1.0.1

We are pleased to announce the release of OpenMD version 1.0.1 This version is largely a bugfix release, and is recommended for all users of OpenMD.  New things include:

  • Fixed the install procedures in the samples  and forceField directories.
  • Fixed Restraints, RestReader and RestWriter so that they work in parallel simulations.
  • Added a few new keywords to control how the constant-pressure hull method is invoked.
  • Added include lines for compatibility with gcc 4.4

Building and Installing OpenMD

We’re going to assume here that you have already built and installed all of the prerequisites. If you haven’t done that, go install all of the required stuff and come back. We’ll wait.

OK, now that you’ve got all the stuff you need, we’ll branch to the same three architectures and give the instructions separately:

On a Mac (OS X 10.5 or greater)

  1. Download the latest release of the OpenMD:
    curl -o openmd-1.1.1.tar.gz http://openmd.net/releases/openmd-1.1.1.tar.gz
  2. Unpack the file:
    tar -zxvf openmd-1.1.1.tar.gz
  3. Change into the OpenMD directory:
    cd openmd-1.1.1
  4. Set the compiler variables to your preferred compilers:
    export CC=/opt/local/bin/openmpicc
    export CXX=/opt/local/bin/openmpic++
    export FC=/opt/local/bin/openmpif90
    export MPICC=$CC
    export MPICXX=$CXX
    export MPIFC=$FC

    All of the previous lines assume you are using /bin/sh or /bin/bash as your shell. If you are a csh/tcsh person, those environment variable lines will look like this:

    setenv CC /opt/local/bin/openmpicc
    setenv CXX /opt/local/bin/openmpic++
    setenv FC /opt/local/bin/openmpif90
    setenv MPICC $CC
    setenv MPICXX $CXX
    setenv MPIFC $FC
  5. Run the configure script with all of the arguments set to point to the correct locations for the optional software:
    ./configure --with-openbabel=/opt/local --with-qhull=/opt/local \
    --with-fftw=/opt/local --prefix=/opt/local
  6. Make OpenMD:
    make

    (This would be a good time to grab coffee. Perhaps lunch. Or maybe a quick trip to the pub would be in order.)

  7. Install OpenMD:
    sudo make install
  8. That’s it! When these steps are complete, OpenMD has been installed in the directory /opt/local/openmd. All of the programs are installed in the bin subdirectory, and samples are in the samples subdirectory, and required data files are in the forceFields directory.

On Linux

  1. Download the latest release of the OpenMD:
    curl -o openmd-1.1.1.tar.gz http://openmd.net/releases/openmd-1.1.1.tar.gz
  2. Unpack the file:
    tar -zxvf openmd-1.1.1.tar.gz
  3. Change into the OpenMD directory:
    cd openmd-1.1.1
  4. Set the compiler variables to your preferred compilers:
    export CC=/usr/bin/openmpicc
    export CXX=/usr/bin/openmpic++
    export FC=/usr/bin/openmpif90
    export MPICC=$CC
    export MPICXX=$CXX
    export MPIFC=$FC

    All of the previous lines assume you are using /bin/sh or /bin/bash as your shell. If you are a csh/tcsh person, those environment variable lines will look like this:

    setenv CC /usr/bin/openmpicc
    setenv CXX /usr/bin/openmpic++
    setenv FC /usr/bin/openmpif90
    setenv MPICC $CC
    setenv MPICXX $CXX
    setenv MPIFC $FC
  5. Run the configure script with all of the arguments set to point to the correct locations for the optional software:
    ./configure --with-openbabel=/usr --with-qhull=/usr \
    --with-fftw=/usr --prefix=/opt/local
  6. Make OpenMD:
    make

    (This would be a good time to grab coffee. Perhaps lunch. Or maybe a quick trip to the pub would be in order.)

  7. Install OpenMD:
    sudo make install
  8. That’s it! When these steps are complete, OpenMD has been installed in the directory /opt/local/openmd. All of the programs are installed in the bin subdirectory, and samples are in the samples subdirectory, and required data files are in the forceFields directory.

On Windows

You’re largely on your own here, because we don’t have a windows machine on which to test OpenMD, but if you have cygwin installed, it should be quite similar build instructions to Linux.

OpenMD version 1.0

We are pleased to announce the release of OpenMD version 1.0. This version is a substantial rewrite and includes many new features relative to our old code (OOPSE):

  • A new MD (meta-data) input file format
  • Amber force field and numerous other changes to aid in protein simulation
  • New Hydrodynamics code to allow Langevin simulation of rigid bodies of arbitrary shapes (this is particularly useful for coarse-grained simulations)
  • New electrostatics code including the efficient damped-shifted-force method
  • A new Langevin Hull constant pressure algorithm

Installing OpenMD prerequisites

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)

  1. Install Xcode (either download it or find it on your Mac OS X Install DVD in the “Optional Installs” directory).
  2. Install MacPorts
  3. 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
  4. Install the relevant prerequisite packages:
    sudo /opt/local/bin/port install subversion openbabel qhull zlib fftw-3
    sudo /opt/local/bin/port install openmpi +gcc43

    You can go have lunch or coffee while these are being built and installed. The last command installs the parallel libraries as well as a recent copy of gfortran.  If you don’t install openmpi from MacPorts, you will need to install another package which provides a Fortran95 compiler.  We suggest the gcc43 package in that case.

  5. 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 py26-numeric
  6. Install some optional software if you want to develop or add to OpenMD:
    sudo /opt/local/bin/port install antlr autoconf

On Linux

  1. 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++
    gcc-gfortran
    make
    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++
    gfortran
    make
    openbabel
    libopenbabel-dev
    openmpi-bin
    libopenmpi-dev
    perl
    qhull-bin
    libqhull-dev
    subversion
    zlib-bin
    zlib1g-dev
  2. Install some optional packages if you want to use and interact with the data produced by OpenMD:
    jmol
    grace
    python-numeric
  3. Install some optional software if you want to develop or add to OpenMD:
    antlr
    autoconf

On Windows

You’re largely on your own here, because we don’t have a windows machine on which to test OpenMD.

  1. 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
  2. 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 C, C++, and Fortran95 compilers):

  1. make – The GNU variant of make is required for building OpenMD.
  2. perl – You probably already have this.
  3. Open MPI – A very good implementation of the MPI-2 specification for parallel computing.
  4. qhull – A computational geometry toolbox for computing convex hulls and Delaunay triangulations
  5. openbabel – a chemical toolbox for converting between different data formats
  6. fftw – a library for computing discrete Fourier transforms.  Get version 3.

You’ll also likely want to download and compile the following useful tools for interacting with the data:

  1. Jmol
  2. xmgr
  3. grace
  4. NumPy
  5. vmd

If you are going to be extending or developing OpenMD, you’ll need the following tools:

  1. antlr – our tool for parsing meta-data files.  You’ll want version 2, not 3.
  2. autoconf – for generating the configure scripts

Tags: , , ,