LDIAG=False has not effect for ionic relaxation

Problems running VASP: crashes, internal errors, "wrong" results.


Moderators: Global Moderator, Moderator

Message
Author
yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

LDIAG=False has not effect for ionic relaxation

#1 Post by yihuang_xiong » Mon Jan 23, 2023 4:45 am

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
You do not have the required permissions to view the files attached to this post.

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#2 Post by martin.schlipf » Mon Jan 23, 2023 6:47 am

Please consider the advice in this thread and see if it resolves the issue.

Martin Schlipf
VASP developer


yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#3 Post by yihuang_xiong » Mon Jan 23, 2023 2:33 pm

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!

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#4 Post by martin.schlipf » Wed Jan 25, 2023 8:24 am

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


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#5 Post by martin.schlipf » Wed Jan 25, 2023 8:31 am

PS: Please further note that the wiki only recommends LDIAG = FALSE with ALGO = Damped (VeryFast does not apply for hybrids).

Martin Schlipf
VASP developer


yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#6 Post by yihuang_xiong » Wed Jan 25, 2023 8:41 pm

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.

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#7 Post by martin.schlipf » Thu Jan 26, 2023 9:10 am

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

Martin Schlipf
VASP developer


yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#8 Post by yihuang_xiong » Thu Jan 26, 2023 8:30 pm

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.
You do not have the required permissions to view the files attached to this post.

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#9 Post by martin.schlipf » Fri Jan 27, 2023 7:30 am

Thanks for the comprehensive report, I will investigate and get back to you.

Martin Schlipf
VASP developer


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#10 Post by martin.schlipf » Mon Jan 30, 2023 2:28 pm

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


yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#11 Post by yihuang_xiong » Mon Jan 30, 2023 3:16 pm

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!

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#12 Post by martin.schlipf » Mon Jan 30, 2023 7:42 pm

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


yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#13 Post by yihuang_xiong » Mon Jan 30, 2023 8:18 pm

Excellent! Thank you very much!

Best wishes,
Yihuang

yihuang_xiong
Newbie
Newbie
Posts: 8
Joined: Fri Jan 21, 2022 7:05 pm

Re: LDIAG=False has not effect for ionic relaxation

#14 Post by yihuang_xiong » Fri Feb 17, 2023 5:24 pm

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!

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: LDIAG=False has not effect for ionic relaxation

#15 Post by martin.schlipf » Mon Feb 20, 2023 8:03 am

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?

Martin Schlipf
VASP developer


Locked