\documentclass[12pt,a4paper]{article} \def\qe{{\sc Quantum ESPRESSO}} \usepackage{amssymb} \usepackage{graphicx} \usepackage{hyperref} \usepackage{amsmath} \pagestyle{plain} \textwidth = 15.5 cm \textheight = 23.5 cm \topmargin =-1.0 cm \oddsidemargin = 0.5 cm \listparindent=0pt \itemsep=5pt \begin{document} \title{Quick reference guide on \texttt{PLUMED} with \qe} \author{{\em Changru Ma}\\ SISSA, Trieste\\ } \date{March 30, 2011} \maketitle \tableofcontents \newpage \section{Introduction} \texttt{PLUMED}\cite{Bonomi:2009ul} is a plugin for free energy calculation in molecular systems which works together with some of the most popular molecular dynamics engines, including classical (GROMACS, NAMD, DL\_POLY, AMBER and LAMMPS), GPU-accelerated (ACEMD) and ab-initio (\qe) codes. Free energy calculations can be performed as a function of many order parameters with a particular focus on biological problems using state of the art methods such as metadynamics\cite{Laio:2008wu}, umbrella sampling and Jarzynski-equation based steered MD. The software, written in ANSI-C language, can be easily interfaced with both fortran and C/C++ codes. The \texttt{PLUMED} user guide can be downloaded here \href{https://sites.google.com/site/plumedweb/documentation}{https://sites.google.com/site/plumedweb/documentation} and \texttt{PLUMED} tutorial can be found here \href{http://sites.google.com/site/plumedtutorial2010/}{http://sites.google.com/site/plumedtutorial2010/}. \\ {\bf All the features in \texttt{PLUMED} are compatible with \qe\ but:} \begin{itemize} \item variable cell calculations \item non-orthorhombic cell \item energy related collective variables \end{itemize} \subsection{Overview} A system described by a set of coordinates $x$ and a potential $V(x)$ evolving under the action of a dynamics whose equilibrium distribution is canonical at a temperature $T$. We explore the properties of the system as a function of a finite number of CVs $S_{\alpha}(x), ~\alpha ~= ~1, ~d$. The equilibrium behavior of these variables is defined by the probability distribution \begin{equation} P(s)~=~\frac{exp(-(1/T)F(s))}{\int{ds~exp(-(1/T)F(s))}} \label{EQ_prob} \end{equation} where $s$ denotes the d dimensional vector $(s_{1},..., ~s_{d})$ and the free energy is given by \begin{equation} F(s) ~= ~T ~ln(\int{dx ~exp(-\frac{1}{T}V(x))} ~\delta(s-S(x))) \label{EQ_free_energy} \end{equation} Here capital $S$ is used for denoting the function of the coordinates $S(x)$, while lower case s is used for denoting the value of the CVs. In metadynamics the free energy is reconstructed recursively, starting from the bottom of the well by a history-dependent random walk that explores a larger and larger portion of configuration space. A small repulsive Gaussian potential is added every $\tau_{G}$ MD steps. The external ('metadynamics') potential acting on the system at time $t$ is given by \begin{equation} V_{G}(S(x), ~t) ~= ~\omega ~\sum_{\substack{t' ~= ~\tau_{G}, ~2\tau_{G},...\\t' pw.out \end{verbatim} for Car-Parrinello Molecular Dynamics, \begin{verbatim} cp.x -plumed < cp.in > cp.out \end{verbatim} \subsection{Units in the input and output files} There are several output files for the simulation with \texttt{PLUMED}, e.g. \texttt{PLUMED.OUT}, \texttt{COLVAR} and \texttt{HILLS}. All the units in the input and output files for \texttt{PLUMED} adopt the internal units of the main code, say Rydberg atomic units in \texttt{pw.x} and Hartree atomic units in \texttt{cp.x}. But there are two exceptions, for distance it is always Bohr and for energy it is always Rydberg. \subsection{Postprocessing} There is a \texttt{sum\_hills.f90} code (in espresso/PLUMED/utilities/sum\_hills/) performing post-processing task to estimate the free energy after a metadynamics run. The program \texttt{sum\_hills.f90} is a tool for summing up the Gaussians laid during the metadynamics trajectory and obtaining the free energy surface. As \texttt{sum\_hills.f90} is a simple fortran 90 program, the installation is straight- forward so long as you have a fortran compiler available on your machine. As an example, with the gnu g95 compiler one would compile sum hills.f90 using the following command: \begin{verbatim} g95 -O3 sum_hills.f90 serial.f90 -o sum_hills.x \end{verbatim} For post processing of large HILLS files it is recommended to use a parallel version. The \texttt{sum\_hills.x} program takes its input parameters from the command line. If run without options, this brief summary of options is printed out. Detail descriptions of the following options can be found in the manual\cite{PLUMED:manual} of \texttt{PLUMED}. \begin{verbatim} USAGE: sum_hills.x -file HILLS -out fes.dat -ndim 3 -ndw 1 2 -kt 0.6 -ngrid 100 100 100 [-ndim 3 ] (number of collective variables NCV) [-ndw 1 ... ] (CVs for the free energy surface) [-ngrid 50 ... ] (mesh dimension. DEFAULT :: 100) [-dp ... ] (size of the mesh of the output free energy) [-fix 1.1 ... ] (define the region for the FES, if omitted this is automatically calculated) [-stride 10 ] (how often the FES is written) [-cutoff_e 1.e-6 ] (the hills are cutoff at 1.e-6) [-cutoff_s 6.25 ] (the hills are cutoff at 6.25 standard deviations from the center) [-2pi x ] ([0;2pi] periodicity on the x CV, if -fix is not used 2pi is assumed) [-pi x ] ([-pi;pi] periodicity on the x CV, if -fix is not used 2pi is assumed) [-kt 0.6 ] (kT in the energy units) [-grad ] (apply periodicity using degrees) [-bias ] (writing output the bias for a well tempered metadynamics run) [-file HILLLS ] (input file) [-out fes.dat ] (output file) [-hills nhills ] (number of gaussians that are read) \end{verbatim} \section{First worked example: SN2 reaction} \subsection{SN2 reaction in vacuum} In this section, we will show a very simple chemical reaction done with \qe\ code with \texttt{PLUMED} plugin. The goal of this example is to study the free energy for the reaction depicted in Fig. \ref{Fig_Reaction_sn2}. This SN2 reaction between Cl$^{-}$ and CH3Cl shows the symmetric transition state and the CH3 conversion of configuration known as the Walden inversion\cite{Ensing:2005p53}. \begin{figure*}[htbp] \begin{center} \includegraphics[width=\textwidth]{./pic/sn2_reaction.pdf} \caption{A sketch of SN2 reaction} \label{Fig_Reaction_sn2} \end{center} \end{figure*} \subsection{Choice of CVs and simulation details} The first thing you should decide is the collective variables (CVs) to be used: \begin{itemize} \item Distance? \item Does the angle matter? \item Torsion? \item Coordination number? \item Anything else? \end{itemize} Here we choose the bond length of C-Cl as CV1 and the bond length of C-Cl$^{-}$ as CV2. The simulation will be performed using the Born-Oppenheimer molecular dynamics (BO-MD) algorithm as implemented in the \qe\ program (\texttt{pw.x}) and then Car-Parrinello molecular dynamics (CP-MD) (\texttt{cp.x}). The electronic structure is computed within density functional theory (DFT) using the PBE exchange-correlation functional. Ultra-soft pseudo-potentials are used for the valence electrons, and the wave function is expanded in a plane waves basis set up to an kinetic energy cutoff of 25 Ry and charge density cutoff of 200 Ry. An orthorhombic P supercell of 18 * 12 * 12 a.u.$^{3}$ is used. The temperature of the system is 300 K via "soft" velocity rescaling in BO-MD and Nose-Hoover thermostat in CP-MD. \subsection{Metadynamics with Born-Oppenheimer molecular dynamics} For Metadynamics a possible input \texttt{plumed.dat} can be \begin{verbatim} # switching on metadynamics and Gaussian parameters HILLS HEIGHT 0.001 W_STRIDE 2 # instruction for CVs printout PRINT W_STRIDE 1 # the distance between C-Cl' and C-Cl DISTANCE LIST 1 3 SIGMA 0.3 DISTANCE LIST 2 3 SIGMA 0.3 # WALLS: prevent to depart the two mols UWALL CV 1 LIMIT 7.0 KAPPA 100.0 LWALL CV 1 LIMIT 2.5 KAPPA 100.0 UWALL CV 2 LIMIT 7.0 KAPPA 100.0 LWALL CV 2 LIMIT 2.5 KAPPA 100.0 # end of the input ENDMETA \end{verbatim} Here we describe briefly the syntax used in the \texttt{PLUMED} input file. For the detail introduction, please have a look at the \texttt{PLUMED} manual\cite{PLUMED:manual}. The symbol \# allows the user to comment any line in the input file. The \texttt{HILLS} turns on the standard Metadynamics and the \texttt{HEIGHT 0.001} means the height of the Gaussians is 0.001 Rdy. Pay attention: in this code distances are in Bohr (1 Bohr = 0.529177249 \AA) and the energies in Rydberg (1 Rydberg = 13.60569 eV). The frequency for add Gaussians is controlled by \texttt{W\_STRIDE} followed by a number that represents the number of steps between one MD step and the other which is 2 here. The line that starts with the keyword \texttt{PRINT W\_STRIDE} control the frequency for the main \texttt{PLUMED} output file which is called \texttt{COLVAR}. This file contains the data regarding the collective variable positions, the constraint positions, the energy of hills and energy of constraints and other useful informations that will be introduced time by time during the tutorial. All the informations are appended in the \texttt{COLVAR} file and overwritten if an old \texttt{COLVAR} file already exists. The \texttt{DISTANCE LIST 1 3} shows that our CV1 is the distance between atom 1 and atom 3, the \texttt{SIGMA 0.3} indicates the width of the Gaussians is 0.3 Bohr. In order to prevent to depart the two molecules, we add the wall potentials on CV1 and CV2, for both of them the upper limit wall and the lower limit wall. The \texttt{UWALL} and \texttt{LWALL} keywords define a wall for the value of the CV s which limits the region of the phase space accessible during the simulation. The restraining potential starts acting on the system when the value of the CV is greater (in the case of \texttt{UWALL}) or lower (in the case of \texttt{LWALL}) than a certain limit \texttt{LIMIT}. The functional form of this potential is the following: \begin{equation} V_{wall}(s) = KAPPA (\frac{s - LIMIT + OFF}{EPS})^{EXP} \label{EQ_vwall} \end{equation} where \texttt{KAPPA} is an energy constant in internal unit of the code, \texttt{EPS} a rescaling factor and \texttt{EXP} the exponent determining the power law. By default: \texttt{EXP} = 4, \texttt{EPS} = 1.0, \texttt{OFF} = 0. The termination of the input for \texttt{PLUMED} is marked with the keyword \texttt{ENDMETA}. Whatever it follows is ignored by \texttt{PLUMED}. You can introduce blank lines. They are not interpreted by \texttt{PLUMED}. Here is the input file pw.in for pw.x: \begin{verbatim} &control title = 'ch3cl', calculation='md' restart_mode='from_scratch', pseudo_dir = './', outdir = './tmp', dt=20, nstep=2000, prefix = 'md', / &system ibrav = 8, celldm(1) = 18.d0, celldm(2) = 0.666666d0, celldm(3) = 0.666666d0, nat = 6, ntyp = 3, tot_charge = -1, ecutwfc = 25.0, ecutrho = 100.0, nr1b = 24, nr2b = 24, nr3b = 24, nosym = .true. / &electrons conv_thr = 1.0d-8 mixing_beta = 0.7 / &ions pot_extrapolation='second-order' wfc_extrapolation='second-order' ion_temperature='berendsen' tempw= 300. nraise=20 / ATOMIC_SPECIES Cl 35.4527d0 Cl.blyp-mt.UPF C 12.0107d0 C.blyp-mt.UPF H 1.00794d0 H.blyp-vbc.UPF ATOMIC_POSITIONS bohr Cl 12.880706242 6.000000000 5.994035868 Cl 3.581982751 6.000000000 5.989431927 C 9.410606817 6.000000000 6.004535337 H 8.743333410 4.313700292 5.030609604 H 8.743333410 7.686299708 5.030609604 H 8.746264064 6.000000000 7.952930073 K_POINTS gamma \end{verbatim} In this example, we perform a 2000 steps NVT MD to reconstruct the free energy profile for the SN2 reaction. To run the metadynamics simulation, simply type \begin{verbatim} pw.x -plumed < pw.in > pw.out \end{verbatim} After the execution of the program, you will get a brunch of interesting stuff. First of all, you will get a \texttt{PLUMED.OUT} file that contains some printout from \texttt{PLUMED} so you may check whether the input was correctly read: \begin{verbatim} ::::::::::::::::: READING PLUMED INPUT ::::::::::::::::: |-HILLS: |--HEIGHT 0.001000 WRITING STRIDE 2 DEPOSITION RATE 0.000025 |-PRINTING ON COLVAR FILE EVERY 1 STEPS |-INITIAL TIME OFFSET IS 0.000000 TIME UNITS 1-DISTANCE: (1st SET: 1 ATOMS), (2nd SET: 1 ATOMS); PBC ON SIGMA 0.300000 |- DISCARDING DISTANCE COMPONENTS (XYZ): 000 |- 1st SET MEMBERS: 1 |- 2nd SET MEMBERS: 3 2-DISTANCE: (1st SET: 1 ATOMS), (2nd SET: 1 ATOMS); PBC ON SIGMA 0.300000 |- DISCARDING DISTANCE COMPONENTS (XYZ): 000 |- 1st SET MEMBERS: 2 |- 2nd SET MEMBERS: 3 |-WALL ON COLVAR 1: UPPER LIMIT = 7.000000, KAPPA = 100.000000, EXPONENT = 4, REDUX = 1.000000, OFFSET = 0.000000 |-WALL ON COLVAR 1: LOWER LIMIT = 2.500000, KAPPA = 100.000000, EXPONENT = 4, REDUX = 1.000000, OFFSET = 0.000000 |-WALL ON COLVAR 2: UPPER LIMIT = 7.000000, KAPPA = 100.000000, EXPONENT = 4, REDUX = 1.000000, OFFSET = 0.000000 |-WALL ON COLVAR 2: LOWER LIMIT = 2.500000, KAPPA = 100.000000, EXPONENT = 4, REDUX = 1.000000, OFFSET = 0.000000 |-HILLS ACTIVE ON COLVAR 1 |-HILLS ACTIVE ON COLVAR 2 \end{verbatim} This tells you that everything is going fine. The index of atoms are parsed correctly and the printout is correctly understood. Now what you get is a \texttt{COLVAR} file that consists in the time evolution of the CVs. Its format looks something like this: \begin{verbatim} #! FIELDS time cv1 cv2 vbias vwall vext 0.000 3.470115309 5.828643634 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 20.000 3.476912892 5.822800771 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 40.000 3.483516729 5.817608411 0.001000000 0.000000000 0.000000000 0.000000000 0.000000000 60.000 3.490411466 5.812574439 0.000999600 0.000000000 0.000000000 0.000000000 0.000000000 80.000 3.498291622 5.807005696 0.001998170 0.000000000 0.000000000 0.000000000 0.000000000 100.000 3.507739014 5.800326723 0.001994356 0.000000000 0.000000000 0.000000000 0.000000000 \end{verbatim} In the first line there is a simple remainder to the elements that you have in each column. Namely time first (in a.u. by default in \qe), then the value of the two CVs followed by the various additional potential energies introduced by \texttt{PLUMED}. The fourth column is the bias potential, the wall potential is in the fifth column and the external potential is in the last. Now you can plot the evolution of the CVs with gnuplot by using the command \texttt{p "./COLVAR" u 1:2 t "CV1" ,"" u 1:3 t "CV2"} and you will get something like Fig. \ref{FIG_sn2_cv}. If you want to understand how the CVs are related then you may use the command \texttt{p "./COLVAR" u 2:3} with gnuplot that results in a plot like that in Fig. \ref{FIG_sn2_cvs}. \begin{figure*}[htbp] \begin{center} \includegraphics[width=\textwidth]{./pic/sn2cv.pdf} \caption{The time evolution of CVs} \label{FIG_sn2_cv} \end{center} \end{figure*} \begin{figure*}[htbp] \begin{center} \includegraphics[width=\textwidth]{./pic/sn2cvs.pdf} \caption{The time population of CVs} \label{FIG_sn2_cvs} \end{center} \end{figure*} Beside the usual \texttt{COLVAR} file, when you run a metadynamics calculation you get an additional file called \texttt{HILLS} which contains a list of the Gaussians deposited during the simulation. In the example above, this file looks like: \begin{verbatim} 40.000 3.483516729 5.817608411 0.300000000 0.300000000 0.001000000 0.000 80.000 3.498291622 5.807005696 0.300000000 0.300000000 0.001000000 0.000 120.000 3.519061248 5.792237732 0.300000000 0.300000000 0.001000000 0.000 160.000 3.547107311 5.772092610 0.300000000 0.300000000 0.001000000 0.000 200.000 3.578429291 5.750272190 0.300000000 0.300000000 0.001000000 0.000 240.000 3.606928115 5.732241302 0.300000000 0.300000000 0.001000000 0.000 \end{verbatim} where: \begin{itemize} \item the first column contains the time \texttt{t} (in internal unit of the MD code which is \texttt{a.u.} here in BOMD) at which the Gaussian was deposited; \item the following 2 columns contain the centroid of the Gaussian, $S_{i}(R(t))$, one for each CV $i$; \item the following 2 columns contain the Gaussian sigma $\sigma_{i}$, one for each CV $i$; \item the last but one column contains the value of $W$; \item the last column is meaningful only in well-tempered metadynamics simulations (see the next example). \end{itemize} This file will be used to calculate the estimate of the free energy at the end of our metadynamics calculation. In order to restart a metadynamics run, the flag \texttt{RESTART} must be added to \texttt{plumed.dat} after flag \texttt{HILLS}. This allows a metadynamics simulation to be restarted after an interruption or after a run has finished. The \texttt{HILLS} files will be read at the beginning of the simulation and the bias potential applied to the dynamics. Note that the presence of the \texttt{RESTART} flag only affects the metadynamics part of the simulation, and thus the usual procedure for restarting a MD run must be followed. \subsubsection{Free energy reconstruction} In the long-time limit, the bias potential of metadynamics converges to the free energy changed in sign\cite{Bussi:2006gg}. At any time during the simulation we can sum the Gaussians deposited so far and obtain the current estimate of the free energy surface (FES) using the utility \texttt{sum\_hills} as we compiled in the previous section. \begin{verbatim} sum_hills.x -file HILLS -out fes.dat -ndim 2 -ngrid 100 100 \end{verbatim} The file in output \texttt{fes.dat} contains the estimate of the free energy calculated on a regular grid whose dimension is specified by \texttt{-ngird}. These parameters should be chosen with care. To calculate accurately the potential in a given point of the CV space, a practical rule is to choose the bin size to be half the Gaussian sigma. As usual, you can plot the 3D FES with gnuplot: \begin{verbatim} set pm3d sp "fes.dat" w pm3d \end{verbatim} and you will get a plot like that in Fig. \ref{FIG_sn2_fes} \begin{figure*}[htbp] \begin{center} \includegraphics[width=\textwidth]{./pic/sn2_fes.pdf} \caption{Free energy surface of SN2 reaction} \label{FIG_sn2_fes} \end{center} \end{figure*} \section{Second worked example: H-H} In this example, well-tempered (WT) metadynamics\cite{Barducci:2008ua} will be employed to reconstruct the FES of the hydrogen molecule within Born-Oppenheimer approximation (with \texttt{pw.x}). In WT metadynamics, the Gaussian height $W$ is automatically rescaled during the simulations following: \begin{equation} W = W_{0} \exp{-\frac{V(S, t)}{k_{B}\Delta T}} \label{EQ_wt} \end{equation} where $W_{0}$ is the initial Gaussian height and $\Delta T$ a parameter with the dimension of a temperature. The use of Eq. \ref{EQ_wt} guarantees that the bias potential converges in a single simulation and does not oscillate around the FES value, causing the problem of overfilling as what we got in Fig. \ref{FIG_sn2_fes}. \begin{equation} V(S, t\to \infty) = -\frac{\Delta T}{T + \Delta T} F(S) + C \label{EQ_wt_v} \end{equation} where $T$ is the temperature of the system and $C$ a constant. The quantity $T + \Delta T$ is often referred as the (fictitious) CV temperature, while the ratio $(T + \Delta T) / T$ as bias factor. For the details of WT metadynamics, please see references\cite{Barducci:2008ua, Laio:2008wu}. To perform a WT metadynamics simulation with \texttt{PLUMED} you have to use the directive \texttt{WELLTEMPERED} and specify one of the parameters described above using either the keyword \texttt{CV\_TEMPERTURE} or \texttt{BIASFACTOR}. In addition, the temperature of the system must be specified explicitly with \texttt{SIMTEMP}. Here are some practical rules to choose wisely the parameters in WT metadynamics simulations: \begin{itemize} \item The bias factor (or equivalently the CV temperature) regulates how fast the amount of bias potential added decreases with simulation time and eventually controls the extent of exploration. The choice of these parameters depends on the typical free-energy barriers involved in the process under study. Note that this parameter can be changed on-the-fly as needed. \item The optimal choice of the initial Gaussian height $W_{0}$ is less crucial and at the same time less trivial. It is irrelevant in the long time regime and affects only the transient part of the simulation. A short initial filling period can be desirable if the transverse degrees of freedom relax quickly, otherwise a moderate initial energy rate is a better choice. \end{itemize} The following is an example of input file for this WT metadynamics simulation at 300 K with a bias factor 10 and an initial Gaussian height of 0.005. \begin{verbatim} PRINT W_STRIDE 5 HILLS HEIGHT 0.005 W_STRIDE 10 WELLTEMPERED SIMTEMP 300 BIASFACTOR 10 DISTANCE LIST 1 2 SIGMA 0.2 ENDMETA \end{verbatim} In WT metadynamics, the Gaussians height as written in the \texttt{HILLS} file is multiplied by the factor $(T + \Delta T) / \Delta T$. This guarantees that when you sum the Gaussians (by means for example of the \texttt{sum\_hills} code) you get directly the FES. The last column of the \texttt{HILLS} file contains the value of the bias factor used in the WT metadynamics simulation. For this example, the \texttt{HILLS} file looks like: \begin{verbatim} 200.000 1.433853674 0.200000000 0.005555556 10.000 400.000 1.431075271 0.200000000 0.004147748 10.000 600.000 1.431419655 0.200000000 0.003334619 10.000 800.000 1.509148410 0.200000000 0.002937840 10.000 1000.000 1.683639369 0.200000000 0.003660780 10.000 1200.000 1.680674151 0.200000000 0.002997952 10.000 \end{verbatim} Then you can sum up the Gaussians and plot it with gnuplot. \begin{verbatim} sum_hills.x -ndim 1 -ndw 1 -file HILLS -out fes.dat \end{verbatim} The \texttt{sum\_hills} code could also be used to check the convergence of a metadynamics simulation. This can be easily achieved by calculating the estimate of the FES at regular interval in time using the \texttt{-stride} option and then evaluating the free energy at different time steps. Just run \texttt{sum\_hills}: \begin{verbatim} sum_hills.x -out fes.dat -ndim 1 -ndw 1 -stride 150 \end{verbatim} and you will get \texttt{fes.dat}, the FES for the whole simulation and \texttt{fes.dat.1}, \texttt{fes.dat.2} ..., one every \texttt{stride} Gaussians. You can plot free energy estimate at different time steps as shown in Fig. \ref{FIG_hh_fes}. \begin{figure*}[htbp] \begin{center} \includegraphics[width=\textwidth]{./pic/hh_fes.pdf} \caption{Free energy surface} \label{FIG_hh_fes} \end{center} \end{figure*} From the Fig. \ref{FIG_hh_fes}, we can see that the lowest saddle point is at 1.43 Bohr, which is the bond length of the hydrogen molecule and it takes 0.113 Hartree = 3.09 eV to break this bond. \newpage \begin{thebibliography}{10} \bibitem{Bonomi:2009ul} M. Bonomi, D. Branduardi, G. Bussi, C. Camilloni, D. Provasi, P. Raiteri, D. Donadio, F. Marinelli, F. Pietrucci, R.A. Broglia and M. Parrinello, Comp. Phys. Comm. {\bf 180}, 1961 (2009). \bibitem{Laio:2008wu} A. Laio and F. L. Gervasio, Rep. Prog. Phys., {\bf 71}, 126601 (2008). \bibitem{Laio:2002wm} A. Laio and M. Parrinello, PNAS, {\bf 99}, 12562 (2002). \bibitem{QE:guide} User's Guide for \qe: \texttt{espresso/Doc/}; \href{http://www.quantum-espresso.org/wp-content/uploads/Doc/user\_guide/}{http://www.quantum-espresso.org/wp-content/uploads/Doc/user\_guide} \bibitem{PLUMED:manual} \texttt{PLUMED} manual: \href{https://sites.google.com/site/plumedweb/documentation}{https://sites.google.com/site/plumedweb/documentation} \bibitem{Ensing:2005p53} B. Ensing, A. Laio, M. Parrinello, and M. L. Klein, J. Phys. Chem. B {\bf 109}, 6676 (2005). \bibitem{Bussi:2006gg} G. Bussi, A. Laio and M. Parrinello, PRL {\bf 96}, 090601 (2006). \bibitem{Barducci:2008ua} A. Barducci, G. Bussi and M. Parrinello, PRL {\bf 100},20603 (2008) \end{thebibliography} \end{document}