Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
NAMD2: greater scalability for parallel molecular dynamics
Journal of Computational Physics - Special issue on computational molecular biophysics
ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics
ACM Transactions on Mathematical Software (TOMS)
Multi-model simulations of chicken limb morphogenesis
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartIII
ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
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.