ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics
Document Type
Article
Publication Date
9-1-2004
Abstract
PROTOMOL is a high-performance framework in C++ for rapid prototyping of novel algorithms for molecular dynamics and related applications. Its flexibility is achieved primarily through the use of inheritance and design patterns (object-oriented programming). Performance is obtained by using templates that enable generation of efficient code for sections critical to performance (generic programming). The framework encapsulates important optimizations that can be used by developers, such as parallelism in the force computation. Its design is based on domain analysis of numerical integrators for molecular dynamics (MD) and of fast solvers for the force computation, particularly due to electrostatic interactions. Several new and efficient algorithms are implemented in PROTOMOL. Finally, it is shown that PROTOMOL'S sequential performance is excellent when compared to a leading MD program, and that it scales well for moderate number of processors. Binaries and source codes for Windows, Linux, Solaris, IRIX, HP-UX, and AIX platforms are available under open source license at http://protomol.sourceforge.net.
Identifier
8344261362 (Scopus)
Publication Title
ACM Transactions on Mathematical Software
External Full Text Location
https://doi.org/10.1145/1024074.1024075
ISSN
00983500
First Page
237
Last Page
265
Issue
3
Volume
30
Recommended Citation
Matthey, Thierry; Cickovski, Trevor; Hampton, Scott; Ko, Alice; Ma, Qun; Nyerges, Matthew; Raeder, Troy; Slabach, Thomas; and Izaguirre, Jesús A., "ProtoMol, an object-oriented framework for prototyping novel algorithms for molecular dynamics" (2004). Faculty Publications. 20251.
https://digitalcommons.njit.edu/fac_pubs/20251
