[ase-users] NEB algorithm: calculation of variable t1 and climbing force
Divya Bohra - TNW
D.Bohra at tudelft.nl
Fri Feb 16 12:48:05 CET 2018
Dear Esben,
Thanks for your reply. I had indeed missed the fact that t1 is being updated within the for loop as you point out.
The context behind the question is that when I am using BFGS with climbing ON even with a small step size (0.004 Ang), I am seeing oscillations and sometimes drastic deviations in the force while the energy continues to go down. I start the climbing only once the forces have been brought down to <0.5 eV/Ang and it seems like the climbing is letting the image fall down the PES instead of rise up. I first thought this was a step size issue but reducing the step size is not really improving the situation. This made me look into the NEB algorithm to see if there is another catch. Have you had any similar experience or maybe have any ideas of why this could be happening?
Thanks ☺
Cheers,
Divya
From: Esben Leonhard Kolsbjerg <esb at inano.au.dk>
Date: Friday 16 February 2018 at 11:11
To: Divya Bohra - TNW <D.Bohra at tudelft.nl>, "ase-users at listserv.fysik.dtu.dk" <ase-users at listserv.fysik.dtu.dk>
Subject: Re: [ase-users] NEB algorithm: calculation of variable t1 and climbing force
Hi Divya,
As the whole NEB path is processed iteratively in a for-loop the variable t2 become t1 in the nest iteration of the loop – as you can see here: https://gitlab.com/ase/ase/blob/master/ase/neb.py#L291
This is done this way such as one tangent only have to be calculated once as it is reused for the next set of images.
There is currently three different version of NEB available in ASE. The ASE version (which is the default), the Henkelman et al. (improved tangent) version, and an elastic band-like version. They all have slightly different algorithms. (It can be a bit hard to read the code as they are implemented together)
In the case of the climbing image it is correct that only the parallel (to the tangent) component is reversed (which is also the suggestion from the original paper eg. 5 https://notendur.hi.is/hj/papers/paperci-neb.pdf). Maybe it helps to think of it as true 3D example with two special components with the 3rd being the energy. Imagine you want to reach the saddle point but you are a bit off the minimum energy path (MEP). As it is the MEP you can reach it by going down in energy which is what happens by moving perpendicular to path (the tangent). The saddle point in this then located by combining that perpendicular downhill movement by moving up in energy along the MEP (parallel to the tangent).
Hope it helps? If not there are excellent visual representation of the CI-NEB – just google it ;)
Cheers,
Esben
Fra: <ase-users-bounces at listserv.fysik.dtu.dk> på vegne af Divya Bohra - TNW via ase-users <ase-users at listserv.fysik.dtu.dk>
Svar til: Divya Bohra - TNW <D.Bohra at tudelft.nl>
Dato: torsdag den 15. februar 2018 kl. 18.24
Til: "ase-users at listserv.fysik.dtu.dk" <ase-users at listserv.fysik.dtu.dk>
Emne: [ase-users] NEB algorithm: calculation of variable t1 and climbing force
Dear All,
I notice that the NEB implementation in ASE uses the tangential force between the first 2 images (images[0] and images[1]) for the variable t1 instead of using the force between the images[i-1] and images[i] just like t2 is between image i and i+1. The Henkelman et al. reference article used for the script also applies the tangential force between i-1 and i image for t1. Can someone help me understand why the ase neb works differently? Is this deviation from the proposed algorithm intentionally done and for what reason?
Secondly, the true perpendicular force has not been removed from the climbing force and the current algorithm only reverses and tangential force without removing the perpendicular component. Is there a reason for this?
Thanks in advance!
Cheers,
Divya
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20180216/bd096964/attachment.html>
More information about the ase-users
mailing list