Plot BSE fatbands: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
It can be useful to inspect which electron-hole pairs contribute the most to a particular BSE eigenvector. In VASP it is possible to write the lowest {{TAG|NBSEEIG}} eigenvectors into | It can be useful to inspect which electron-hole pairs contribute the most to a particular BSE eigenvector {{cite|bokdam:scr:2016}}. In VASP it is possible to write the lowest {{TAG|NBSEEIG}} eigenvectors into the {{FILE|BSEFATBAND}} file, which can be used for making a fatband structure plot. | ||
For example, a fatband structure plot for the first bright exciton can be made following these steps: | For example, a fatband structure plot for the first bright exciton can be made following these steps: | ||
# Perform a [[Bethe-Salpeter-equations calculations|BSE]] calculation with {{TAG|NBSEEIG}} sufficiently large to include the exciton of interest. | # Perform a [[Bethe-Salpeter-equations calculations|BSE]] calculation with {{TAG|NBSEEIG}} sufficiently large to include the exciton of interest. | ||
# Find the energy of the first bright exciton in {{FILE|vasprun.xml}} (''<varray name="opticaltransitions" >'') | # Find the energy of the first bright exciton in {{FILE|vasprun.xml}}, i.e., the first transition with non-zero oscillator strength (''<varray name="opticaltransitions" >'') | ||
# Find the BSE eigenvector corresponding to this transition in the {{FILE|BSEFATBAND}} file. | # Find the BSE eigenvector corresponding to this transition in the {{FILE|BSEFATBAND}} file. | ||
# Extract the coupling coefficients ''Abs(X_BSE)'' (Column 6) and energies (Column 4 and 5) corresponding to k points (Columns 1-3) along high-symmetry paths. | # Extract the coupling coefficients ''Abs(X_BSE)'' (Column 6) and energies (Column 4 and 5) corresponding to k points (Columns 1-3) along high-symmetry paths. | ||
Line 25: | Line 25: | ||
awk < BSE-$NBSE.dat '{ if ($1==$3 && $2==0.0) print sqrt($1*$1+$2*$2+$3*$3), $4, $5, $6}' > bands-GX.dat | awk < BSE-$NBSE.dat '{ if ($1==$3 && $2==0.0) print sqrt($1*$1+$2*$2+$3*$3), $4, $5, $6}' > bands-GX.dat | ||
[[File:Bsefatband.png|300px|thumb|The fatband structure plot of a BSE eigenvector in Si]] | |||
The fatband structure plot can be | The fatband structure plot can be done in gnuplot by running the following script: | ||
set size 0.5,1 | set size 0.5,1 | ||
Line 35: | Line 36: | ||
set xrange[-0.866025:0.707107] | set xrange[-0.866025:0.707107] | ||
M=0.001 | M=0.001 | ||
p "bands-GL.dat" u (-$1):2:(M*($4)) w circles lc rgb "#2C68FC", \ | |||
p "bands-GL.dat" u (-$1):2:(M*($4)) w circles lc rgb "#2C68FC", \ | |||
"" u (-$1):3:(M*($4)) w circles lc rgb "#A82C35", \ | "" u (-$1):3:(M*($4)) w circles lc rgb "#A82C35", \ | ||
"" u (-$1):2 ps 0.5 lc "#808080" w d, \ | "" u (-$1):2 ps 0.5 lc "#808080" w d, \ | ||
Line 47: | Line 49: | ||
[[ | == Related tags and sections == | ||
{{FILE|BSEFATBAND}}, {{FILE|NBSEEIG}}, [[Bethe-Salpeter-equations calculations|BSE]] | |||
== References == | |||
<references/> | |||
[[Category:VASP]][[Category:Many-body perturbation theory]][[Category:Bethe-Salpeter equations]] |
Revision as of 16:36, 20 July 2022
It can be useful to inspect which electron-hole pairs contribute the most to a particular BSE eigenvector [1]. In VASP it is possible to write the lowest NBSEEIG eigenvectors into the BSEFATBAND file, which can be used for making a fatband structure plot.
For example, a fatband structure plot for the first bright exciton can be made following these steps:
- Perform a BSE calculation with NBSEEIG sufficiently large to include the exciton of interest.
- Find the energy of the first bright exciton in vasprun.xml, i.e., the first transition with non-zero oscillator strength (<varray name="opticaltransitions" >)
- Find the BSE eigenvector corresponding to this transition in the BSEFATBAND file.
- Extract the coupling coefficients Abs(X_BSE) (Column 6) and energies (Column 4 and 5) corresponding to k points (Columns 1-3) along high-symmetry paths.
- Plot the band structure with point size corresponding to the coupling coefficients Abs(X_BSE), i.e.,
|k-point| electron hole Abs(X_BSE) eigenvalue eigenvalue x y1 y2 circle radius
You can use the following script for extracting the NBSE eigenvector along G-L and G-X directions in Si:
#!/bin/bash #Select the BSE eigenvector of interest. NBSE=1 # The BSE product basis size. BSIZE=$(head -n 1 BSEFATBAND | awk '{print $1}') i=`echo "($BSIZE+1)*$NBSE+1" | bc` #Cut out the selected eigenstate. head -n $i BSEFATBAND | tail -n $BSIZE > BSE-$NBSE.dat awk < BSE-$NBSE.dat '{ if ($1==$2 && $3==$2) print sqrt($1*$1+$2*$2+$3*$3), $4, $5, $6}' > bands-GL.dat awk < BSE-$NBSE.dat '{ if ($1==$3 && $2==0.0) print sqrt($1*$1+$2*$2+$3*$3), $4, $5, $6}' > bands-GX.dat
The fatband structure plot can be done in gnuplot by running the following script:
set size 0.5,1 set nokey set ylabel "Energy (eV)" set yrange[-7:21] set xtics ("L" -0.866025, "Г" 0, "X" 0.707107) set xrange[-0.866025:0.707107] M=0.001 p "bands-GL.dat" u (-$1):2:(M*($4)) w circles lc rgb "#2C68FC", \ "" u (-$1):3:(M*($4)) w circles lc rgb "#A82C35", \ "" u (-$1):2 ps 0.5 lc "#808080" w d, \ "" u (-$1):3 ps 0.5 lc "#808080" w d, \ "bands-GX.dat" u 1:2:(M*($4)) w circles lc rgb "#2C68FC", \ "" u 1:3:(M*($4)) w circles lc rgb "#A82C35", \ "" u 1:2 ps 0.5 lc "#808080" w d, \ "" u 1:3 ps 0.5 lc "#808080" w d