title: Framework-based design of a new all-purpose molecular simulation application: the Adun simulator.
abstract: Here we present Adun, a new molecular simulator that represents a paradigm shift in the way scientific programs are developed. The traditional algorithm centric methods of scientific programming can lead to major maintainability and productivity problems when developing large complex programs. These problems have long been recognized by computer scientists; however, the ideas and techniques developed to deal with them have not achieved widespread adoption in the scientific community. Adun is the result of the application of these ideas, including pervasive polymorphism, evolutionary frameworks, and refactoring, to the molecular simulation domain. The simulator itself is underpinned by the Adun Framework, which separates the structure of the program from any underlying algorithms, thus giving a completely reusable design. The aims are twofold. The first is to provide a platform for rapid development and implementation of different simulation types and algorithms. The second is to decrease the learning barrier for new developers by providing a rigorous and well-defined structure. We present some examples on the use of Adun by performing simple free-energy simulations for the adiabatic charging of a single ion, using both free-energy perturbation and the Bennett's method. We also illustrate the power of the design by detailing the ease with which ASEP/MD, an elaborated mean field QM/MM method originally written in FORTRAN 90, was implemented into Adun.
authors.affiliation: Computational Biochemistry and Biophysics Laboratory, Research Group on Biomedical Informatics (GRIB), Institut Municipal d'Investigació Mèdica and Universitat Pompeu Fabra, C/Doctor Aiguader, 80 08003 Barcelona, Catalunya, Spain.
authors.forename: Michael A
authors.initials: MA
authors.lastname: Johnston
authors.forename: Ignacio Fdez
authors.initials: IF
authors.lastname: Galván
authors.forename: Jordi
authors.initials: J
authors.lastname: Villà-Freixa
mesh_terms: D000465:Algorithms; D003198:Computer Simulation; D004867:Equipment Design; D008956:Models, Chemical; D012984:Software