LDIAG=False has not effect for ionic relaxation
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
LDIAG=False has not effect for ionic relaxation
Dear all:
I am facing an issue regarding LDAIG=False. I am running an HSE ionic relaxation by also constraining the occupancy (ISMEAR=-2, FERWE/FERDO). In addition, I am trying to maintain the orbital ordering using LDIAG = False. However, the LDIAG setting has no effect, and the orbitals are still altered during the relaxation. I am using vasp 6.3.2. Please find the input/output of the calculation attached below. May I have your suggestions on this? Thank you very much!
Best wishes,
Yihuang
I am facing an issue regarding LDAIG=False. I am running an HSE ionic relaxation by also constraining the occupancy (ISMEAR=-2, FERWE/FERDO). In addition, I am trying to maintain the orbital ordering using LDIAG = False. However, the LDIAG setting has no effect, and the orbitals are still altered during the relaxation. I am using vasp 6.3.2. Please find the input/output of the calculation attached below. May I have your suggestions on this? Thank you very much!
Best wishes,
Yihuang
You do not have the required permissions to view the files attached to this post.
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
Please consider the advice in this thread and see if it resolves the issue.
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
Thank you for the response!
Yes, we have applied the fix before, and the input occupancies are indeed enforced. The issue is that the order of orbitals is still altered even though the LDIAG = False is set, which is relevant to delta-scf calculation.
Thanks!
Yes, we have applied the fix before, and the input occupancies are indeed enforced. The issue is that the order of orbitals is still altered even though the LDIAG = False is set, which is relevant to delta-scf calculation.
Thanks!
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
Could you tell me what exactly you want to happen and what happens instead? I looked at the occupancies in your output and they seem to be conserved for the minority spin where you introduced the hole.
Code: Select all
#step 1
123 8.2982 1.00000
124 9.1949 0.00000
125 8.9684 1.00000
126 10.7604 1.00000
127 11.5504 0.00000
Code: Select all
#step 2
123 8.5305 1.00000
124 9.7322 0.00000
125 8.6236 1.00000
126 10.8127 1.00000
127 11.5165 0.00000
Martin Schlipf
VASP developer
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
PS: Please further note that the wiki only recommends LDIAG = FALSE with ALGO = Damped (VeryFast does not apply for hybrids).
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
Thanks a lot for the response!
I am trying to turn off the subspace diagonalization to conserve the orbital order during the ionic relaxation.
In this example calculation, I made a hole at band 124 and moved the electron to band 126 for the minority spin, both bands are mainly contributed by the silicon defect. In step 2, there is still a hole at band 124, but now this band is from the C valence band. The previous band 124 (from Si defect) is now band 125 and is occupied. It seems the reordering is still performed though LDAIG=False is set. This happens for both ALGO=Damped and ALGO=All. As a comparison, In vasp 5.4.4, band 124 is conserved throughout the ionic relaxation with LDAIG=False.
I am trying to turn off the subspace diagonalization to conserve the orbital order during the ionic relaxation.
In this example calculation, I made a hole at band 124 and moved the electron to band 126 for the minority spin, both bands are mainly contributed by the silicon defect. In step 2, there is still a hole at band 124, but now this band is from the C valence band. The previous band 124 (from Si defect) is now band 125 and is occupied. It seems the reordering is still performed though LDAIG=False is set. This happens for both ALGO=Damped and ALGO=All. As a comparison, In vasp 5.4.4, band 124 is conserved throughout the ionic relaxation with LDAIG=False.
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
I feel I'm missing a bit of the context here. Can you state the instructions to exactly produce what you are seeing? What I'm looking for is something along these lines:
- All steps use the KPOINTS, POSCAR, and POTCAR from the original post
- Run VASP with the following INCAR file ..., look at the PROCAR(?) file, and observe that ...
- Change the INCAR file to ... and run VASP again. Then the PROCAR(?) file shows these occupations ... but I would expect ... instead.
- In VASP.5.4.4, the same steps yield these occupations instead ...
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
I am sorry for the confusion. Please find the cleaned-up version of the input/output files attached to this post. Here are the steps to reproduce this issue.
I am running a Si defect in the diamond:
In VASP 6.3.2
1. Use INCAR, KPOINTS, POSCAR, and POTCAR in folder vasp6/step1/ to perform scf calculation.
1. Observed: In PROCAR, minority spin, band 104 shows strong contributions from Si. This is as expected.
2. Restart using WAVECAR, POSCAR, KPOINTS from step 1 and use INCAR in folder vasp6/step2 to perform NSW=2 ionic relaxation. I moved the electron from band 104 to band 106 for the minority spin. LDIAG=False force band 104 corresponds to Si.
1. Expected: In PROCAR, minority spin, band 104 shows contributions from Si.
2. Observed: In PROCAR, minority spin, band 104 shows no contributions from Si. Instead, band 105 shows a strong contribution from Si.
In VASP 5.4.4, following the same procedure, band 104 shows contributions from Si in PROCAR as expected after step2. The results are also included in folder vasp5/step2.
The issue is how LDIAG=False performs during ionic relaxation. In addition, both ALGO = All / Damped do not change the observations.
I am running a Si defect in the diamond:
In VASP 6.3.2
1. Use INCAR, KPOINTS, POSCAR, and POTCAR in folder vasp6/step1/ to perform scf calculation.
1. Observed: In PROCAR, minority spin, band 104 shows strong contributions from Si. This is as expected.
2. Restart using WAVECAR, POSCAR, KPOINTS from step 1 and use INCAR in folder vasp6/step2 to perform NSW=2 ionic relaxation. I moved the electron from band 104 to band 106 for the minority spin. LDIAG=False force band 104 corresponds to Si.
1. Expected: In PROCAR, minority spin, band 104 shows contributions from Si.
2. Observed: In PROCAR, minority spin, band 104 shows no contributions from Si. Instead, band 105 shows a strong contribution from Si.
In VASP 5.4.4, following the same procedure, band 104 shows contributions from Si in PROCAR as expected after step2. The results are also included in folder vasp5/step2.
The issue is how LDIAG=False performs during ionic relaxation. In addition, both ALGO = All / Damped do not change the observations.
You do not have the required permissions to view the files attached to this post.
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
Thanks for the comprehensive report, I will investigate and get back to you.
Martin Schlipf
VASP developer
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
I could reproduce the difference between VASP 6.3 and VASP 5.4. In the upcoming VASP 6.4 release, the orbital order is conserved with LDIAG = F during the relaxation but the electronic convergence is a bit less stable. Once the version is out, please verify this behavior for a production calculation. You can then improve the electronic convergence with the usual tags (AMIX, BMIX, AMIN, ...).
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
Thank you very much for looking into this!
May I ask when we can expect the 6.4 to be released? And Is there currently a workaround for this in vasp 6.3? Thank you!
May I ask when we can expect the 6.4 to be released? And Is there currently a workaround for this in vasp 6.3? Thank you!
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
VASP 6.4 is finished and will be released after final testing that everything works. So unless something unforeseen happens either this or next week. Therefore I would not try to patch this in 6.3 anymore.
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
Excellent! Thank you very much!
Best wishes,
Yihuang
Best wishes,
Yihuang
-
- Newbie
- Posts: 8
- Joined: Fri Jan 21, 2022 7:05 pm
Re: LDIAG=False has not effect for ionic relaxation
Hi Martin,
Thank you very much for making vasp.6.4.0 available! I have compiled it and run the previously posted example again. However, the orbital order is still not conserved with LDIAG = F during the relaxation compared to vasp.5.4. May I have your advice on this? Thank you!
Thank you very much for making vasp.6.4.0 available! I have compiled it and run the previously posted example again. However, the orbital order is still not conserved with LDIAG = F during the relaxation compared to vasp.5.4. May I have your advice on this? Thank you!
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: LDIAG=False has not effect for ionic relaxation
I cannot reproduce this with the example you have given my above. If I start from scratch on 8 cores, I obtain the following intermediate values
Can you reproduce these values? If not, which step is different? The first iteration in step2 takes 66 steps to converge.
When I examine the eigenvalues, the occupations are as expected (the output corresponds to two ionic steps)
What other criteria do you look at?
Code: Select all
grep 'F=' */OSZICAR
step1/OSZICAR: 1 F= -.69667427E+03 E0= -.69667427E+03 d E =-.177658E-15 mag= 2.0000
step2/OSZICAR: 1 F= -.69438864E+03 E0= -.69438864E+03 d E =-.694389E+03 mag= 2.0000
step2/OSZICAR: 2 F= -.69482154E+03 E0= -.69482154E+03 d E =-.432906E+00 mag= 2.0000
When I examine the eigenvalues, the occupations are as expected (the output corresponds to two ionic steps)
Code: Select all
grep -C1 ' 124 ' step2/OUTCAR
123 8.0362 1.00000
124 8.0690 1.00000
125 8.9390 1.00000
--
123 8.2922 1.00000
124 9.2042 0.00000
125 8.9687 1.00000
--
123 8.1248 1.00000
124 8.3538 1.00000
125 8.9614 1.00000
--
123 8.5284 1.00000
124 9.7336 0.00000
125 8.6252 1.00000
Martin Schlipf
VASP developer