Calculate Electronic Band Structure with GW Approximation and Full-Frequency Integration¶
This tutorial explains how to calculate the electronic band structure of crystalline silicon in its cubic-diamond crystal structure using the GW Approximation with Quantum ESPRESSO and full-frequency integration along the imaginary axis.
Quantum ESPRESSO version
This tutorial applies to Quantum ESPRESSO version 6.3 and later.
The GW Approximation produces more accurate electronic band structures than standard DFT, at significantly higher computational cost. The aim is to calculate the band structure of silicon along the Γ–X–W–K directions. For an alternative approach using the plasmon-pole approximation, see the plasmon-pole tutorial. More information on GW results for a sample set of materials can be found in Ref. 1 of this page.
1. Understand the SternheimerGW code¶
The GW Approximation is enabled via SternheimerGW 1 2, an add-on package for Quantum ESPRESSO. SternheimerGW uses time-dependent density-functional perturbation theory to evaluate GW quasiparticle band structures and spectral functions. Both the Green's function G and the screened Coulomb interaction W are obtained by solving linear Sternheimer equations, avoiding summation over unoccupied states. The code performs a full-frequency integration for accurate spectral properties, and the linear response approach allows evaluation at arbitrary electron wavevectors — particularly useful for indirect band gap semiconductors.
Further information is available in Ref. 3.
Norm-conserving pseudopotentials required
SternheimerGW requires norm-conserving pseudopotentials (default options are described here).
2. Understand the workflow structure¶
Expand to view detailed input parameters
The workflow contains two main compute units:
- A ground-state SCF calculation to obtain energy eigenvalues and wave functions.
- A GW calculation using SternheimerGW, reading the wave functions and charge density from step 1.
The SternheimerGW input file contains the following key sections:
SCF configuration: The prefix and outdir variables must match the SCF calculation so SternheimerGW can read its results.
Linear response grids: The kpt_grid controls the density response for the dielectric function. The qpt_grid is used to convolute the Green's function and screened Coulomb interaction.
Number of bands: The num_band variable controls how many bands receive the GW correction. This value must exceed the number of occupied states for an accurate Fermi energy.
W convolution: The max_freq_coul and num_freq_coul variables set the maximum value and number of points for the frequency integration.
Self-energy cutoffs: The ecut_corr and ecut_exch variables define the FFT grid for the correlation and exchange contributions to the self-energy.
Frequencies: The FREQUENCIES section defines the coarse complex frequency mesh for evaluating the screened Coulomb interaction. A mesh along the imaginary frequency axis is typical.
K-points: The K_points section specifies the k-point coordinates (in \(2 \pi / a\) units) where the exchange and correlation self-energy are evaluated.
3. Create the job¶
Silicon in its cubic-diamond crystal structure is the default material loaded on new job creation, unless the default was changed after account creation.
4. Select the workflow¶
Workflows for the GW band structure calculation via full-frequency integration can be imported from the Workflows Bank into the account-owned collection. The workflow can then be selected and added to the job being created.
5. Set sampling in reciprocal space¶
Set the k-point and q-point grids to 4 × 4 × 4 for the GW unit (8 × 8 × 8 for the SCF unit) via Important Settings. Reduce the plane-wave cutoff to 20 Ry and the charge density cutoff to 80 Ry — sufficient for silicon with a norm-conserving pseudopotential.
Also modify the k-point path (at the bottom of Important Settings) to sample the Γ–X–W–K region of the Brillouin Zone.
6. Submit the job¶
Before submitting the job, review the Compute tab of Job Designer.
Computational cost
GW calculations are significantly more expensive than standard GGA-DFT. More CPU cores and/or walltime should be allocated as appropriate.
Parallelization for SternheimerGW
In order to run SternheimerGW in parallel, the k-point pools value under Advanced Options must be set equal to the number of cores. G-vector parallelization is not implemented — only pool and image parallelization are available.
7. Examine the results¶
Once both units complete, the Results tab of Job Viewer displays the band structure of silicon along the Γ–X–W–K path.
The indirect band gap of ~1.05 eV is in good agreement with experiment.
Band gap measurement
In this case, the band gap is calculated on the chosen Γ–X–W–K reciprocal path, not on the overall grid.
8. Video walkthrough¶
The animation below demonstrates the full workflow.