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.

The Lagrange multiplier have to be determined to ensure that the constraint onthe positions <strong>and</strong> velocities are exactly fulfilled at the end of the time step. For theposition, the constraint condition isσ (i) ({R I (t + δt)}) = 0 . (252)Eq. (252) is in general a system of nonlinear equations in the Lagrange multipliersλ i p . These equations can be solved using a generalized Newton algorithm 491 thatcan be combined with a convergence acceleration scheme based on the direct inversionin the iterative subspace method 495,144 . The error vectors for a given set ofLagrange multipliers λ are calculated frome i (λ) = − ∑ jJ −1ij (λ)σ(j) (λ) . (253)The Jacobian J is defined byJ ij (λ) = ∂σ(i) (λ)∂λ j (254)= ∑ I= − ∑ I∂σ (i) (λ)∂R I (λ)∂R I (λ)∂λ j (255)δt 22M If c I(λ)f c I (0) , (256)where f c I (λ) = ∑ i λi ∂σ (i) /∂R I . Typically only a few iterations are needed toconverge the Lagrange multipliers to an accuracy of 1 × 10 −8 .The constraint condition for the velocities can be cast into a system of linearequations. Again, as in the case of the orthonormality constraints in the Car–Parrinello method, the Lagrange multiplier for the velocity update can be calculatedexactly without making use of an iterative scheme. Defining the derivative matrixthe velocity constraints areA iI = ∂σ(i)∂R I, (257)− ∑ j( ∑I˙σ (i) (t + δt) = 0 (258)∑ ∂σ (i)Ṙ I = 0 (259)∂R II)δt 2A iI A jI λ v j2M = ∑ A iI Ṙ ′ I . (260)IIThe only information needed to implement a new type of constraint are the formulasfor the functional value <strong>and</strong> its derivative with respect to the nuclear coordinatesinvolved in the constraint.75

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

Saved successfully!

Ooh no, something went wrong!