/Ring-Polymer-Molecular-Dynamics-in-Python-and-cpp

In this project, we give python and C++ codes for the Ring Polymer Molecular Dynamics (RMPD) to calculate the time correlation function(TCF) of coordinate <q(0)q(t)>. Two kinds of thermostat have been tested.

Primary LanguageC++MIT LicenseMIT

@Authors : Kai Song, ks838 at cam.ac.uk

@Notes On Codes :

        1. In this project, we give light-weight python and C++ codes for the Ring Polymer Mocular 
          Dynamics (RMPD) to calculate the time correlation function(TCF) of coordinates <q(0)q(t)>. 
          "result_of_qq_TCF.png: gives a demon of the result with the parameters as: nsteps_equil = 2000, 
          nsteps_dynamics = 1000, n_samplings = 1000.(Please refer to "consts_rpmd.py" for the meanings 
          of them.) 
          In the file 'RMPD-cpp' are the C++ codes for RMPD with two kinds of thermostat: Andersen thermostat
          and Langevin thernostat.

        2. I did this project to help beginners interested in RMPD or controid moleculer dynamics(CMD), or the 
          newly developed Matsubara dynamics (by Stuart Althorpe in Cambridge, 2015). I wish this could help 
          the guys who may just start programing or want to get a quick look of PRMD. After this, you could 
          write your own codes on CMD or Matsubara dynamics as a practice or test.

        3. The implementation is simple. In the transfromation (between plain coordinates and normal modes) part 
           we just write the codes as the the paper Ceriotti2010 wrote. FFT could be used in fact. I have made 
           comments in corresponding places.

        4. RPMD and CMD have been implemented in AMBER.

@Notes On Physics:

       1. CMD and RPMD make use of the imaginary-time path integral formalism to exploit the exact 
          equilibrium mapping between a quantum mechanical particle and a classical ring polymer. 
          CMD is classical MD on an effective potential generated by the thermal fluctuations 
          of the ring polymer around its centroid, whereas RPMD is classical MD 
          in the extended ring polymer phase space.
       
       2. Stuart Althorpe et al (2015 J. Chem. Phys.) proved CMD and RPMD are both closely related to 
          Matsubara   Dynamics. Their work lay the theoretical basis for CMD and RPMD.
       
       3. Many dynamical properties of systems in thermal equilibrium can be related to TCFs. 
          For instance: the diffusion coefficient of a molecule in a liquid can be calculated f
          rom its velocity autocorrelation function; 
          the infrared absorption spectrum of a liquid is related to its dipole autocorrelation function; 
          the rate coefficient of a chemical reactionˆis determined by its 
          reactive flux autocorrelation function.

@Main references of the codes:

       1. Craig and David Manolopoulos, J. Chem. Phys. 121, 22  2004
       
       2. Ceriotti et al. J. Chem. Phys. 133, 124104  2010 

@Recommanded Paper for RMPD:

       1. Annu. Rev. Phys. Chem. 2013. 64:387–413 Ring-Polymer Molecular Dynamics: Quantum Effects in 
          Chemical Dynamics from Classical Trajectories in an Extended Phase Space
       
       2. For the knowledge of thermostatting, Frenkel&Smit's 'Understanding Molecular Simulations', and
          Tuckerman's 'Statistical Mechanics' would be nice choices.