ISMEAR=-2 fixed occupations during ionic relaxation

Question on input files/tags, interpreting output, etc.

Please check whether the answer to your question is given in the VASP online manual or has been discussed in this forum previously!

Moderators: Global Moderator, Moderator

Post Reply
Message
Author
tug03990
Newbie
Newbie
Posts: 7
Joined: Mon Nov 18, 2019 8:29 pm

ISMEAR=-2 fixed occupations during ionic relaxation

#1 Post by tug03990 » Wed Dec 29, 2021 4:06 am

Hi,

I try to run constrained DFT during ionic relaxation (ISIF=2) by setting ISMEAR = -2 and LDIAG = False. The resulting occupations of eigenstates are not fixed as setting in INCAR when using VASP6.2.1, and it seems to re-distribute occupations for optimization of electronic structures. As a result, I actually get the ground-state electronic and ionic structure.

I use the exact same setting in INCAR for VASP5.4.4 for the same calculation. It works perfectly, which gives the fixed occupation as INCAR sets. I look up VaspWIKI and the only parameter that seems to matter with this problem is LDIAG, which, as suggested in VaspWIKI, I set to False. Would there be any missing parameters that I need to set in Vasp6 regarding this issue? Thanks in advance!

fabien_tran1
Global Moderator
Global Moderator
Posts: 316
Joined: Mon Sep 13, 2021 11:02 am

Re: ISMEAR=-2 fixed occupations during ionic relaxation

#2 Post by fabien_tran1 » Mon Jan 03, 2022 10:54 am

Hi,

What are you using for ALGO? According to what is mentioned here LDIAG, it seems that LDIAG=.FALSE. is incompatible with ALGO = Normal or Fast:
"For the algorithms ALGO = Normal or Fast, by construction it is not possible to switch off subspace diagonalization, ..."
May it be the problem? Regarding this, I will need to ask if there has been a change between versions 5.4.4 and 6.2.1.

tug03990
Newbie
Newbie
Posts: 7
Joined: Mon Nov 18, 2019 8:29 pm

Re: ISMEAR=-2 fixed occupations during ionic relaxation

#3 Post by tug03990 » Tue Jan 04, 2022 5:20 pm

Hi,

Thanks for replying. ALGO=All is used. Here is the INCAR. Thanks!

ALGO = All
EDIFF = 1e-05
EDIFFG = -0.01
ENCUT = 228
FERDO = 104*1 36*0
FERWE = 104*1 1*0.5 1*0.5 1*1 33*0
HFSCREEN = 0.2
IBRION = 2
ICHARG = 1
ISIF = 2
ISMEAR = -2
ISPIN = 2
ISTART = 1
ISYM = 3
LASPH = True
LCHARG = False
LDIAG = False
LHFCALC = True
LORBIT = 11
LREAL = Auto
LSUBROT = False
LWAVE = False
MAGMOM = 32*0.6
NBANDS = 140
NCORE = 10
NELECT = 210.0
NELM = 250
NELMIN = 5
NSW = 240
PREC = Accurate
PRECFOCK = Fast
SIGMA = 0.05

fabien_tran1
Global Moderator
Global Moderator
Posts: 316
Joined: Mon Sep 13, 2021 11:02 am

Re: ISMEAR=-2 fixed occupations during ionic relaxation

#4 Post by fabien_tran1 » Tue Jan 11, 2022 8:32 am

Hi,

I was told that there is indeed a bug in VASP6.2.1, and that it was fixed just a few months ago. In main.F you need to replace

Code: Select all

!=======================================================================
! INFO%LONESW initialize W_F%CELEN fermi-weights and augmentation charge
!=======================================================================
      E%EENTROPY=0
      
      IF(LDO_AB_INITIO) THEN
         IF ((INFO%LONESW .AND. KPOINTS%ISMEAR/=-2) .OR. (INFO%IALGO==3 .AND. KPOINTS%ISMEAR/=-2)) THEN
            E%EENTROPY=0
            IF (INFO%LONESW) W_F%CELTOT = W%CELTOT
            CALL DENSTA( IO%IU0, IO%IU6, WDES, W, KPOINTS, INFO%NELECT, &
                  INFO%NUP_DOWN,  E%EENTROPY, EFERMI, KPOINTS%SIGMA, .FALSE., &
                  NEDOS, 0, 0, DOS, DOSI, PAR, DOSPAR)
         ENDIF
      ENDIF
by

Code: Select all

!=======================================================================
! INFO%LONESW initialize W_F%CELEN fermi-weights and augmentation charge
!=======================================================================
      E%EENTROPY=0
      
      IF(LDO_AB_INITIO) THEN
         IF (INFO%LONESW .OR. (KPOINTS%ISMEAR/=-2 .AND. INFO%IALGO==3) ) THEN
            IF (INFO%LONESW) W_F%CELTOT = W%CELTOT
            CALL DENSTA( IO%IU0, IO%IU6, WDES, W, KPOINTS, INFO%NELECT, &
                  INFO%NUP_DOWN,  E%EENTROPY, EFERMI, KPOINTS%SIGMA, .FALSE., &
                  NEDOS, 0, 0, DOS, DOSI, PAR, DOSPAR)
         ENDIF
      ENDIF
Thus, make this change, recompile VASP and check if this is ok.

henrique_miranda
Global Moderator
Global Moderator
Posts: 414
Joined: Mon Nov 04, 2019 12:41 pm
Contact:

Re: ISMEAR=-2 fixed occupations during ionic relaxation

#5 Post by henrique_miranda » Tue Nov 22, 2022 9:39 pm

Recently someone reported the same issue in this thread:
https://www.vasp.at/forum/viewtopic.php?f=4&t=18725

Post Reply