Enhancing sampling and analyzing simulations are central issues in molecular simulation. Recently, we introduced PLUMED, an open-source plug-in that provides some of the most popular molecular dynamics (MD) codes with implementations of a variety of different enhanced sampling algorithms and collective variables (CVs). The rapid changes in this field, in particular new directions in enhanced sampling and dimensionality reduction together with new hardware, require a code that is more flexible and more efficient. We therefore present PLUMED 2 here—a complete rewrite of the code in an object-oriented programming language (C++). This new version introduces greater flexibility and greater modularity, which both extends its core capabilities and makes it far easier to add new methods and CVs. It also has a simpler interface with the MD engines and provides a single software library containing both tools and core facilities. Ultimately, the new code better serves the ever-growing community of users and contributors in coping with the new challenges arising in the field. Program summaryProgram title: PLUMED 2Catalogue identifier: AEEE_v2_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEEE_v2_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: YesNo. of lines in distributed program, including test data, etc.: 700646No. of bytes in distributed program, including test data, etc.: 6618136Distribution format: tar.gzProgramming language: ANSI-C++.Computer: Any computer capable of running an executable produced by a C++ compiler.Operating system: Linux operating system, Unix OSs.Has the code been vectorized or parallelized?: Yes, parallelized using MPI.RAM: Depends on the number of atoms, the method chosen and the collective variables used.Classification: 3, 7.7, 23.Catalogue identifier of previous version: AEEE_v1_0.Journal reference of previous version: Comput. Phys. Comm. 180 (2009) 1961.External routines: GNU libmatheval, Lapack, Blas, MPI.Does the new version supersede the previous version?: This version supersedes the previous version for the most part. There are a small number of very specific situations where the previous version is better, due to performance or to non-ported features. We are actively working on porting these last few features into the new code.Nature of problem:Calculation of free-energy surfaces for molecular systems of interest in biology, chemistry and materials science, on the fly and a posteriori analysis of molecular dynamics trajectories using advanced collective variables.Solution method:Implementations of various collective variables and enhanced sampling techniques.Reasons for new version:The old version was difficult to maintain and its design was not as flexible as this new version. This lack of flexibility made it difficult to implement a number of novel methods that have emerged since the release of the original code.Summary of revisions:The new version of the code has a completely redesigned architecture, which allows for several important enhancements. This allows for a much simpler and robust input syntax and for improved performance. In addition, it provides several, more-complex collective variables which could not have been written using the previous implementation. Furthermore, the entire code is fully documented so it is easier to extend. Finally, the code is designed so that users can implement new variables directly in the input files and thus develop bespoke applications of these powerful algorithms.Unusual features:PLUMED 2 can be used either as a standalone program, e.g. for a posteriori analysis of trajectories, or as a library embedded in a molecular dynamics code (such as GROMACS, NAMD, Quantum ESPRESSO, and LAMMPS). Interfaces with these particular codes are provided in patches, which a simple script will insert into the underlying molecular dynamics codes source code files. For other molecular dynamics codes there is extensive documentation on how to add PLUMED in our manual.Additional comments:The distribution file contains a test suite, user and developer documentation and a collection of patches and utilities.Running time:Depends on the number of atoms, the method chosen and the collective variables used. The regression test suite provided takes approximately 1 min to run.
Read full abstract