PROTOMOL: A Molecular Dynamics Research Framework for Algorithmic Development

This paper describes the design and evaluation of ProtoMol, a high performance object-oriented software framework for molecular dynamics (MD). The main objective of the framework is to provide an efficient implementation that is extensible and allows the prototyping of novel algorithms. This is achieved through a combination of generic and object-oriented programming techniques and a domain specific language. The program reuses design patterns without sacrificing performance. Parallelization using MPI is allowed in an incremental fashion. To show the flexibility of the design, several fast electrostatics (N-body) methods have been implemented and tested in ProtoMol. In particular, we show that an O(N) multi-grid method for N-body problems is faster than particle-mesh Ewald (PME) for N > 8,000. The method works in periodic and nonperiodic boundary conditions. Good parallel efficiency of the multi-grid method is demonstrated on an IBM p690 Regatta Turbo with up to 20 processors for systems with N = 102, 104 and 106. Binaries and source code are available free of charge at http://www.nd.edu/~lcls/protomol.

[1]  Jesús A. Izaguirre,et al.  Targeted Mollified Impulse: A Multiscale Stochastic Integrator for Long Molecular Dynamics Simulations , 2003, Multiscale Model. Simul..

[2]  T. Darden,et al.  A smooth particle mesh Ewald method , 1995 .

[3]  M Drewsen,et al.  Coulomb bicrystals of species with identical charge-to-mass ratios. , 2003, Physical review letters.

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[5]  Hasse,et al.  Structure and Madelung energy of spherical Coulomb crystals. , 1991, Physical review. A, Atomic, molecular, and optical physics.

[6]  Laxmikant V. Kale,et al.  NAMD2: Greater Scalability for Parallel Molecular Dynamics , 1999 .

[7]  Scott S. Hampton Linearly scalable hybrid Monte Carlo method for conformational sampling of large biomolecules , 2003 .

[8]  Andrei Alexandrescu,et al.  Modern C++ design: generic programming and design patterns applied , 2001 .

[9]  Jesús A. Izaguirre,et al.  Multi-model Simulations of Chicken Limb Morphogenesis , 2003, International Conference on Computational Science.

[10]  Thierry Matthey,et al.  ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics , 2004, TOMS.

[11]  Jesús A. Izaguirre,et al.  An impulse integrator for Langevin dynamics , 2002 .

[12]  A. Ko,et al.  MDSimAid : AN AUTOMATIC RECOMMENDER FOR OPTIMIZATION OF FAST ELECTROSTATIC ALGORITHMS FOR MOLECULAR SIMULATIONS , 2002 .

[13]  Thierry Matthey,et al.  Framework Design, Parallelization and Force Computation in Molecular Dynamics , 2002 .

[14]  R. Skeel,et al.  Langevin stabilization of molecular dynamics , 2001 .

[15]  Thierry Matthey,et al.  Overcoming Instabilities in Verlet-I/r-RESPA with the Mollified Impulse Method , 2002 .

[16]  Thierry Matthey,et al.  ProtoMol: A Molecular Dynamics Framework with Incremental Parallelization , 2001, PPSC.

[17]  H. G. Petersen Accuracy and efficiency of the particle mesh Ewald method , 1995 .

[18]  K. Binder,et al.  Multiscale Computational Methods in Chemistry and Physics , 2000 .

[19]  Robert D. Skeel,et al.  Multiple grid methods for classical molecular dynamics , 2002, J. Comput. Chem..

[20]  P. P. Ewald Die Berechnung optischer und elektrostatischer Gitterpotentiale , 1921 .