Orbital projected band structure using VASP - … projected band structure... · Obtaining...
Transcript of Orbital projected band structure using VASP - … projected band structure... · Obtaining...
Orbital projected band structure using VASP
Obtaining wavefunction character
• Projection of plane-wave calculations onto atomic orbitals used to analyze atomic basis-sets and obtain local atomic properties from the extended Kohn-Sham orbitals.
• Orbital projected band structure: obtain information about the contribution of each atomic orbital of an atom to each band in a band structure.
PROCAR file
• contains the spd- and site projected wave function character of each band.
• Choose LORBIT=11
K-point 1
• Band 1 • Ion1 contribution
• Ion2
• …..
• Ion M
• Band 2 • …..
• Band L
K-point2
• …..
K-point K
# of k-points: K # of bands: L # of ions: M
PROCAR file
Contribution of each orbital to the total atom
Block 1
FAT_PROCAR code
Ion1
• Band1 • kpoint1 contribution
• kpoint2
• …..
• Kpoint K
• Band 2 • …..
• Band L
Ion2
• …..
Ion 48
Each ion is written in a separate file Ion 1
s py pz px dxy dyz dz2 dxz dx2
Kpoints
Output of FAT_PROCAR
Band energies
Orbital contributions
Replace K points in X axis
• If the band structure is plotted as such, the K points are equally spaced along all symmetric lines.
• The reciprocal lattice vectors are not of the same length.
• We can use the K points generated from CASTEP.
• Repeat for L bands and replace the X axis
Spacing between symmetry pointsare okay! BUT all lines do not require same number of points. M K looks dense.
Remove alternate points in specified range.
awk -v m=$a -v n=$b '{i=int(NR/91)} (((m+i*91) <= NR) && (NR <= (n+i*91)) && (NR%2==0)) {next} {print} ' $first > $second
Use Awk script to ignore zeroes while plotting
awk '/--/ || ($3!=0) {gsub (/--/, "\n", $0); print $0}' INPUT > OUTPUT
Gnuplot script
Orbital projected band structure