When I grep "IonicM" following is printed. So my question is regarding the convergence. The change in energy (grad_K ?) for subsequent ionic step is not reducing. Do you think it is going fine?
Also here I am using electronic-scf. Is there a way to know if electronic-scf will be more stable than the default one or is it just a trial and error?
Thank you for any help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I visualized your initial geometry and it does not seem to be correct: there are large voids inside the Pt slab. Perhaps that is why you are encountering difficulty relaxing the geometry.
As for the electronic algo, the default one is the stable but slower method. It will always converge given enough iterations. The electronic-SCF is the method that requires more care. It is usually faster, but can be tricky to converge for metallic slab systems due to charge sloshing instabilities. You can reduce the mixFraction to aid convergence: the default value of 0.5 is aggressive and converges most systems rapidly, but can become unstable for large metal slabs. You can try reducing that to 0.1 if you notice your SCF energy oscillating or diverging.
But in your present case, I think your issue is the invalid geometry. If you converted the geometry from other codes, did you account for the fact that the lattice vectors are along columns and not rows in the JDFTx input?
Cheers,
Shankar
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes I do remember that column vectors are lattice vectors. But sorry about that, something else went wrong with the geometry. Thanks for pointing that out and for the additional information on electronic algorithms.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello JDFTx users
I am trying to optimize the following system (H atom adsorption on Pt slab). Following is my input file.
dump-name h-ads-551kpoints.$var
lattice \
5.5437171645025325 2.7718585822512662 0.00 \
0.00 4.8009998958550284 0.00 \
0 0 24.5264261104466676
latt-scale 1.889725989 1.889725989 1.889725989
Pseudopotential and atom positions:
ion-species /home/satish/build/pseudopotentials/GBRV/pt_pbe_v1.uspp
ion-species /home/satish/build/pseudopotentials/GBRV/h_pbe_v1.uspp
coords-type lattice
ion Pt 0.166668149286450 0.166668149286450 0.404721824023872 0
ion Pt 0.666663701427094 0.166668149286450 0.404721824023854 0
ion Pt 0.166668149286450 0.666663701427094 0.404721824023854 0
ion Pt 0.666666666666664 0.666666666666664 0.404728023752342 0
ion Pt 0.791416979753731 0.355011538140164 0.523900907638908 1
ion Pt 0.325668028774064 0.337165985612972 0.488679988044663 1
ion Pt 0.791416979753789 0.853571482106084 0.523900907638908 1
ion Pt 0.328216232910303 0.835891883544851 0.570258910494264 1
ion Pt 0.178736332814382 -0.089368166407191 0.678358126225441 1
ion Pt 0.728002317953115 -0.108842855628629 0.633208763433907 1
ion Pt 0.172969286450047 0.413515356774976 0.591825080426663 1
ion Pt 0.728002317953185 0.380840537675478 0.633208763433889 1
ion H 1.110180943205115 -0.055090471602561 0.741432177588171 1
Brillouin zone sampling
kpoint-folding 5 5 1
kpoint 0 0 0 1
ionic-minimize \
dirUpdateScheme L-BFGS \
linminMethod DirUpdateRecommended \
nIterations 100
electronic-scf
elec-ex-corr gga-pbe
dump End State Ecomponents
elec-n-bands 130
elec-fermi-fillings 0 0.01
When I grep "IonicM" following is printed. So my question is regarding the convergence. The change in energy (grad_K ?) for subsequent ionic step is not reducing. Do you think it is going fine?
IonicMinimize: Iter: 0 F: -1067.480398063887606 |grad|_K: 8.152e-03
IonicMinimize: Iter: 1 F: -1067.482091266268981 |grad|_K: 7.292e-03 alpha: 1.000e+00 linmin: -8.070e-01
IonicMinimize: Iter: 2 F: -1067.496432905347547 |grad|_K: 6.654e-03 alpha: 1.000e+00 linmin: -3.693e-01
IonicMinimize: Iter: 3 F: -1067.512389043466555 |grad|_K: 9.445e-03 alpha: 1.000e+00 linmin: -2.144e-01
IonicMinimize: Iter: 4 F: -1067.521244522035886 |grad|_K: 1.967e-02 alpha: 1.000e+00 linmin: 9.677e-02
IonicMinimize: Iter: 5 F: -1067.545923164130045 |grad|_K: 9.360e-03 alpha: 1.000e+00 linmin: -2.011e-01
IonicMinimize: Iter: 6 F: -1067.557856462729433 |grad|_K: 7.450e-03 alpha: 1.000e+00 linmin: -5.338e-01
IonicMinimize: Iter: 7 F: -1067.574370021649202 |grad|_K: 8.208e-03 alpha: 1.000e+00 linmin: 8.976e-02
IonicMinimize: Wolfe criterion not satisfied: alpha: 1 (E-E0)/|gdotd0|: 0.494898 gdotd/gdotd0: -2.03784 (taking cubic step)
IonicMinimize: Iter: 8 F: -1067.579574988117884 |grad|_K: 7.115e-03 alpha: 3.398e-01 linmin: -1.096e-02
IonicMinimize: Iter: 9 F: -1067.585946618954495 |grad|_K: 8.432e-03 alpha: 1.000e+00 linmin: -3.722e-02
IonicMinimize: Iter: 10 F: -1067.593360314359870 |grad|_K: 6.634e-03 alpha: 1.000e+00 linmin: -3.104e-01
IonicMinimize: Iter: 11 F: -1067.602324667437870 |grad|_K: 1.030e-02 alpha: 1.000e+00 linmin: 7.668e-03
IonicMinimize: Iter: 12 F: -1067.609160116464182 |grad|_K: 8.651e-03 alpha: 1.000e+00 linmin: -2.552e-01
IonicMinimize: Iter: 13 F: -1067.615741723216161 |grad|_K: 6.852e-03 alpha: 1.000e+00 linmin: 7.153e-02
IonicMinimize: Iter: 14 F: -1067.618447450570102 |grad|_K: 4.536e-03 alpha: 1.000e+00 linmin: 2.897e-01
IonicMinimize: Iter: 15 F: -1067.620875765413530 |grad|_K: 2.550e-03 alpha: 1.000e+00 linmin: -3.135e-01
Also here I am using electronic-scf. Is there a way to know if electronic-scf will be more stable than the default one or is it just a trial and error?
Thank you for any help.
Hi Satish,
I visualized your initial geometry and it does not seem to be correct: there are large voids inside the Pt slab. Perhaps that is why you are encountering difficulty relaxing the geometry.
As for the electronic algo, the default one is the stable but slower method. It will always converge given enough iterations. The electronic-SCF is the method that requires more care. It is usually faster, but can be tricky to converge for metallic slab systems due to charge sloshing instabilities. You can reduce the mixFraction to aid convergence: the default value of 0.5 is aggressive and converges most systems rapidly, but can become unstable for large metal slabs. You can try reducing that to 0.1 if you notice your SCF energy oscillating or diverging.
But in your present case, I think your issue is the invalid geometry. If you converted the geometry from other codes, did you account for the fact that the lattice vectors are along columns and not rows in the JDFTx input?
Cheers,
Shankar
Hi Shankar
Yes I do remember that column vectors are lattice vectors. But sorry about that, something else went wrong with the geometry. Thanks for pointing that out and for the additional information on electronic algorithms.