Band Structure
This tutorial explains how to prepare, run, and analyze electronic band structures with VQkit for both VASP and Quantum ESPRESSO.
VQkit supports:
symmetry-guided high-symmetry K-path generation;
VASP and Quantum ESPRESSO band parsing;
Fermi-level shifting;
high-symmetry labels;
spin-polarized VASP band structures;
direct/indirect band-gap analysis;
metallic or gapless classification;
VBM and CBM reporting;
publication-oriented PNG and PDF plots;
export of processed band energies.
Typical workflow
A complete band-structure workflow generally has three stages:
Generate a symmetry-guided high-symmetry K-path.
Run the band-structure calculation with VASP or Quantum ESPRESSO.
Analyze and plot the completed band structure using VQkit.
High-symmetry K-path preparation
VQkit provides a symmetry-standardized K-path generator based on spglib and SeeK-path.
From the VQkit main menu open:
[1] Pre-processing
Then choose the band-structure K-path workflow.
You can also use the smart keyword:
kpath
VQkit searches the current working directory for a readable structure.
For VASP, supported structure files include:
POSCAR
CONTCAR
For Quantum ESPRESSO, VQkit searches suitable input files such as:
*.in
*.inp
*.pwi
The structure must contain enough cell and atomic information for symmetry analysis.
Symmetry tolerance
VQkit performs a short spglib symmetry-tolerance scan and shows the detected
space group at several values of symprec.
A prompt similar to the following appears:
Symmetry tolerance symprec (A) [1e-05]:
Press Enter to use the suggested value unless you have a specific reason to override it.
If the cell metric appears highly symmetric but spglib detects P1, VQkit issues a warning so that you can inspect whether small distortions in the atomic coordinates are lowering the detected symmetry.
K-point density along the path
VQkit asks:
Interpolated k-points between adjacent symmetry points [20]:
The entered value is the number of interior points between each pair of high-symmetry endpoints.
For example, entering:
20
generates 20 interior points plus the two segment endpoints.
Generated K-path files
For VASP
VQkit generates a line-mode band path such as:
KPOINTS_band
For the symmetry-standardized workflow it also generates a primitive structure, high-symmetry point information, and an expanded path.
Typical generated files include:
KPOINTS_band
PRIMCELL.vasp
KPATH_INTERPOLATED.dat
Additional symmetry-point information may also be written by the symmetry workflow.
Important
The canonical SeeK-path HPKOT path belongs to the standardized primitive cell.
For VASP, use the generated primitive structure together with the generated
KPOINTS_band file for the band calculation.
For Quantum ESPRESSO
VQkit generates a QE K_POINTS {crystal_b} path file such as:
KPOINTS_band.in
It also writes:
KPATH_INTERPOLATED.dat
The generated primitive-cell information and K-path should be used together.
Band calculation: VASP
A typical VASP band workflow uses:
A converged SCF calculation.
A non-self-consistent band calculation along the high-symmetry path.
At minimum, the completed band-analysis directory should contain:
EIGENVAL
OUTCAR
For high-symmetry labels, also keep:
KPOINTS
or:
KPOINTS_band
For reciprocal-path reconstruction, VQkit also uses:
POSCAR
or:
CONTCAR
Fermi energy
For VASP, VQkit first tries to read the Fermi energy from:
OUTCAR
If that is unavailable, it can fall back to:
DOSCAR
When the Fermi energy is found, VQkit shifts the band energies as:
and plots:
E_F = 0 eV
Spin-polarized VASP bands
If spin-polarized band data are present in EIGENVAL, VQkit detects them
automatically.
The plot uses separate spin-up and spin-down curves.
Band calculation: Quantum ESPRESSO
For Quantum ESPRESSO, VQkit expects processed band data from the QE band workflow.
Common supported files include:
bands.dat.gnu
and other files matching patterns such as:
*bands*.gnu
*band*.gnu
*bands*.dat
*band*.dat
VQkit deliberately avoids treating its own previously exported
VQkit_BANDS.dat as the original QE source file.
Band-data formats
VQkit supports:
native QE two-column gnuplot-style band blocks;
two-column data where a new band is detected when the k-path coordinate resets;
wide numerical tables containing one k-distance column followed by multiple band-energy columns.
Fermi energy for QE
VQkit searches nearby Quantum ESPRESSO output files for a Fermi energy.
It can detect records such as:
the Fermi energy is ...
If the current band directory does not contain the Fermi level, VQkit also checks nearby SCF or NSCF directories where appropriate.
When the Fermi energy is found, the plotted energies are shifted to:
High-symmetry labels for QE
VQkit attempts to recover high-symmetry labels from nearby metadata such as:
KPATH_INTERPOLATED.dat
KPOINTS_band.in
bands.in
band.in
nscf_band.in
If VQkit cannot match high-symmetry labels automatically, it asks you to select a metadata file manually.
A prompt may appear similar to:
High-symmetry K-path metadata was not matched automatically.
Available K-path metadata files:
[1] KPATH_INTERPOLATED.dat
...
Select K-path metadata file [1]:
Choose the file generated from the same path and point density used in the band calculation.
Band-structure analysis
From the main menu open:
[2] Post-processing
Then select:
[3] Electronic structure
and choose the Band Structure option.
VQkit automatically detects whether the directory contains supported VASP or Quantum ESPRESSO band data.
For VASP it searches for:
EIGENVAL
For Quantum ESPRESSO it searches for supported band-data files.
Band report
Before plotting, VQkit reports information such as:
Code
Source
Number of k-points
Number of bands
Spin polarization
Fermi energy
Fermi-energy source
High-symmetry labels
For Quantum ESPRESSO, the report also includes band-data validation information such as the detected number of numerical rows, k-points per band, band count, and block-detection method.
Generated outputs
Processed band data
VQkit writes:
VQkit_BANDS.dat
The file contains:
cumulative k-path distance;
all detected band energies;
spin-up and spin-down bands where applicable;
Fermi-energy information;
high-symmetry positions and labels when available.
When a Fermi energy is available, exported energies are reported as:
E - E_F
High-symmetry energies
When high-symmetry labels are available, VQkit also writes:
VQkit_HIGH_SYMMETRY_ENERGIES.dat
This file provides the band energies at the labeled high-symmetry points.
Band plots
VQkit generates:
VQkit_BAND_STRUCTURE.png
VQkit_BAND_STRUCTURE.pdf
The PNG is suitable for quick inspection and the PDF is useful for publication-quality vector output.
High-symmetry points are shown as vertical dashed lines.
If a Fermi energy is available, a horizontal line marks:
E - E_F = 0 eV
VASP example
Assume a completed VASP band directory contains:
POSCAR
KPOINTS
EIGENVAL
OUTCAR
Step 1 — Start VQkit
Open VQkit in the band calculation directory.
Step 2 — Open post-processing
Enter:
2
Step 3 — Open electronic structure
Enter:
3
Step 4 — Select band structure
Choose the Band Structure option.
VQkit reads EIGENVAL, detects the Fermi energy from OUTCAR or
DOSCAR, reconstructs the K-path, and generates the processed data and
plots.
Step 5 — Inspect outputs
Check:
VQkit_BAND_STRUCTURE.png
VQkit_BAND_STRUCTURE.pdf
VQkit_BANDS.dat
VQkit_HIGH_SYMMETRY_ENERGIES.dat
Quantum ESPRESSO example
Assume a completed QE band directory contains:
bands.dat.gnu
KPATH_INTERPOLATED.dat
bands.in
and the nearby SCF directory contains the output with the Fermi energy.
Step 1 — Start VQkit
Open VQkit in the QE band directory.
Step 2 — Open band analysis
Navigate to:
Post-processing
Electronic structure
Band structure
Step 3 — Check detected band information
VQkit reports:
number of k-points;
detected bands;
Fermi energy if found;
band-data parsing method;
high-symmetry labels when metadata are available.
Step 4 — Resolve missing path labels if asked
If VQkit asks for a metadata file, select:
KPATH_INTERPOLATED.dat
provided it corresponds to the same band calculation.
Step 5 — Inspect outputs
Check:
VQkit_BAND_STRUCTURE.png
VQkit_BAND_STRUCTURE.pdf
VQkit_BANDS.dat
VQkit_HIGH_SYMMETRY_ENERGIES.dat
Band-gap analysis
VQkit also provides band-gap analysis in the Electronic Structure menu.
This workflow can report:
band gap;
VBM;
CBM;
metallic or gapless behavior;
direct or indirect gap classification where the required data are available.
For a semiconductor, the gap is defined as:
If the VBM and CBM occur at the same k-point, the material is classified as having a direct gap.
If they occur at different k-points, the gap is indirect.
Recommended workflow
For reliable band analysis:
Relax the structure.
Perform a well-converged SCF calculation.
Generate the symmetry-standardized high-symmetry K-path.
Use the corresponding primitive structure and K-path together.
Run the band calculation.
Keep the original K-path metadata in the band directory.
Run VQkit band analysis.
Inspect the Fermi-energy source.
Confirm the high-symmetry labels.
Inspect the plot and numerical export before publication.
Scientific cautions
Primitive-cell consistency
The SeeK-path HPKOT path is defined for the standardized primitive cell.
Do not combine a primitive-cell K-path with an unrelated conventional cell, because this can produce incorrect or folded band paths.
Fermi-level reference
If VQkit cannot detect a Fermi energy, absolute band energies are plotted.
Before comparing different calculations, verify that the energy reference is consistent.
QE path metadata
The high-symmetry metadata must correspond to the exact K-path and point density used in the QE band calculation.
Spin-orbit coupling and advanced cases
Always verify whether the selected DFT settings, pseudopotentials, spin configuration, spin-orbit coupling, and symmetry treatment are appropriate for the material being studied.
Band plotting cannot correct an incorrectly prepared electronic-structure calculation.