Skip to content

Band Structure with Quantum ESPRESSO (HSE)

This tutorial page explains how to calculate the electronic band structure based on Density Functional Theory. We will be studying crystalline Silicon in the standard cubic-diamond crystal structure, and we will use Quantum ESPRESSO as our simulation engine.

Quantum ESPRESSO version considered in this tutorial

The present tutorial is written for Quantum ESPRESSO at versions 5.2.1, 5.4.0, 6.0.0 or 6.3.

We discuss in the present tutorial those aspects of the band structure calculation which are specific to the implementation of the HSE (Heyd-Scuseria-Ernzerhof) exchange-correlation functional, a special class of Hybrid Functionals.

The instructions presented herein complement the general discussion introduced in a separate tutorial. The reader is referred to this latter page for an outline of the general procedure for band structure computations using DFT as performed on our platform, whereas only HSE-specific aspects will be reviewed throughout the remainder of the present page.

Workflow for HSE Calculation with Quantum ESPRESSO

A Quantum ESPRESSO Workflow to compute the band structure of materials using HSE is composed of the following subworkflow steps.

1. Preliminary SCF Calculation

The first subworkflow step involves a standard self-consistent field (scf) calculation of the ground-state energy eigenvalues and wave functions. This is necessary for defining the grid of k-points, which will later be extracted manually in the subsequent step.

2. Manual Extraction of k-points

The traditional approach for computing the band structure in Quantum ESPRESSO, outlined in this separate tutorial, would have proceeded via a non self-consistent calculation using the wave functions and charge density of the previous scf calculation. However, within the HSE approach towards achieving the same objective, in order to get the Fock operator 1 2 at a certain k-point, one requires the wavefunctions on a grid that is commensurate with it, and this can only be done self-consistently.

A way around this problem is to manually extract the k-points generated automatically in the preceding step, together with their respective weights, and insert them individually as an explicit list inside the input script for the final HSE calculation described next.

The procedure to manually extract the k-points from the output of the previous scf calculation is performed automatically in the present subworkflow step via a Python script. This script extracts the list of k-points with their corresponding weights within the list under consideration, with the help of Regular Expressions (commonly referred to as "regex"). The resulting output is finally printed out as a JSON file.

3. HSE Calculation

The final subworkflow step in the HSE band structure computation workflow is composed of two units. The main HSE calculation is performed in the first one of these units. Apart from the specific elements described in what follows, the remainder of the main HSE input script conforms to the general standard conventions of an scf ground-state total energy calculation performed with Quantum ESPRESSO via its "pw_scf" flavor, as implemented on our platform. The HSE-specific aspects and parameters of the scf calculation described below can be triggered by including the HSE Refiner, as set under the Subworkflow Editor Interface.

Selecting the HSE Exchange-correlation Functional

The HSE method is activated via the addition of the input_dft = 'hse' input parameter within the main Quantum ESPRESSO input script, for explicitly selecting the HSE Exchange-correlation functional.

Defining the q-sampling of the Fock Operator

A second set of important input parameters in the context of HSE consists in the "nqx1, nqx2, nqx3" keywords. These parameters define the three-dimensional mesh for the q (k1-k2) sampling of the Fock operator. For basic bandstructure calculations such as those being considered in the present tutorial, these three mesh parameters can all be left to a size of one. However for an accurate estimate of the size of the band gap, such as narrated in a separate tutorial, a higher value for this q-mesh size should be considered and tested, which drastically improves the precision of the band structure computation at the price of a significantly higher computational cost.

Inserting the List of k-points

Another aspect of the main HSE calculation unit worth noticing is how the grid of special k-points is not generated automatically, as customarily done in ground state scf computations, but rather is defined manually in crystal coordinates by importing the list of k-points extracted in the preceding subworkflow.

Specifying the k-path

In addition to this list of k-points for sampling the Brillouin Zone of the crystal over a regular grid, a second list of k-points needs to be provided and inserted manually at the bottom of the Quantum ESPRESSO input script, consisting in the path of k-points to be followed across the Brillouin Zone for plotting the final band structure dispersion curves. This k-path can be customized by the user under the "Important Settings" tab of the Subworkflow Editor interface.

Weight of the k-path points

It should be noticed that the reciprocal coordinates of these k-points along the path under consideration are inserted with a very small weight (less than 1e-7), as opposed to the k-grid points which are instead entered with their normal weights. This is done to ensure that the k-path points do not interfere with the HSE electronic structure computation itself, since they are only needed for defining and plotting the final band structure dispersion curve. Such weights are not set to exactly zero in order for them to be applied correctly by Quantum ESPRESSO.

Calculating the Final Band Structure

The final band structure calculation based upon the results of the preceding steps is performed through the customary "bands.x" executable, a component of the Quantum ESPRESSO package distribution.

Copy HSE Workflow from Bank

Workflows for calculating the band structure of materials with Quantum ESPRESSO via the HSE approach being presently described can readily be imported from the Workflows Bank into the account-owned collection.

This workflow can later be selected and added to the Job being created. The same procedure as in the general band-structure computation tutorial based on Quantum ESPRESSO can otherwise be followed.

Computational Cost

The computational cost of HSE calculations is significantly higher than for more basic methods in DFT such as the Generalized Gradient Approximation. We thus recommend to allow for more CPU cores and/or walltime as appropriate for the material system under investigation.


We demonstrate the steps involved in the creation and execution of a HSE Band Structure computation workflow on silicon, using the Quantum ESPRESSO simulation engine, in the following animation. We conclude by inspecting the final band structure dispersion plot under the "Results" Tab of Job Viewer.