Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Molecular Dynamics Basics (4.1, 4.2, 4.3) Liouville formulation (4.3.3) Multiple timesteps (15.3) Molecular Dynamics • Theory: 2 d r Fm 2 dt • Compute the forces on the particles • Solve the equations of motion • Sample after some timesteps 2 3 4 5 6 Molecular Dynamics • Initialization – Total momentum should be zero (no external forces) – Temperature rescaling to desired temperature – Particles start on a lattice • Force calculations – – – – Periodic boundary conditions Order NxN algorithm, Order N: neighbor lists, linked cell Truncation and shift of the potential • Integrating the equations of motion – Velocity Verlet – Kinetic energy 7 Periodic boundary conditions 8 Lennard Jones potentials •The Lennard-Jones potential 12 6 LJ u r 4 r r •The truncated Lennard-Jones potential u LJ r r rc ur r rc 0 •The truncated and shifted Lennard-Jones potential u LJ r u LJ rc r rc ur 0 r rc 9 Phase diagrams of Lennard Jones fluids 10 Saving cpu time Cell list Verlet-list 11 Equations of motion t 2 t 3 rt t 4 rt t rt vt t f t 2m 3! t 2 t 3 rt t 4 rt t rt vt t f t 2m 3! t 2 rt t rt t 2rt f t t 4 m Verlet algorithm t 2 rt t 2rt r t t f t m Velocity Verlet algorithm t 2 r t t r t vt t f t 2m t f t t f t vt t vt 2m 12 r 0 , p 0 r 0 , p 0 , N Lyaponov instability N N 1 , p j 0 , pi 0 , p N 0 1010 13 f pN ,rN Liouville formulation f r f p f r p iL r p r p df iLf dt Solution Depends implicitly on t Beware: this solution Liouville operatoruseless as is equally the differential equation! f t exp iLt f 0 14 iL iLr iL p r p r p f t exp iLr t f 0 exp r 0 t f 0 exp p 0t f 0 r p n n n n r 0t p 0 t Taylorexpansion f 0 f 0 n n n! r n! p n 0 n 0 N N f p N 0, r 0 r 0t f p0 p 0t , r N 0 Let us look at them f t exp iL p t f 0 separately Shift of coordinates Shift of momenta r0 r0 r 0t p0 p0 p 0t 15 iLr r0 r0 r 0t iL p p0 p0 p 0t e e f p t , rA B t A Be NWe e Trotter identity iLr t iL p t e A B f p t , r t e N N N f p 0P, r 0 lim P e A 2 P eiLB / tPe A 2 P iLr t N N p 0 e e f p 0 , r A 2P B / P A 2P P e e e e e B iLr t A iL p t P P iLPt 2 P A B f p 0, r 0 haveN noncommuting iLt operators! N p e N N iLr t e t t iL t 2 PP p f p N 0, r 0 N 16 iLr t r r rt iLp t p p pt e iL p t iLp t 2 iLr t iLp t 2 e e e N t 2 N N N f p 0, r 0 f p0 p 0 , r 0 2 N N N t t t Velocity iLr t N Verlet! e f p0 p 0 , r 0 f p0 p 0 , r0 tr 2 2 2 1 2 N N r t t r t v t t F ( t ) t t t iL t 2 .................... e p f p0 p 0 , r 0 2trm 2 2 t vt t v t F (t ) FN(t t ) N t 2m t t f p0 p 0 p t , r 0 tr 2 2 t p0 p0 p 0 p t 2 2 t 2 r 0 r 0 tr t 2 r 0 tr 0 F(0) 2m 17 P Velocity Verlet: iLp t 2 iLr t e e iLp t 2 e Call force(fx) Do while (t<tmax) e iLp t 2 iLr t e e t t : v t v t f t 2 2m vx=vx+delt*fx/2 : r t t r t tv t t 2 iLp t 2 x=x+delt*vx Call force(fx) t : v t t v t t 2 f t t 2m vx=vx+delt*fx/2 enddo 18 Liouville Formulation Velocity Verlet algorithm: t p t p t t 2 t 2 r t t r t tr t F(t ) 2m pt t pt Three subsequent coordinate transformations in either r or p of which the Jacobian is one: Area preserving t t pt t 2 pt Fr pt t 2 pt t 2 p t t p t t 2 Fr t 2 2 t r t t r t pt t 2 r t r t r t r t m t Fr t Fr 1 J1 det 2 0 r 1 1 1 0 J 2 det 1 t m 1 J 3 det 1 0 2 r 1 1 Other Trotter decompositions are possible! 19 Multiple time steps • What to use for stiff potentials: – Fixed bond-length: constraints (Shake) – Very small time step 20 F Fshort Flong Multiple Time steps F iL iLr iL p v r m v iL p iLshort iLlong iLshort Fshort m v Trotter expansion: i Llong Lshort Lr t e Flong iLlong m v iLlongt 2 i Lshort Lr t iLlongt 2 e e e Introduce: δt=Δt/n i Llong Lshort Lr t e iLlongt 2 e e e iLshortt 2 iLrt iLshortt 2 n iLlongt 2 e e 21 e i Llong Lshort Lr t e iLlongt 2 e e iLshortt 2 iLr t iLshortt 2 n e e iLlongt 2 iLlong t 2 v v Flong t 2m iLshort t 2 v v Fshort t 2m iLr t r r v t First e iLlongt 2 f r 0, v(0) f r 0, v0 Flong 0 t 2m Now n times: e f r0, v0 F iLshortt 2 iLrt iLshortt 2 n e e long 0t 2m 22 e t t : v t v t flong t 2 2m iLpLong t 2 iLlong t 2 iLshort t 2 iLr t iLshort t 2 e Call force(fx_long,f_short) e vx=vx+delt*fx_long/2 Do ddt=1,n e iLpShort t 2 e e n e iLlong t 2 iLlong t 2 v v Flong t 2m iLshort t 2 v v Fshort t 2m t t t t : v t v t iLr t r frShort vtt 2 2 2 2m vx=vx+ddelt*fx_short/2 iLr t e : r t t r t tv t t 2 t 2 x=x+ddelt*vx iLlong t 2 iLshort t 2 iLr t iLshort t Call force_short(fx_short) e e e e e iLpShort n iLlong t 2 e t 2 t t t t : v t t ivLlong t t 2 v vF fShort t 2mt long 2 2 2m iLshort t 2 v v Fshort t 2m vx=vx+ddelt*fx_short/2 23 enddo iLr t r r v t 2 2 24