VI. Molecular Dynamics next up previous
Next: VII. Minimization Up: No Title Previous: V. Monte Carlo

VI. Molecular Dynamics

molecular dynamics:
integrate Newton's equations of motion for all atoms in the system
Applications of molecular dynamics
-conformational searches
-generate statistical ensembles to calculate energetic, thermodynamic, structural, and dynamic (time-dependent) properties
-study motions of molecules (i.e. time evolution)
Newton's equations of motion:
tex2html_wrap_inline2456
tex2html_wrap_inline2458
tex2html_wrap_inline2460 : force on particle i
tex2html_wrap_inline2252 : mass of particle i
tex2html_wrap_inline2464 : acceleration of particle i
V: potential energy
trajectory: coordinates and velocities for a molecular dynamics run
Properties of Newton's equations of motion
- Energy conservation: V+K is constant
- Equations of motion are time reversible: if we change the signs of all velocities, the atoms will retrace their trajectories
- Numerical methods are required to solve these equations for systems larger than 2 independent particles
A. Finite difference methods
-numerically solve Newton's equations of motion
-positions and velocities at time t tex2html_wrap_inline1966 positions and velocities at a later time t+dt
Desirable properties of an integrator
-fast
-requires little computer memory
-permits the use of a relatively long time step
-duplicates classical trajectory as closely as possible
-conserves energy and momentum
-time-reversible
-simple in form and easy to program
No method will duplicate the classical trajectory for a long time:
-any 2 trajectories that are initially very close will eventually diverge from one another exponentially with time
-a small perturbation will cause a computer-generated trajectory to diverge from the true classical trajectory
Molecular dynamics has 2 roles
1. need essentially exact solutions of equations of motion for times comparable with correlation times of interest to accurately calculate time correlation functions
2. use the method to generate states sampled from the microcanonical ensemble; do not need exact classical trajectories to do this, but energy conservation is crucial
A shorter time step should be used for
-higher temperatures (i.e. larger velocities of particles)
-more rapidly varying potential surfaces
-lighter mass of particles
appropriate time step tex2html_wrap_inline1966 energy conservation, time-reversibility
1. Verlet algorithm
Taylor expansion about tex2html_wrap_inline2474 :
tex2html_wrap_inline2476
tex2html_wrap_inline2478
Add these 2 equations up:

  equation714

Note: velocities do not appear at all. They can be calculated from:

  equation721

The errors in Eq. 21 are of order tex2html_wrap_inline2480 , and the velocities (Eq. 22) are subject to errors of order tex2html_wrap_inline2482 .
Algorithm:
Start with tex2html_wrap_inline2474 and tex2html_wrap_inline2486
Repeat these steps:
1. calculate tex2html_wrap_inline2488 (from the force tex2html_wrap_inline2490 )
2. use Eq. 21 to calculate tex2html_wrap_inline2492
3. calculate tex2html_wrap_inline2494 if desired
4. replace tex2html_wrap_inline2496 with tex2html_wrap_inline2474 and tex2html_wrap_inline2474 with tex2html_wrap_inline2502
Advantages:
-the advancement of positions is all in one step (using Eq. 21)
-compact and simple to program
-time-reversible
-conserves energy well even with relatively long time steps
Disadvantages:
-the velocities at t can be calculated only after tex2html_wrap_inline2502 are known
-to start a trajectory, need to know tex2html_wrap_inline2474 and tex2html_wrap_inline2496 rather than tex2html_wrap_inline2474 and tex2html_wrap_inline2494
2. Velocity Verlet algorithm

  equation754

  equation763

