DPDmacs - fast coarse-grained simulations



For further information about this program, please contact Michael Patra or Mikko Karttunen.
DPDmacs is free software, licensed under the GNU General Public License. In short you can modify and redistribute the code as long as your version is also licensed under the GPL.

Contributions are welcomed, and we will post them here at this web site.

DPDmacs is a high-speed code for coarse-grained molecular dynamics simulations running exclusively on computers that have the SSE and SSE2 extensions. In practise, this means you need to either have a Pentium-4 or an AMD64 (Athlon64 or Opteron). DPDmacs was developed under Linux, it runs in both 32 and 64 bit mode, but it should compile and run also under other operating systems without problems.

The main difference between traditional atomistic MD simulations and coarse-grained simulations, such as dissipative particle dynamics (DPD), as implemented in DPDmacs, is that in each integration time step, all particles move significantly. The main computational work thus moves away from the innerloops to building the neighbour list. The choice and implementation of all algorithms was optimised using extensive benchmarking.

DPDmacs is very fast:

The entire DPDmacs code operates entirely using SSE data types, thereby being able to process an entire coordinate triple simultaneously. A significant part of its speed advantage stems from this. Trying to port DPDmacs to a different cpu thus is kind of pointless...

Benchmarks are downloadable from below.

Compatibility with Gromacs:

DPDmacs is input and output file compatible with the Gromacs suite of atomistic molecular dynamics software. This includes the formats of textual (.top) and binary (.tpr) topology files. This means that Gromacs users can learn to use DPDmacs with minimal effort, and the entire Gromacs collection of analysis programs can be used directly.

DPDmacs needs a C compiler that supports SSE and SSE2 intrinsics, and that is able to do typecasting between data types __m128 and __m128d. At the moments, there seem to be only two compilers available that fulfil these requirements:

Download: Limitations:
  1. Currently, only the Andersen thermostat is implemented. The Lowe-Andersen thermostat will follow shortly. Update (Sep. 2007): Lowe-Andersen has been implemented as well as the Shardlow S1 integrator for DPD simulations. The full code conatining those two new features will be available shortly.

  2. Electrostatics might follow in a later release. Short-range electrostatics are easily implemented as the code is already adapted to this. Long-range electrostatics is also straight-forward but it reduces the speed to an extent that it is questionable whether a DPD simulation is still worthwhile.