Header Ads Widget

Ab initio Calculations Using Q-Espresso Code

Last Posts

10/recent/ticker-posts

How to calculate the projected DOS of FeO using DFT and DFT+U

We will take the antiferromagnetic state of FeO

 



We need 3 input files, 2 pseudopotentials and a script 

algerien1970@linux-wipm:~/abinitio/QE-tutorials/DFT+U> ls
Fe.pbesol-spn-kjpaw_psl.0.2.1.UPF O.pbesol-n-kjpaw_psl.0.1.UPF plot_pdos.gnu  projwfc.FeO.in  pw.FeO.nscf.in  pw.FeO.scf.in

 

 pw.FeO.scf.in

&control
calculation='scf'
restart_mode='from_scratch',
prefix='FeO'
pseudo_dir = './'
outdir='./tmp/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 8.19,
nat = 4,
ntyp = 3,
ecutwfc = 30.0,
ecutrho = 240.0,
occupations = 'smearing',
smearing = 'mv',
degauss = 0.02,
nspin = 2,
starting_magnetization(1) = 0.5,
starting_magnetization(2) = -0.5
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-9
mixing_beta = 0.3
/
ATOMIC_SPECIES
Fe1 55.845 Fe.pbesol-spn-kjpaw_psl.0.2.1.UPF
Fe2 55.845 Fe.pbesol-spn-kjpaw_psl.0.2.1.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
CELL_PARAMETERS {alat}
0.50 0.50 1.00
0.50 1.00 0.50
1.00 0.50 0.50
ATOMIC_POSITIONS {crystal}
Fe1 0.00 0.00 0.00
Fe2 0.50 0.50 0.50
O 0.25 0.25 0.25
O 0.75 0.75 0.75
K_POINTS {automatic}
3 3 3 0 0 0

pw.FeO.nscf.in   modified pw.FeO.scf.in file

&control
calculation='nscf'
.
    Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
nbnd = 35
       .
K_POINTS {automatic}
6 6 6 0 0 0

projwfc.FeO.in

&projwfc
prefix='FeO'
outdir='./tmp/'
ngauss = 0,
degauss = 0.005,
Emin = -15.0,
Emax = 30.0,
DeltaE = 0.01
/

Script  plot_pdos.gnu

set terminal post eps enhanced solid color "Helvetica" 20 
set arrow from 0, 0 to 0, 4.4 nohead
set output "FeO_PDOS.eps"
set xrange [-10:8]
set yrange [0:5]
set xtics -10, 2, 8
set ytics 0, 1, 5
set xlabel "E - Ef (eV)"
set ylabel "PDOS (states/eV/atom)"
plot "FeO.pdos_atm#1(Fe1)_wfc#5(d)" u ($1-13.7042):($2) w l lw 2 title 'Fe-3d (majority spin)', \
"FeO.pdos_atm#2(Fe2)_wfc#5(d)" u ($1-13.7042):($2) w l lw 2 title 'Fe-3d (minority spin)', \
"FeO.pdos_atm#3(O)_wfc#2(p)" u ($1-13.7042):($2) w l lw 2 title ' O-2p'

Fe.pbesol-spn-kjpaw_psl.0.2.1.UPF

You can download the file using the following command
$ wget https://www.quantum-espresso.org/upf_files/Fe.pbesol-spn-kjpaw_psl.0.2.1.UPF --no-check-certificate

 or from Reference

O.pbesol-n-kjpaw_psl.0.1.UPF

You can download the file using the following command
$ wget https://www.quantum-espresso.org/upf_files/O.pbesol-n-kjpaw_psl.0.1.UPF --no-check-certificate

  or from Reference

 

1. Standard DFT case

Perform a SCF calculation using pw.x

algerien1970@linux-wipm:~/abinitio/QE-tutorials/DFT+U> pw.x < pw.FeO.scf.in |tee pw.FeO.scf.out

Perform a NSCF calculation using pw.x

