Page 1 of 2

LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 23, 2023 4:45 am
by yihuang_xiong
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!
ldiag.zip
Best wishes,
Yihuang

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 23, 2023 6:47 am
by martin.schlipf
Please consider the advice in this thread and see if it resolves the issue.

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 23, 2023 2:33 pm
by yihuang_xiong
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!

Re: LDIAG=False has not effect for ionic relaxation

Posted: Wed Jan 25, 2023 8:24 am
by martin.schlipf
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

Re: LDIAG=False has not effect for ionic relaxation

Posted: Wed Jan 25, 2023 8:31 am
by martin.schlipf
PS: Please further note that the wiki only recommends LDIAG = FALSE with ALGO = Damped (VeryFast does not apply for hybrids).

Re: LDIAG=False has not effect for ionic relaxation

Posted: Wed Jan 25, 2023 8:41 pm
by yihuang_xiong
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.

Re: LDIAG=False has not effect for ionic relaxation

Posted: Thu Jan 26, 2023 9:10 am
by martin.schlipf
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:
  1. All steps use the KPOINTS, POSCAR, and POTCAR from the original post
  2. Run VASP with the following INCAR file ..., look at the PROCAR(?) file, and observe that ...
  3. Change the INCAR file to ... and run VASP again. Then the PROCAR(?) file shows these occupations ... but I would expect ... instead.
  4. In VASP.5.4.4, the same steps yield these occupations instead ...

Re: LDIAG=False has not effect for ionic relaxation

Posted: Thu Jan 26, 2023 8:30 pm
by yihuang_xiong
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.

Re: LDIAG=False has not effect for ionic relaxation

Posted: Fri Jan 27, 2023 7:30 am
by martin.schlipf
Thanks for the comprehensive report, I will investigate and get back to you.

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 30, 2023 2:28 pm
by martin.schlipf
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, ...).

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 30, 2023 3:16 pm
by yihuang_xiong
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!

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 30, 2023 7:42 pm
by martin.schlipf
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.

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Jan 30, 2023 8:18 pm
by yihuang_xiong
Excellent! Thank you very much!

Best wishes,
Yihuang

Re: LDIAG=False has not effect for ionic relaxation

Posted: Fri Feb 17, 2023 5:24 pm
by yihuang_xiong
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!

Re: LDIAG=False has not effect for ionic relaxation

Posted: Mon Feb 20, 2023 8:03 am
by martin.schlipf
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

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
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)

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
What other criteria do you look at?