  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
hardwares, 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.
