LBFGS optimizer II: what did i do is wrong...
Posted: Sun Dec 05, 2010 6:45 pm
I put this post as a follow up of my initial one; but it appears to deserve a separate one itself. Sorry about the redundancy .
I did a comparable clibming NEB calculation using both LBFGS and Quasi Newton calculation with 9 images. All images have already been pre-converged to 0.1 ev/Angtrom level (using quasi newton) before these two calculations started, aiming at a force at 0.05 ev/angstrom.
My question lies at the fact how to use LBGFGS? I could use quasi netown but not LBFGS to converge the neb to 0.05 ev/ang.
One extra point even puzzled me more is the fact that quasi newton is giving image 4 as saddle point (as expected, this is the saddle point in the precoverged calculaltion) while LBGFGS is pushing image 3 to saddle point. Is that the reason why quasi works better? In pre-converging thoese images to 0.1 ev/ang, i also used the climibing giving saddle point at image 4.
The Quasi Newton works nicely and converged within ~ 586 ionic steps, giving:
0 0.00000000 -725.25933600 0.00000000
1 0.04798400 -725.16043800 0.09889800
2 0.03496300 -725.16043500 0.09890100
3 0.01429300 -725.17901700 0.08031900
4 0.01258700 -724.99759100 0.26174500
5 0.01369900 -726.53056900 -1.27123300
6 0.02620400 -726.76467100 -1.50533500
7 0.04924000 -726.94720400 -1.68786800
8 0.02405400 -727.13057500 -1.87123900
9 0.03171200 -727.18864600 -1.92931000
10 0.00000000 -727.24304000 -1.98370400
while LBFGS couldnt converged the system before hiting the wall time
0 0.00000000 -725.25933600 0.00000000
1 0.26148300 -725.12632800 0.13300800
2 0.59448300 -725.17887300 0.08046300
3 1.19119300 -724.94696500 0.31237100
4 0.52011200 -726.34235700 -1.08302100
5 0.20903200 -726.68181200 -1.42247600
6 0.54717400 -726.88811300 -1.62877700
7 0.29292300 -727.09436800 -1.83503200
8 0.11763400 -727.20357900 -1.94424300
9 0.44389100 -727.18227700 -1.92294100
10 0.00000000 -727.24304000 -1.98370400
My INCAR files for LBGFGS is as follows:
IALGO = 48
MAXMIX = 50
LREAL = A
NSIM = 4
ISPIN = 1
NSW = 999
IBRION = 3
NFREE = 2
POTIM = 0 #0 is to use Austin LBFGS NEB optimizer, check with NEB setting section
EDIFFG = -0.05 # try 0.1 first, then 0.05, then 0.02
ISMEAR = 0 # recommended for semiconductor
SIGMA = 0.05 # recommended for semiconductor
#electronic convergence
EDIFF = 1E-4
#NELMIN = 5
NELM = 100
NELMIN = 4
ENCUT = 450
!AMIX = 0.1 #set amix
!BMIX = 0.0001 #almost zero in initial mixer
NGX=106
NGY=106
NGZ=138
#NEB switched
IMAGES = 9 ! number of images, exclude initial and final states
SPRING = -5
LCLIMB=.TRUE. # True is the default switch on the climbing image method to locate the exact saddle point
IOPT = 1 # optimize globably, rather than image by image basis
I did a comparable clibming NEB calculation using both LBFGS and Quasi Newton calculation with 9 images. All images have already been pre-converged to 0.1 ev/Angtrom level (using quasi newton) before these two calculations started, aiming at a force at 0.05 ev/angstrom.
My question lies at the fact how to use LBGFGS? I could use quasi netown but not LBFGS to converge the neb to 0.05 ev/ang.
One extra point even puzzled me more is the fact that quasi newton is giving image 4 as saddle point (as expected, this is the saddle point in the precoverged calculaltion) while LBGFGS is pushing image 3 to saddle point. Is that the reason why quasi works better? In pre-converging thoese images to 0.1 ev/ang, i also used the climibing giving saddle point at image 4.
The Quasi Newton works nicely and converged within ~ 586 ionic steps, giving:
0 0.00000000 -725.25933600 0.00000000
1 0.04798400 -725.16043800 0.09889800
2 0.03496300 -725.16043500 0.09890100
3 0.01429300 -725.17901700 0.08031900
4 0.01258700 -724.99759100 0.26174500
5 0.01369900 -726.53056900 -1.27123300
6 0.02620400 -726.76467100 -1.50533500
7 0.04924000 -726.94720400 -1.68786800
8 0.02405400 -727.13057500 -1.87123900
9 0.03171200 -727.18864600 -1.92931000
10 0.00000000 -727.24304000 -1.98370400
while LBFGS couldnt converged the system before hiting the wall time
0 0.00000000 -725.25933600 0.00000000
1 0.26148300 -725.12632800 0.13300800
2 0.59448300 -725.17887300 0.08046300
3 1.19119300 -724.94696500 0.31237100
4 0.52011200 -726.34235700 -1.08302100
5 0.20903200 -726.68181200 -1.42247600
6 0.54717400 -726.88811300 -1.62877700
7 0.29292300 -727.09436800 -1.83503200
8 0.11763400 -727.20357900 -1.94424300
9 0.44389100 -727.18227700 -1.92294100
10 0.00000000 -727.24304000 -1.98370400
My INCAR files for LBGFGS is as follows:
IALGO = 48
MAXMIX = 50
LREAL = A
NSIM = 4
ISPIN = 1
NSW = 999
IBRION = 3
NFREE = 2
POTIM = 0 #0 is to use Austin LBFGS NEB optimizer, check with NEB setting section
EDIFFG = -0.05 # try 0.1 first, then 0.05, then 0.02
ISMEAR = 0 # recommended for semiconductor
SIGMA = 0.05 # recommended for semiconductor
#electronic convergence
EDIFF = 1E-4
#NELMIN = 5
NELM = 100
NELMIN = 4
ENCUT = 450
!AMIX = 0.1 #set amix
!BMIX = 0.0001 #almost zero in initial mixer
NGX=106
NGY=106
NGZ=138
#NEB switched
IMAGES = 9 ! number of images, exclude initial and final states
SPRING = -5
LCLIMB=.TRUE. # True is the default switch on the climbing image method to locate the exact saddle point
IOPT = 1 # optimize globably, rather than image by image basis