The Verlet algorithm can be recovered by eliminating the velocities.
Algorithm:
Start with tex2html_wrap_inline2474 and tex2html_wrap_inline2494 and calculate tex2html_wrap_inline2488
Repeat the following steps:
1. calculate tex2html_wrap_inline2502 using Eq. 23
2. calculate velocities at mid-step using
tex2html_wrap_inline2524
3. calculate tex2html_wrap_inline2526
4. complete the velocity move using
tex2html_wrap_inline2528
Advantages:
-kinetic energy at time tex2html_wrap_inline2530 is available
-can start with positions and velocities at time t (i.e. tex2html_wrap_inline2474 and tex2html_wrap_inline2494 )
-numerically stable
-simple to program
-time-reversible
-conserves energy well even with relatively long time steps
Disadvantages:
-the advancement of velocities takes 2 steps
Storage requirements of Verlet and Velocity Verlet identical (9N).
Other methods: Gear predictor-corrector, Beeman
3. Time step
Larger time step tex2html_wrap_inline1966 decrease computation time
Too large a time step tex2html_wrap_inline1966 instability and inaccuracy in numerical integration
Velocity Verlet and Verlet algorithms assume that velocities and accelerations are constant over a given time step tex2html_wrap_inline1966 the time step is limited by the highest-frequency motion that must be simulated since fast vibrations imply rapidly changing velocities and accelerations
A vibrational period should be split into at least tex2html_wrap_inline2542 segments to satisfy the assumption that velocities and accelerations are constant over a given time step
Example: if the fastest vibration is C-H stretch, which has a period of about 10-14 seconds, then the time step should be about 10-15 seconds (1 fs)
Test the stability of numerical integration
-energy conservation
-time reversibility
B. Constraint dynamics
Constrain some intramolecular bond lengths and/or angles to fixed values
Reasons for use:
-intramolecular bond vibrations are typically the highest frequencies in the system and therefore determine the largest time step that can be used tex2html_wrap_inline1966 if bonds are constrained, a larger time step can be used, which speeds up the computation
-the quantum mechanical nature of bond vibration makes the classical description questionable
1. Fundamental concepts of constraint dynamics
tex2html_wrap_inline2546 where tex2html_wrap_inline2548 is a constraint force
Use a set of undetermined multipliers to represent the magnitudes of forces directed along the bonds to keep the bond lengths constant. Solve the equations of motion for one time step in the absence of the constraint forces, and then determine the magnitudes of the constraint forces and correct the atomic positions (and/or velocities)
Iterative method:
Go through constraints one by one, cyclically, adjusting coordinates to satisfy each constraint in turn until all are satisfied to within a specified tolerance.
SHAKE (Verlet algorithm): only atomic positions are constrained
RATTLE (velocity Verlet): both positions and velocities are constrained
2. RATTLE algorithm
H.C. Andersen, J. Comp. Chem. 52, 24 (1983).
Bond constraints:

  equation818

where tex2html_wrap_inline2550 is the fixed distance between atoms i and j (whose coordinates are tex2html_wrap_inline2556 and tex2html_wrap_inline2558 ).
The time derivatives of the constraint equations give the velocity constraints:

  equation828

The equations for constrained dynamics are

equation835

where tex2html_wrap_inline2460 is the force due to unconstrained interactions and tex2html_wrap_inline2548 is the force on atom i due to the constraints:

equation842

where the prime indicates a sum over only atoms j that are connected to atom i by a constraint, tex2html_wrap_inline2568 indicates the gradient with respect to tex2html_wrap_inline2556 , and tex2html_wrap_inline2572 are Lagrange multipliers associated with the constraints.
The RATTLE equations of motion are analogous to the velocity Verlet equations, with the addition of the constraint forces:

  equation849

  equation864

