12.07.2015 Views

Ab initio molecular dynamics: Theory and Implementation

Ab initio molecular dynamics: Theory and Implementation

Ab initio molecular dynamics: Theory and Implementation

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.7.4 Using Car-Parrinello Dynamics for OptimizationsBy adding a friction term, Car–Parrinello <strong>molecular</strong> <strong>dynamics</strong> can be turned intoa damped second order <strong>dynamics</strong> scheme (see also Sect. 2.4.6).The friction can be applied both to the nuclear degrees of freedom <strong>and</strong> theelectronic coordinates. The resulting <strong>dynamics</strong> equation are a powerful method tosimultaneously optimize the atomic structure <strong>and</strong> the Kohn–Sham orbitals 472,610 .Harmonic reference system integration <strong>and</strong> plane wave dependent electron masses,introduced above, are especially helpful in this context, as the derived <strong>dynamics</strong>does not have a direct physical relevance.Introducing a friction force proportional to the constants γ n <strong>and</strong> γ e the equationsof motion can readily be integrated using the velocity Verlet algorithm. The frictionterms translate into a simple rescaling of the velocities at the beginning <strong>and</strong> end ofthe time step according toṘ I (t) = γ n Ṙ I (t)ċ i (t) = γ e ċ i (t)VELOCITY VERLET UPDATEṘ I (t + δt) = γ n Ṙ I (t + δt)ċ i (t + δt) = γ e ċ i (t + δt) .It was shown 472,610 that this scheme leads to optimizations that are competitivewith other methods described in Sect. 3.63.8 Data Structures <strong>and</strong> Computational KernelsIn the practical implementation of the method, mathematical symbols have tobe translated into data structures of the computer language. Then mathematicalformulas are set into computer code using the data structures. The layout of thedata structures should be such that optimal performance for the algorithms can beachieved. The CPMD code is written in fortran77 <strong>and</strong> in the following sections themost important data structures <strong>and</strong> computational kernels will be given in pseudocode form. The following variables are used to denote quantities that measuresystem size.N at number of atomsN p number of projectorsN b number of electronic b<strong>and</strong>s or statesN PW number of plane-wavesN D number of plane-waves for densities <strong>and</strong> potentialsN x , N y , N z number of grid points in x, y, <strong>and</strong> z directionN = N x N y N z total number of grid pointsIn Table 3 the relative size of this variables are given for two systems. The examplefor a silicon crystal assumes an energy cutoff of 13 Rydberg <strong>and</strong> s non-locality forthe pseudopotential. In the example of a water system the numbers are given permolecule. The cutoff used was 70 Rydberg <strong>and</strong> the oxygen pseudopotential has a snonlocal part, the hydrogen pseudopotential is local.76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!