VASP Tutorial: A Bit of Surface Science
VASP Tutorial: A Bit of Surface Science
University of Vienna,
Faculty of Physics and Center for Computational Materials Science,
Vienna, Austria
Setting up a VASP calculation
• INCAR
• POSCAR
• KPOINTS
• POTCAR
I: The INCAR file
The INCAR file contains the input parameters that steer the calculation:
• The default values set by VASP itself are a clever choice for most
standard calculations
VASP comes with a library of PAW datasets, (one or more) for most elements of the
periodic table:
• Each individual PAW data set starts with a descriptive section, specifying
amongst other things:
• Parameters that were required to generate the dataset:
• Number of valence electrons
• Atomic mass
• Default energy cutoffs
• When your unit cell contains more than one type of atom you have to
concatenate the corresponding PAW datasets in the same order as you have
specified the different atomic types in your POSCAR file.
• You should not mix PAW datasets generated with different exchange-correlation
functionals.
OUTPUT files
OUTCAR
• detailed output of a VASP run, including:
• a summary of the input parameters
• information about the individual electronic steps:
total energy, Kohn-Sham eigenvalues, Fermi-energy.
• stress tensors
• forces in the atoms
• local charges, magnetic moments
• dielectric properties
• ... and a great many things more ...
• The amount of output written onto OUTCAR can be chosen by
means of the NWRITE-tag in the INCAR file.
Ni(100):
• surface relaxation
• surface energy
• LDOS
• surface bandstructure
Ni(111)
• clean surface
• CO adsorption
• LDOS
• workfunction (change)
• frequencies
KPOINTS:
K-Points Header (comment)
0 Nk=0: automatic mesh generation
Monkhorst-Pack Monkhorst-Pack grid
9 9 1 # of subdivisions 𝑁𝑖 along 𝑏Ԧ𝑖 (odd: centered on 𝝘)
0. 0. 0. Optionally shift the mesh (𝑠𝑖 )
TOTEN (EV)
-25.562
• Surface energy: -25.564
-25.566
-25.568
𝜎 = 12 𝐸surf − 𝑁atoms × 𝐸bulk
-25.570
-25.572
-25.574
STEPS
• Surface energy of unrelaxed surface:
⟹ 𝜎 unrel =12 −25.556 − 5 × −5.458 = 0.867 eV
N.B.: you will find the setup for the calculation of the “bulk” energy in the
Ni100clean_rel/bulk subdirectory.
Ni(100) surface relaxation (ex.: Ni100clean_rel)
Start p4vasp:
> p4v [vasprun.xml]
Step. 1) Go to:
Convergence/Energy
INCAR:
SYTEM = clean Ni(100) surface Name of the calculation
ENCUT = 270 cutoff energy 270 eV (from POTCAR)
ALGO = Normal use block-Davidson for electronic minimization
In this case, however, that has already been taken care of, and the
POSCAR file in Ni100clean_LDOS is the correct one.
Ni(100) LDOS (ex.: Ni100clean_LDOS)
total charge
# of ion s p d tot
• At the end of the OUTCAR file
------------------------------------------ information on local charge and
1 0.466 0.326 8.314 9.106
2 0.490 0.481 8.333 9.304 magnetization is given.
3 0.494 0.482 8.338 9.313
4 0.500 0.501 8.350 9.351
5 0.478 0.346 8.345 9.169 • Instead of LORBIT=11, one might
--------------------------------------------------
tot 2.427 2.135 41.681 46.244 use LORBIT=1 and set RWIGS
appropriately.
magnetization (x)
# of ion s p d tot • As is clearly shown, the local
------------------------------------------
1 -0.003 -0.019 0.725 0.703
magnetic moments at the surface
2 -0.008 -0.024 0.613 0.582 are enhanced.
3 -0.008 -0.024 0.611 0.579
4 -0.008 -0.024 0.605 0.573
5 -0.004 -0.020 0.703 0.680
--------------------------------------------------
• The central layers behave
tot -0.030 -0.111 3.257 3.116 “bulk”-like.
Ni(100) LDOS (ex.: Ni100clean_LDOS)
• Exchange splitting is
larger at the surface.
Ni(100) LDOS (ex.: Ni100clean_LDOS)
Select spin channel
Select: “Electronic/Local DOS+Bands control”
Select atom,
and orbital character
The selection
should appear in
the Electronic
Control applet
above
Press “Show” to show structure
Ni(100) surface bandstructure (ex.: Ni100clean_band)
INCAR:
SYTEM = clean Ni(100) surface Name of the calculation
ENCUT = 270 cutoff energy 270 eV (from POTCAR)
ALGO = Normal use block-Davidson for electronic minimization
N.B.: You need to copy the self-consistent charge density (CHGCAR) from
Ni100clean_LDOS to the directory where you want to run Ni100clean_band.
You need to do this: if VASP can not read the CHGCAR file, the run will terminate.
Ni(100) surface bandstructure (ex.: Ni100clean_band)
KPOINTS:
• 13 k-points along Γത − ഥ X−M ഥ − Γത
• Explicitly specfied, in reciprocal
kpoints for band-structure G-X-M-G
13 coordinates
reziprok • All points with weight 1
.00000 .00000 .00000 1
.12500 .00000 .00000 1
.25000 .00000 .00000 1
.37500 .00000 .00000 1
.50000 .00000 .00000 1
Select atom,
and orbital character
The selection
should appear in
the Electronic
Control applet
Select “Bands” above
Press “Show” to show structure
Ni(111) surface relaxation (ex.: Ni111clean_rel)
INCAR:
SYTEM = clean Ni(100) surface Name of the calculation
ISTART = 0 initial wave functions: random numbers
ICHARG = 2 initial charge density: overlapping atoms
ENCUT = 270 cutoff energy 270 eV (from POTCAR)
ALGO = Fast use RMM-DIIS for electronic optimization
EDIFF = 1E-6 electronic convergence: energy change < 10-6 eV
ISMEAR = 2 2nd order Methfessel-Paxton smearing (metal!)
SIGMA = 0.2 smearing width 𝜎 = 0.2 eV
IBRION = 1 ionic relaxation
NSW = 100
POTIM = 0.8
• CO geometry:
𝑑𝐶𝑂 = 11.066 − 9.911 = 1.155 Å
𝑧𝐶𝑁𝑖 = 9.911 − 8.154 = 1.757 Å
Ni(111) with higher cutoff (ex.: Ni111clean_400eV)
• the PAW datasets for carbon and oxygen used in example COonNi111_rel
require a plane wave energy cutoff of 400 eV (see C and O POTCAR files).
• The previous calculation of the Ni(111) clean surface was done with an
energy cutoff of 270 eV
• Change in cutoff lowers total energy: N.B.: the setup for the calculation
ENCUT=270 eV: 𝐸 𝜎 → 0 = −25.737 of “ECO”, you will find in the
Ni111clean_400eV/CO subdirectory
ENCUT=400 eV: 𝐸 𝜎 → 0 = −25.742
• Adsorption energy: 𝐸ads = 𝐸total − 𝐸clean − 𝐸CO
𝐸ads = −40.829 + 25.742 + 14.835 = −0.252 eV
Ni(111) with higher cutoff (ex.: Ni111clean_400eV)
• Fermi-level 𝜀𝐹 = 0.226 eV
(in OUTCAR)
• Φ = 𝐸vac − 𝜀𝐹 = 5.22 eV
Ni(111) with higher cutoff (ex.: Ni111clean_400eV)
Go to “Electronic/Local potential”
Select “Z - direction”
“Measure” point
in graph
Zoom to area of
interest
Start p4vasp:
> p4v [vasprun.xml]
CO@Ni(111) LDOS&Workfunction
(ex.: COonNi111_LDOS)
INCAR:
SYSTEM = CO adsorption on Ni(111) Name of the calculation
ENMAX = 400 cutoff energy 400 eV
ISMEAR = -5 tetrahedron method with Blöchl corrections
ALGO = Fast use RMM-DIIS for electronic optimization
LORBIT = 11 LM-decomposed site resolved density–of-states
IDIPOL = 3 Enable dipole corrections in direction 3
LDIPOL = .TRUE. Switch on dipole corrections to potential
(=diplole layer)
LVHAR = .TRUE. Write Hartree part of local potential to LOCPOT
#LVTOT = .TRUE. Write total local potential to LOCPOT
• After the initial calculation for the equilibrium geometry, NFREE displacements
(±POTIM) are performed for each degree of freedom; from the forces that
are induced by these displacements the dynamical matrix is set up and diagonalized.