Molecular Dynamics (1)
Molecular Dynamics (1)
How to start up? Initial configuration. Criteria for choosing initial configuration: quick relaxation to the equilibrium state Random initial configuration Advantage: liquid-like, easy to generate Drawback: substantial overlaps at high densities Use: Monte-Carlo for systems without hard-core interactions. Not suitable for hard-core interactions and md at high densities Crystal initial configuration e. g, fcc crystal Advantage: avoiding overlaps easy to generate Drawbacks: not liquid-like Use: suitable for all type of MC and MD
How to start up? Initial configuration: Criteria for choosing initial configuration: quick relaxation to the equilibrium state. - Random initial configuration: Advantage: liquid-like, easy to generate. Drawback: substantial overlaps at high densities. Use: Monte-Carlo for systems without hard-core interactions. Not suitable for hard-core interactions and MD at high densities. - Crystal initial configuration: e.g., fcc crystal Advantage: avoiding overlaps, easy to generate. Drawbacks: not liquid-like Use: suitable for all type of MC and MD
Initial velo cities Maxwell-Boltzmann distribution 3)12na 2k Uniform distribution Each velocity components drawn from a uniform distribution in a range (-v max, maX Constraint nv
Initial velocities: Maxwell-Boltzmann distribution: ) 2 exp( 2 ( ) 2 k T k T f m mv v i i i x i x = − Uniform distribution: Each velocity components drawn from a uniform distribution in a range (-vmax, vmax). Constraint: 0 1 = = = N i mivi P
Exercise 1)Write a program for generating an initial configuration with the particles places on a fcc lattice 2)Write a program for generating initial velocities from an uniform distribution in the range(-Vmax, Vmax)(vmax =5) with the constraint that the total initial velocity is zero
Exercise 1) Write a program for generating an initial configuration with the particles places on a fcc lattice. 2) Write a program for generating initial velocities from an uniform distribution in the range (-vmax, vmax) (vmax=5) with the constraint that the total initial velocity is zero
Equilibration Monitoring the equilibration of system with several observables e. g, internal energy, pressure etc A The production run should not start before the system reaches the targeted equilibrium state!
Equilibration Monitoring the equilibration of system with several observables, e.g., internal energy, pressure etc.. A t The production run should not start before the system reaches the targeted equilibrium state!
Molecular Dynamics for Hard Spheres Read initial configuration and initial velocities Identify the next collision Move all particles forward until collision occurs oop Calculate the velocity change of the colliding pair Calculate observables or write out the current configuration End of program
Molecular Dynamics for Hard Spheres Read initial configuration and initial velocities Identify the next collision Move all particles forward until collision occurs Calculate the velocity change of the colliding pair Calculate observables or write out the current configuration End of program loop
Identify the next collision Collision condition: b Livio ⊙ approaching going away Collision time 2+2b;t:;+r;2-2=0 If bi2-vi(ri 2-02)0(condition for collision taking place effectively), the collision time is given
Identify the next collision Collision condition: bij = rij .vij vijt ij 2 + 2bijt ij +rij 2 - s 2 = 0 If bij 2 - vij 2 (rij 2 - s 2 ) 0 (condition for collision taking place effectively), the collision time is given by t ij = {- bij - [bij 2 - vij 2 (rij 2 - s 2 )] 1/2}/vij 2
Collision -Time List and partner list Initializing CTlist-COLTIM(: From the initial condition. Calculate for each particle its collision time with all the other particles the minimum collision time into CoLTIM( (if particle/wIl Find out the minimum of the collision times of particle i and pi not collide with any other particle, put a very large value, e. g TIMBIG, into COLTIM(I Repeat this for all the particles Partner list- PARTNR(N: PaRTNR contains the identity(number of the particle)of the collision partner of particle i
Collision-Time List and Partner list Initializing CT list - COLTIM(N): From the initial condition, Calculate for each particle its collision time with all the other particles. Find out the minimum of the collision times of particle I and put the minimum collision time into COLTIM(I) (if particle I will not collide with any other particle, put a very large value, e.g., TIMBIG, into COLTIM(I)). Repeat this for all the particles. Partner list - PARTNR(N): PARTNR(I) contains the identity (number of the particle) of the collision partner of particle I
Move all particles forward until collision occurs From all the collision times stored in coltim. find out the minimum one (t l]/min Advance the position of all the particles with this time interval, i.e dO=lN RX(=RX(+VX((timin RY(=RY(+VY((timin RZ()=RZ()+Vz(1)°(t1) min enddo
Move all particles forward until collision occurs From all the collision times stored in COLTIM,Find out the minimum one, (tij)min. Advance the position of all the particles with this time interval, i.e., do i=1,N RX(i)=RX(i)+VX(i)*(tij)min RY(i)=RY(i)+VY(i)*(tij)min RZ(i)=RZ(i)+VZ(i)*(tij)min enddo
Calculate the velocity change of the colliding pair Dynamics of elastic collision: vi lafter collision) vi(before collision) Energy conservation requires vi(after collision)=vi (before collision) Since the momentum change takes place along j and no momentum change in the direction perpendicular to ri, the collision is specular with respect to r: This leads to vi(after )=vi (before)+ 8v vi(after)=vi (before)+ &v 8v=[-(bi/orilo 1]collision
Calculate the velocity change of the colliding pair Dynamics of elastic collision: i j rij vij(before collision) vij(after collision) Energy conservation requires: |vij(after collision)| = |vij(before collision)| Since the momentum change takes place along rij and no momentum change in the direction perpendicular to rij, the collision is specular with respect to rij. This leads to vi (after) = vi (before) + dv vi (after) = vi (before) + dv dv = [-(bij/s 2 ) rij]collision