[ase-users] NEB algorithm: calculation of variable t1 and climbing force

Esben Leonhard Kolsbjerg esb at inano.au.dk
Fri Feb 16 13:24:09 CET 2018


Dear Divya,

From my experiences it can be extremely hard to locate the saddle point especially if you are working on a very complicated many dimensional problem with a lot of atomic movement around the transition state.
There is in principle nothing wrong with the climbing image to move down in energy (as long as it hasn’t converged to the MEP).

What I usually do is to apply a conservative strategy to make sure I have a really good guess of the transition state before I initiate climbing. If you are really far of I have seen systems “explode” as it tried to climb to a saddle point. From my experience it is advantage in the long to be conservative anyways. I do this by first optimizing a few steps (30-50 system depended) to get a rough NEB path and then braking the rough path up into sub paths and then adding more images especially in the vicinity of the apparent transition state. In essence this is all automated in the autoneb implementation available in ASE but you can easily do this “by hand” as well now that you already have an almost converged path – you don’t have to fully optimize the whole path at once.

I as well usually use the FIRE optimizer – almost exclusively for the climbing image part. I personally “feel” it works better but I could be wrong!

Good luck,
Esben

Fra: Divya Bohra - TNW <D.Bohra at tudelft.nl>
Dato: fredag den 16. februar 2018 kl. 12.48
Til: Esben Leonhard Kolsbjerg <esb at inano.au.dk>, "ase-users at listserv.fysik.dtu.dk" <ase-users at listserv.fysik.dtu.dk>
Emne: Re: [ase-users] NEB algorithm: calculation of variable t1 and climbing force

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/5747fe33/attachment-0001.html>


More information about the ase-users mailing list