where tex2html_wrap_inline2574 . The Lagrange multipliers tex2html_wrap_inline2576 are chosen so that the constraint equations 25 are satisfied at time tex2html_wrap_inline2530 . The Lagrange multipliers tex2html_wrap_inline2580 are chosen so that the time derivatives of the constraint equations 26 are satisfied at time tex2html_wrap_inline2530 .
Algorithm (slightly simplified for clarity)
Start with tex2html_wrap_inline2474 and tex2html_wrap_inline2494 and calculate tex2html_wrap_inline2488
Repeat the following steps:
1. calculate tex2html_wrap_inline2502 in the absence of the constraints (as in Eq. 21 )
2. calculate velocities at mid-step using
tex2html_wrap_inline2524
3. start the iterative loop for calculating the Lagrange multipliers tex2html_wrap_inline2576
(change tex2html_wrap_inline2474 so that all bond constraints (Eq. 25) are satisfied within tolerance)
a. pick a constraint involving atoms i and j
b. if the current bond length differs from the fixed bond length tex2html_wrap_inline2550 by more than the prescribed tolerance, then determine the value of tex2html_wrap_inline2576 necessary to satisfy the constraint more closely and add this term to tex2html_wrap_inline2606 , tex2html_wrap_inline2608 and tex2html_wrap_inline2610 , tex2html_wrap_inline2612 according to Eqs.29 and 30, respectively; otherwise go back to step 3a and pick a new constraint
Continue this iterative procedure until all bond constraints are satisfied within the prescribed tolerance
4. calculate tex2html_wrap_inline2526
5. complete the velocity move in the absence of constraints using
tex2html_wrap_inline2528
6. start the iterative loop for calculating the Lagrange multipliers tex2html_wrap_inline2618
(change tex2html_wrap_inline2494 so that all velocity constraints (Eq. 26) are satisfied within tolerance)
a. pick a constraint involving atoms i and j
b. if the dot product of tex2html_wrap_inline2626 and tex2html_wrap_inline2628 differs from zero by more than the prescribed tolerance then determine the value of tex2html_wrap_inline2580 necessary to satisfy the velocity constraint more closely and add this term to tex2html_wrap_inline2632 , tex2html_wrap_inline2634 according to Eq. 30; otherwise go back to step 6a and pick a new constraint
Continue this iterative procedure until all velocity constraints are satisfied within the prescribed tolerance
Constraining bond lengths
-time step can be increased
-overhead for iterative procedure is not significant tex2html_wrap_inline1966 speeds up computation
Constraining angles
-time step can be increased
-overhead for iterative procedure is significant (requires longer time to converge) tex2html_wrap_inline1966 typically does not speed up computation (and sometimes slows it down)
Thus, constraining bond lengths is worthwhile, but bond angles should be free to evolve
C. Temperature: Maxwell-Boltzmann distribution of velocities
Temperature:
-proportional to the kinetic energy of the system, which can be expressed in terms of the atomic velocities
-a measure of an average distribution
-meaningful (thermodynamically) only at equilibrium
Boltzmann:
For a dilute gas,
tex2html_wrap_inline2640
tex2html_wrap_inline2642 : probability of finding a molecule with energy tex2html_wrap_inline2644
tex2html_wrap_inline2646 : degeneracy,
(i.e. the number of different states of a molecule corresponding to energy tex2html_wrap_inline2644 )
k: Boltzmann's constant
This applies to any type of energy - translational kinetic energy, vibrational, rotational, electronic, etc.
Maxwell:
derived special case of Boltzmann equation for translational kinetic energies ( tex2html_wrap_inline2652 )

equation968

P(v) dv = the probability of finding a molecule with speed between v and dv
F(v) dv = the fraction of molecules with speed between v and dv
(where molecule has mass m and temperature T)
Note: tex2html_wrap_inline2670
If we do the integral in the denominator (the normalization factor), then we get the Maxwell-Boltzmann equation:

equation975

Increasing the temperature (or decreasing the mass) tex2html_wrap_inline1966
-a broader distribution of speeds
-a shift to higher speeds
The x, y, and z components of the velocities have a Gaussian distribution:

equation980

Calculate average speed ( tex2html_wrap_inline2674 indicates the average of quantity x):

equation986

equation992

For a system of N atoms and no internal constraints:
Kinetic energy: tex2html_wrap_inline2678
Average kinetic energy: tex2html_wrap_inline2680
Equipartition principle:
there is an average energy of kT/2 associated with each degree of freedom that appears as a squared term in the Hamiltonian
(In this case with no constraints, there are 3N velocity degrees of freedom, and each one appears as tex2html_wrap_inline2684 in the kinetic energy K of the Hamiltonian)
If there are N atoms and tex2html_wrap_inline2690 internal constraints, then the number of degrees of freedom is tex2html_wrap_inline2692 .
In this case,
tex2html_wrap_inline2694
instantaneous kinetic temperature:

equation1008

