Header Ads Widget

Ab initio Calculations Using Vasp Code

Last Posts

10/recent/ticker-posts

How to calculate the Total and Partial DOS of ferromagnetic Nickel

We need the 4 input files for a SCF calculation and modified INCAR KPOINT files for dos calculation


POSCAR

fcc Ni
5.08
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
1
Cartesian
0.0 0.0 0.0

     Fcc Ni lattice constant of 5.08  .
    1 atom per unit cell.

 

INCAR

System = fcc Ni
ISTART = 0 ; ICHARG = 2
ENCUT = 270
ISMEAR = 0; SIGMA = 0.1
spin:
ISPIN=2
MAGMOM = 1

    Initial charge density form overlapping atoms.
    Energy cutoff of 270 eV from POTCAR file.
 

KPOINTS

k-points
0
Monkhorst Pack
11 11 11
0 0 0

 

POTCAR

Download the pseudopotential file from this link fccNi_dos.tgz

SCF calculation

First we need to do a scf calculation to get the  CHGCAR file


/Ni_dos> vasp_std

 

DOS calculation

  • Perform a static (NSW=0, IBRION=-1) self consistent calculation for the DOS (the DOS is found in the DOSCAR file.
  • For large systems:
    • Converge with a small number of k points.
    • Increase the number of k points for the DOS and set ICHARG=11 (charge density from the last self-consistent run). ICHARG=11 treats each k point independently and keeps the charge density and the potential fixed.
Read CHGCAR from previous run.

The smearing of the k points is set to the tetrahedron method with Blöchl corrections (ISMEAR=-5 to fi the problem

INCAR

 SYSTEM = fcc Ni
ISTART = 0 ; ICHARG = 2
ENCUT = 270
ISMEAR = -5
LORBIT = 11

ISPIN = 2
MAGMOM = 1

    Initial charge density form overlapping atoms.
    Energy cutoff of 240 eV from POTCAR file.
 

KPOINTS

k-points
0
Monkhorst Pack
21 21 21
0 0 0

Kpoint from 11x11x11 to 21x21x21


/Si_band> vasp_std

 

Plotting DOS

To get a nice plotting we will another script called  plotDOS.py from the  package:       MatSciScripts

To use the script we need to install the Pymatgen library. To install this library check the following link:

How to download and install the Pymatgen library

 

Now we need to create a tools directory inside the root directory

> cd $VASPROOT
/vasp.5.4.1> mkdir tools

and copy the script plotDOS.py inside this created directory

> cp path/MatSciScripts/plotDOS.py $VASPROOT/tools/plotDOS.py

 

 At the end we need to add the path of tools directory to the path of vasp code as follows:

VASPROOT=/home/algerien1970/abinitio/vasp.5.4.1
export PATH=$PATH:$VASPROOT
export VASPBIN=$VASPROOT/bin
export VASPTOOLS=$VASPROOT/tools


Total DOS

This is the total contribuition from all the atoms and orbitals in the system.

Run:

plotDOS.py total -show


The -show flag displays the plot on screen. Otherwise it would just save the figure as a .png file. As you can see since there are states at the Fermi level this is classified as a metal. The total DOS is rather boring so let’s move on to plotting partial DOS where we can see the different contributions of atoms and orbitals to the DOS.

 

Partial DOS

Atom Projected DOS

This plots the contribution to the DOS from each atom.

Run:

plotDOS.py atomic -show

 


 

To see both the total and the atomic contributions on the same plot you may add the -total flag to the above command.

 Since we have one atom Ni the total DOS is the same atomic DOS.


Orbital projected DOS

 

Next, let’s see how each orbital from the atoms contribute to the DOS. This enables us to observe how much each s, p, d or f orbital of a certain atom is present in the DOS. E.g. - Ni atom contribution

Run:

plotDOS.py orbital -atom Ni -show

 

The -total flag works here as well if one wishes to see the total contribution for the orbital on the same plot.

 

d-orbital projected DOS

In certain materials like strongly correlated systems where d orbitals play a vital role in conductivity and other properties, it is important to study the decomposed d-orbital projected DOS. i.e. the individual effects of the e\(_g\) and t\(_{2g}\) orbitals when the degeneracy of the d orbital is broken. Let’s consider the same example as above and investigate how the Ni d-orbitals behave.

Run:

plotDOS.py orbital_d -atom Ni -show

 


Post a Comment

0 Comments