Thank you for putting so much work on effort into VTS.
I'm testing VTS for diffusion of hydrogen into an oxygen vacancy.
In my tests I got convergence using VASP's ibrion=1 without the VTS patch. However using a VTS patched version results in a 'outwards' movement of the hydrogen in image 01 and 04 (IMAGES = 4) of the neb chain as can be seen at the attached images. Please find the details of the calculation in the dropbox link below.
http://bit.ly/vts_neb_zno
[attachment=0]contcar.jpg[/attachment]
[attachment=1]poscar.jpg[/attachment]
Sincerely,
Alex
Divergence using VTS
Moderator: moderators
Divergence using VTS
- Attachments
-
- combined contcar after one step
- contcar.jpg (66.92 KiB) Viewed 13203 times
-
- combined poscar files
- poscar.jpg (65.58 KiB) Viewed 13203 times
Re: Divergence using VTS
The problem is that your atoms are listed in a different order in the endpoints as compared to the moving images.
Re: Divergence using VTS
Thank you very much for your quick reply, this was indeed the problem.
May I further ask about some advice to improve convergence?
In my tests in found quick-min to be the only reliable optimizer, however it takes about 70 steps to get to forces below 0.05 eV/Ang.
The graph shows an optimization using the FIRE optimizer after pre-convergence (30 steps) with quick-min. It seems to run into problems after about 10 steps.
[attachment=0]fire.png[/attachment]
I found the LBFGS to perform worse than this.
I used 4 kpoints on a 72 Atoms supercell using the following INCAR parameters:
ENCUT = 520.000000
TIMESTEP = 0.070000
MAXMOVE = 0.200000
SPRING = -5.000000
SIGMA = 0.050000
POTIM = 0.000000
EDIFF = 1.00e-06
EDIFFG = -5.00e-02
PREC = Normal
ALGO = VeryFast
MAXMIX = 40
IMAGES = 8
ISMEAR = -5
KPAR = 4
NELMIN = 4
ISTART = 0
NWRITE = 0
ICHARG = 2
NELM = 50
NSW = 100
NELMDL = -6
IBRION = 3
NPAR = 2
ISIF = 2
IOPT = 7
LREAL = Auto
May I further ask about some advice to improve convergence?
In my tests in found quick-min to be the only reliable optimizer, however it takes about 70 steps to get to forces below 0.05 eV/Ang.
The graph shows an optimization using the FIRE optimizer after pre-convergence (30 steps) with quick-min. It seems to run into problems after about 10 steps.
[attachment=0]fire.png[/attachment]
I found the LBFGS to perform worse than this.
I used 4 kpoints on a 72 Atoms supercell using the following INCAR parameters:
ENCUT = 520.000000
TIMESTEP = 0.070000
MAXMOVE = 0.200000
SPRING = -5.000000
SIGMA = 0.050000
POTIM = 0.000000
EDIFF = 1.00e-06
EDIFFG = -5.00e-02
PREC = Normal
ALGO = VeryFast
MAXMIX = 40
IMAGES = 8
ISMEAR = -5
KPAR = 4
NELMIN = 4
ISTART = 0
NWRITE = 0
ICHARG = 2
NELM = 50
NSW = 100
NELMDL = -6
IBRION = 3
NPAR = 2
ISIF = 2
IOPT = 7
LREAL = Auto
- Attachments
-
- forces and total energy
- fire.png (52.19 KiB) Viewed 13183 times
Re: Divergence using VTS
All optimizers will have a setting that controls stability vs speed. For fire, try reducing the TIMESTEP variable and see if you obtain steady convergence (e.g. to 0.02). For LBFGS, it is the INVCURV, which can be reduced to 0.002. Perhaps more importantly, you need accurate curvatures for LBFGS which may require reducing EDIFF to 1e-7 or 1e-8.
*BUT* very often problems that seem to be related to the optimizers are actually related to the setup of the calculation. Remember your previous experience with atom ordering -- what appeared to be an optimizer problem was really caused by a problem with the setup of the calculation. In this current case, I see variation in the forces for a few images. Take a look at them and make sure that you have a smooth pathway with sufficient images to resolve the reaction pathway. Look at a movie of the converging pathway and make sure that atoms move in a continuous way and there are no discontinuities. And again, the default optimizer settings are generally appropriate so check your calculation geometries before focussing too much on optimizer tuning.
*BUT* very often problems that seem to be related to the optimizers are actually related to the setup of the calculation. Remember your previous experience with atom ordering -- what appeared to be an optimizer problem was really caused by a problem with the setup of the calculation. In this current case, I see variation in the forces for a few images. Take a look at them and make sure that you have a smooth pathway with sufficient images to resolve the reaction pathway. Look at a movie of the converging pathway and make sure that atoms move in a continuous way and there are no discontinuities. And again, the default optimizer settings are generally appropriate so check your calculation geometries before focussing too much on optimizer tuning.
Re: Divergence using VTS
Thank you, I ultimately had good results using:
IOPT = 7
MAXMOVE = 0.200000
TIMESTEP = 0.100000
FALPHA = 0.800000
FTIMEDEC = 0.500000
FTIMEINC = 1.100000
For whom it may be useful, here is a python script to make a movie of neb-images as they converge using the XDATCAR (v5) files. The combined XDATCAR file can be visualized using the latest version of VMD with the VASP_XDATCAR5 importer.
IOPT = 7
MAXMOVE = 0.200000
TIMESTEP = 0.100000
FALPHA = 0.800000
FTIMEDEC = 0.500000
FTIMEINC = 1.100000
For whom it may be useful, here is a python script to make a movie of neb-images as they converge using the XDATCAR (v5) files. The combined XDATCAR file can be visualized using the latest version of VMD with the VASP_XDATCAR5 importer.
- Attachments
-
- neb_to_xdatcar.py.txt
- (1.47 KiB) Downloaded 869 times
Re: Divergence using VTS
Ah, great to hear that things work out. And thank you for sharing the script!