Dear all,
I am using the NEB to calculate the TS. I use 5 images. The energy of the 3rd image is just oscillating and the XDATCAR
shows that the atoms are just oscillating back and forth. After 375 steps, it is still oscillating and not yet converged.
The parameters in INCAR are:
IMAGES=5
LWAVE=.FALSE.
LORBIT=11
ICHARG=1
IBRION=3
ADDGRID= .TRUE.
ISIF=2
NSW=2500
ISMEAR=0
SIGMA=0.01
PREC= HIGH
ALGO=Fast
ISPIN=1
NELMIN=3
LREAL=Auto
POTIM=0
IOPT=2
LCHARG = FALSE
EDIFF= 1E-4
EDIFFG=-0.02
Since it is not converged, I am trying NEB with 3 images but still the 2nd image is oscillating. Then I use IOPT=7, but it is still oscillating.
How can I get to the TS?
Energy and coordinates in NEB are oscillating
Moderator: moderators
Re: Energy and coordinates in NEB are oscillating
If you post a .tar.gz file, I would be interested in looking at it. This problem can happen with an aggressive optimizer, but if you tried fire with a small time step (e.g. 0.1) and it still oscillates, then it is probably not an optimizer problem.
Another possibility is poor resolution near the saddle. In the limit of too-few images, where the tangent to the path is not alined along the reaction coordinate at the saddle, the climbing image will not converge. You can check this by looking for the angle between images at the climbing image. Angle near 180 degrees are great, angles near 90 degrees are a major problem. In the later case, you can add images to fix the problem.
One last possibility: if you have no frozen atoms, the system can translate and add an arbitrary distance between images. You can see this in the minimum energy path and moving images become close in energy to the endpoints. Then, the resolution near the saddle is reduced (as in the previous case). But then, you can freeze one atom in the same location for each image to fix the problem instead of increasing the number of images.
One final suggestion: I've found that it is always better to converge a band using PREC=Normal and a modest ENCUT. It is so easy to reconverge a saddle with more accurate settings once you are close to converged. Using accurate settings during initial optimizations of a band just wastes computer time. (and, ironically, your ediff is a little high for conjugate gradients, but it is fine for fire).
Another possibility is poor resolution near the saddle. In the limit of too-few images, where the tangent to the path is not alined along the reaction coordinate at the saddle, the climbing image will not converge. You can check this by looking for the angle between images at the climbing image. Angle near 180 degrees are great, angles near 90 degrees are a major problem. In the later case, you can add images to fix the problem.
One last possibility: if you have no frozen atoms, the system can translate and add an arbitrary distance between images. You can see this in the minimum energy path and moving images become close in energy to the endpoints. Then, the resolution near the saddle is reduced (as in the previous case). But then, you can freeze one atom in the same location for each image to fix the problem instead of increasing the number of images.
One final suggestion: I've found that it is always better to converge a band using PREC=Normal and a modest ENCUT. It is so easy to reconverge a saddle with more accurate settings once you are close to converged. Using accurate settings during initial optimizations of a band just wastes computer time. (and, ironically, your ediff is a little high for conjugate gradients, but it is fine for fire).
Re: Energy and coordinates in NEB are oscillating
Thanks a lot for your reply. I have attached the iopt=7 and iopt=2 calculations with 5 images.
I have tried both fire and aggressive optimizer, and both of them have the same problem.
I have tried both fire and aggressive optimizer, and both of them have the same problem.
- Attachments
-
- iopt7.tar.gz
- BH3 vacancy diffusion barrier
- (50.78 MiB) Downloaded 1138 times
-
- iopt2.tar.gz
- BH3 vacancy diffusion barrier
- (98.56 MiB) Downloaded 1137 times
Re: Energy and coordinates in NEB are oscillating
The iopt=2 calculation is certainly oscillating, likely because it is far from the minimum energy path (MEP).
The iopt=7 calculation does not have this problem. The path, however, is not smooth. There are small angles between the images along the path (e.g. grep for NEB in 03/OUTCAR). You can also see this by looking at a movie of the path directly.
I recommend starting from an initially linear path using IOPT=7 (or 3) with TIMESTEP=0.01. Check that the initial path is reasonable, for example, by making sure that the initial forces are below 10 eV/Ang. In about 100 iterations, the forces should be below 1 eV/Ang -- again, check that the path is continuous and reasonable. Then, you can switch to a more aggressive optimizer for efficient convergence to the MEP. If you start with an aggressive optimizer and the path gets kinky, you basically can not recover from this situation.
The iopt=7 calculation does not have this problem. The path, however, is not smooth. There are small angles between the images along the path (e.g. grep for NEB in 03/OUTCAR). You can also see this by looking at a movie of the path directly.
I recommend starting from an initially linear path using IOPT=7 (or 3) with TIMESTEP=0.01. Check that the initial path is reasonable, for example, by making sure that the initial forces are below 10 eV/Ang. In about 100 iterations, the forces should be below 1 eV/Ang -- again, check that the path is continuous and reasonable. Then, you can switch to a more aggressive optimizer for efficient convergence to the MEP. If you start with an aggressive optimizer and the path gets kinky, you basically can not recover from this situation.
Re: Energy and coordinates in NEB are oscillating
hi graeme,
you suggested that we can freeze one atom in the same location for each image to fix the problem instead of increasing the number of images. After using nebmake.pl to generate images, we freeze one atom in their location for all images. But the locations of the same atom are different due to thier generation from nebamake.pl. Should we adjust their locations to the same coordinates for all images?
Thanks!
you suggested that we can freeze one atom in the same location for each image to fix the problem instead of increasing the number of images. After using nebmake.pl to generate images, we freeze one atom in their location for all images. But the locations of the same atom are different due to thier generation from nebamake.pl. Should we adjust their locations to the same coordinates for all images?
Thanks!
Re: Energy and coordinates in NEB are oscillating
If you just set the frozen atom to the same position in the initial and final states (e.g. by translating one of them appropriately) it will remain frozen in that same place if you use nebmake.