About the DMFT calculations for BiFeO3 using Hubbard I
Posted: Sat Apr 01, 2017 1:12 pm
Dear all,
I am testing the DMFT calculations (using Hubbard I solver) for BiFeO3. My input is attached at the end of this topic (I use the LDA paw). Here, I use two datasets, with the first one for a normal lda calculation, and the second one for dmft calculation.
The calculation for the first dataset converges quite well, with the output like below (the magnetic moments are also reasonable within lda):
However, when doing the dmft calculations, the convergence is very very slow. After more than 50 steps (nstep), the energy vibrates within 1.0e-5~1.0e-4 Ha, and the tolvrs vibrates with 1.0e-3~1.0e-2. But they never converge. See below:
So, I have the following questions:
(1) how to converge the dmft loops (i.e. to change which parameters)?
(2) Is my input file reasonable? Or there is something wrong with my input?
I appreciate it very much for your answers. Thank you very much!
I am testing the DMFT calculations (using Hubbard I solver) for BiFeO3. My input is attached at the end of this topic (I use the LDA paw). Here, I use two datasets, with the first one for a normal lda calculation, and the second one for dmft calculation.
The calculation for the first dataset converges quite well, with the output like below (the magnetic moments are also reasonable within lda):
Code: Select all
ETOT 29 -357.51528896451 -3.98E-13 8.42E-13 4.70E-10 0.000
ETOT 30 -357.51528896451 -1.31E-12 3.64E-13 4.89E-10 0.000
ETOT 31 -357.51528896451 -3.41E-13 1.74E-13 1.45E-11 0.000
ETOT 32 -357.51528896451 -6.25E-13 7.75E-14 2.28E-12 0.000
ETOT 33 -357.51528896451 -1.14E-12 3.49E-14 8.63E-13 0.000
At SCF step 33 nres2 = 8.63E-13 < tolvrs= 1.00E-12 =>converged.
However, when doing the dmft calculations, the convergence is very very slow. After more than 50 steps (nstep), the energy vibrates within 1.0e-5~1.0e-4 Ha, and the tolvrs vibrates with 1.0e-3~1.0e-2. But they never converge. See below:
Code: Select all
ETOT 49 -357.19641407394 -1.01E-03 2.78E-27 1.04E-01 0.037
ETOT 50 -357.19626430092 1.50E-04 5.71E-27 7.54E-02 0.036
ETOT 51 -357.19681811339 -5.54E-04 1.17E-27 1.16E-01 0.029
ETOT 52 -357.19623599895 5.82E-04 2.83E-26 5.73E-02 0.027
ETOT 53 -357.19501755410 1.22E-03 5.77E-24 6.44E-03 0.020
ETOT 54 -357.19440421471 6.13E-04 7.77E-28 2.46E-02 0.028
ETOT 55 -357.19463694618 -2.33E-04 4.34E-25 1.05E-02 0.021
ETOT 56 -357.19492195978 -2.85E-04 4.08E-26 5.49E-03 0.018
ETOT 57 -357.19488139786 4.06E-05 6.14E-27 2.13E-02 0.014
ETOT 58 -357.19461010481 2.71E-04 6.67E-28 6.97E-03 0.018
So, I have the following questions:
(1) how to converge the dmft loops (i.e. to change which parameters)?
(2) Is my input file reasonable? Or there is something wrong with my input?
I appreciate it very much for your answers. Thank you very much!
Code: Select all
# -- DATASETS AND OPTIONS
ndtset 2
jdtset 1 2
fftalg 112 # Needed to preserve old behaviour
prtvol 4
pawprtvol -1
getwfk -1
##### CONVERGENCE PARAMETERS
nstep1 100
nstep 60
nline1 8
nnsclo1 8
nline2 16
nnsclo2 16
ecut 25
pawecutdg 50
tolvrs 1.0d-12
nband 45
occopt 3 tsmear 100 K
##### PHYSICAL PARAMETERS
nsppol 2
nspden 2
nspinor 1
spinat 0 0 0
0 0 0
0 0 9
0 0 -9
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
natom 10
ntypat 3
typat 1 1 2 2 3 3 3 3 3 3
znucl 83 26 8
xred 0.000000000 0.000000000 0.000000000
0.500000000 0.500000000 0.500000000
0.221200004 0.221200004 0.221200004
0.721199989 0.721199989 0.721199989
0.397300005 0.523299992 0.942299962
0.942299962 0.397300005 0.523299992
0.523299992 0.942299962 0.397300005
0.023299992 0.897300005 0.442299962
0.897300005 0.442299962 0.023299992
0.442299962 0.023299992 0.897300005
acell 3*1.889727
rprim 5.6367592812 0.0000000000 0.0000000000
2.8673243001 4.8529894449 0.0000000000
2.8673243001 1.6362838430 4.5688162293
##### K-POINTS
ngkpt 4 4 4
nshiftk 1
shiftk 0.5 0.5 0.5
istwfk *1
## == LDA+DMFT
usedmft1 0
usedmft 1
dmftbandi 1
dmftbandf 45
dmft_solv 2
dmft_iter 50
dmft_nwli 100000
dmft_nwlo 1000
dmftcheck 0
dmft_rslf 1
dmft_mxsf 0.7
dmft_dc 1
##### LDA+U
usepawu 1 # LDA+U is not used.
dmatpuopt 2 # choose expression of the density matrix
lpawu -1 2 -1 # U on d-orbitals of Ni, no U on oxygen
upawu1 0.0 0.0 0.0 # values in Hartree
jpawu1 0.0 0.0 0.0 # values in Hartree
upawu 0.0 0.3 0.0 # values in Hartree
jpawu 0.0 0.0 0.0 # values in Hartree
f4of2_sla 0.0 0.0 0.0
prtdos 1