algerien1970@linux-wipm:~/abinitio/QE-tutorials/DFT+U> pw.x < pw.FeO.nscf.in |tee pw.FeO.nscf.out

 

Perform a calculation of PDOS using projwfc.x

algerien1970@linux-wipm:~/abinitio/QE-tutorials/DFT+U> projwfcw.x < projwfc.FeO.in |tee projwfc.FeO.out

Plot PDOS using the script for gnuplot

gnuplot> load "plot_pdos.gnu"


The solution with DFT is metallic
 


2. DFT+U case

Modify input files pw.FeO.scf.in and pw.FeO.nscf.in by setting the following:

   Hubbard_U(1) = 5.2

   Hubbard_U(2) = 5.2

   Here, Hubbard_U(1) and Hubbard_U(2) are the Hubbard parameters for Fe1-3d and Fe2-3d states (in eV). 


The value of U = 5.2 eV was chosen for demonstration purposes; Hubbard U can be computed ab initio (see e.g. PRB 98, 085127 (2018)).

 pw.FeO.nscf.in   and pw.FeO.scf.in files

    U_projection_type = 'atomic',
Hubbard_U(1) = 5.2
Hubbard_U(2) = 5.2

Repeat all steps as in 1), and ultimately determine PDOS in the DFT+U case.
  
   Note: change the value of the Fermi energy in "plot_pdos.gnu", you can find the value of the Fermi energy at the end of the file pw.FeO.scf.out


     the Fermi energy is    13.8742 ev

! total energy = -735.17461423 Ry

total all-electron energy = -5385.550636 Ry
estimated scf accuracy < 5.1E-10 Ry
smearing contrib. (-TS) = 0.00000000 Ry
internal energy E=F+TS = -735.17461423 Ry


Script  plot_pdos.gnu

plot "FeO.pdos_atm#1(Fe1)_wfc#5(d)" u ($1-13.8742):($2) w l lw 2 title 'Fe-3d (majority spin)', \
"FeO.pdos_atm#2(Fe2)_wfc#5(d)" u ($1-13.8742):($2) w l lw 2 title 'Fe-3d (minority spin)', \
"FeO.pdos_atm#3(O)_wfc#2(p)" u ($1-13.8742):($2) w l lw 2 title ' O-2p'

 

 The solution with DFT+U is also metallic...

3. DFT+U case (with the starting_ns_eigenvalue option)

Modify the input file pw.FeO.scf.in by setting the following:

   starting_ns_eigenvalue(5,2,1) = 1.0
 
   starting_ns_eigenvalue(5,1,2) = 1.0

 
pw.FeO.nscf.in   and pw.FeO.scf.in files

    Hubbard_U(1) = 5.2
Hubbard_U(2) = 5.2
starting_ns_eigenvalue(5,2,1) = 1.0
starting_ns_eigenvalue(5,1,2) = 1.0

 

 

Repeat all steps as in 1), and ultimately determine PDOS in the DFT+U case
   (with the starting_ns_eigenvalue option).

   Note: change the value of the Fermi energy in "plot_pdos.gnu",
   you can find the value of the Fermi energy at the end of the file pw.FeO.scf.out
.

The solution with DFT+U is insulating

 

Reference: https://gitlab.com/QEF/material-for-ljubljana-qe-summer-school/-/tree/master/Day-2

algerien1970@linux-wipm:~/abinitio/QE-tutorials/material-for-ljubljana-qe-summer-school-master/Day-2> ls
example1.relax example2.vc-relax example3.neb example4.functionals example5.pwtk handson-day2-functionals.pdf handson-day2.pdf README.md
 
algerien1970@linux-wipm:~/abinitio/QE-tutorials/material-for-ljubljana-qe-summer-school-master/Day-2/example4.functionals/ex1.DFT+U> ls
plot_pdos.gnu projwfc.FeO.in pw.FeO.nscf.in pw.FeO.scf.in README.md reference

 

Post a Comment

0 Comments