thermodynamic temperature T:
average of the instantaneous kinetic temperature over many molecular dynamics time steps ( tex2html_wrap_inline2696 )
C. Initialization and equilibration
Initialization
initial coordinates:
can be obtained from a previous simulation
Otherwise:
1. liquid
-start out in lattice fcc configuration with appropriate density and random orientation of dipole moments
-equilibrate to melt lattice
2. proteins
-start with X-ray structure
-minimize energy to eliminate any large forces due to repulsive van der Waals contacts or poor geometries
-place constraints on all atoms (tethering) to prevent large shifts from starting constraints due to very large forces
initial velocities:
Gaussian distribution of velocities tex2html_wrap_inline2698 , tex2html_wrap_inline2700 , and tex2html_wrap_inline2702 appropriate to a given temperature
(i.e. Maxwell-Boltzmann distribution)
Procedure to generate a Maxwell-Boltzmann distribution of velocities:
1. use a random number generator to generate a normal distribution with zero mean and unit variance (i.e. a set of 3N numbers corresponding to such a normal distribution)
2. multiply by tex2html_wrap_inline2704 to get proper distribution of velocities
3. correct so there is no overall momentum
There is no unique set of initial velocities - this depends on the random number seed
An ensemble of such initial velocity sets satisfies tex2html_wrap_inline2694
Equilibration
preliminary molecular dynamics simulation to equilibrate the system at the desired T
Even if initial velocities satisfy a Maxwell-Boltzmann distribution at the desired temperature, the distribution will change during simulation, especially if initial configuration is far from equilibrium
Procedure for equilibration:
1. Generate initial velocities for specified temperature
2. Perform molecular dynamics simulation, scaling velocities occasionally to reach the desired temperature
Test if system is equilibrated:
- Plot thermodynamic quantities such as potential energy, temperature, etc. as a function of time. If equilibrated,
1. quantities should fluctuate around average values
2. average should remain constant over time (no systematic drift)
-Different initial conditions (spatial coordinates and velocities) should produce the same thermodynamic quantities after equilibration
Can first run at higher temperature than desired to ensure full equilibration
E. Temperature control
Uses:
-During equilibration: to attain the desired temperature
-During data collection: to maintain the correct ensemble (i.e. canonical NVT)
1. Velocity scaling
velocities of all atoms scaled to match the target temperature

equation1038

tex2html_wrap_inline2708 : target temperature
tex2html_wrap_inline2710 : either the instantaneous temperature (i.e. the temperature with tex2html_wrap_inline2712 ) or an average temperature
Useful during equilibration to attain the desired temperature but does not create a canonical ensemble
2. Andersen method
H.C. Andersen, J. Chem. Phys. 72, 2384 (1980)
Periodically replace all velocities with velocities selected from a Maxwell- Boltzmann distribution for the desired temperature.
-Useful for studying equilibrium properties
(generates a canonical ensemble)
-Problematic for studying dynamical quantities
sudden changes in the velocities tex2html_wrap_inline1966 discontinuous trajectories
3. Nosé-Hoover dynamics
S. Nosé, J. Chem. Phys. 81, 511 (1984);
W.G. Hoover, Phys. Rev. A 31, 1695 (1985).
-produces a true canonical ensemble both in coordinate and momentum space
-smooth, deterministic, and time-reversible trajectories
Method:
-add an additional (fictitious) degree of freedom to the real physical system
-solve the equations of motion for the extended system (real plus fictitious)
-the constant-energy dynamics (microcanonical ensemble NVE) of the extended system produces the canonical ensemble (NVT) of the real physical system
The extended Hamiltonian that will accomplish this is

equation1058

where the first two terms make up the Hamiltonian of the real system (with potential energy tex2html_wrap_inline2716 ) and the last two terms are the kinetic and potential energies, respectively, of the fictitious degree of freedom.
tex2html_wrap_inline2260 : coordinates of real system
tex2html_wrap_inline2248 : momenta of real system
S: the fictitious coordinate
Q: the fictitious ``mass"
tex2html_wrap_inline2726 : the fictitious momentum
g: the number of degrees of freedom in the real system
tex2html_wrap_inline2730 : tex2html_wrap_inline2732
After some algebraic manipulations (which eliminate the fictitious coordinate S), it can be shown that the equations of motion for this extended Hamiltonian are:

displaymath2454

Q is an arbitrary parameter that should be chosen carefully
too small a Q
tex2html_wrap_inline1966 the frequency of the fictitious degree of freedom is too high
tex2html_wrap_inline1966 a smaller timestep is required for the numerical integration
too large a Q
tex2html_wrap_inline1966 there is not enough energy exchange between the real system and the heat bath (the fictitious degree of freedom)
tex2html_wrap_inline1966 thermalization is inefficient
F. Ensembles
microcanonical (NVE)
-no temperature or pressure adjustment
-cannot use to equilibrate to desired temperature or pressure
-can use during data collection
-energy will drift due to roundoff and truncation errors in integration
canonical (NVT)
-control temperature using velocity scaling during equilibration and Nos dynamics (or temperature-bath coupling) during data collection
-can use to equilibrate to desired temperature
isothermal-isobaric (NPT)
-control both temperature and pressure
-can use only with periodic boundary conditions
-can use to equilibrate to desired temperature and pressure
Ensemble averages should be identical for all ensembles


next up previous
Next: VII. Minimization Up: No Title Previous: V. Monte Carlo

College of Science WWW Development
Tue Nov 26 09:48:20 EST 1996