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!
ISMEAR=-2 fixed occupations during ionic relaxation
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 7
- Joined: Mon Nov 18, 2019 8:29 pm
-
- Global Moderator
- Posts: 419
- Joined: Mon Sep 13, 2021 11:02 am
Re: ISMEAR=-2 fixed occupations during ionic relaxation
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.
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.
-
- Newbie
- Posts: 7
- Joined: Mon Nov 18, 2019 8:29 pm
Re: ISMEAR=-2 fixed occupations during ionic relaxation
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
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
-
- Global Moderator
- Posts: 419
- Joined: Mon Sep 13, 2021 11:02 am
Re: ISMEAR=-2 fixed occupations during ionic relaxation
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
by
Thus, make this change, recompile VASP and check if this is ok.
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
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
-
- Global Moderator
- Posts: 506
- Joined: Mon Nov 04, 2019 12:41 pm
- Contact:
Re: ISMEAR=-2 fixed occupations during ionic relaxation
Recently someone reported the same issue in this thread:
https://www.vasp.at/forum/viewtopic.php?f=4&t=18725
https://www.vasp.at/forum/viewtopic.php?f=4&t=18725