# Workflows¶

This section describes the different base workchains and utilities for workchain development.

## Full workchains¶

class aiida_quantumespresso.workflows.ph.base.PhBaseWorkChain(*args, **kwargs)[source]

Workchain to run a Quantum ESPRESSO ph.x calculation with automated error handling and restarts.

class aiida_quantumespresso.workflows.pw.base.PwBaseWorkChain(*args, **kwargs)[source]

Workchain to run a Quantum ESPRESSO pw.x calculation with automated error handling and restarts.

class aiida_quantumespresso.workflows.pw.relax.PwRelaxWorkChain(inputs=None, logger=None, runner=None, enable_persistence=True)[source]

Workchain to relax a structure using Quantum ESPRESSO pw.x.

class aiida_quantumespresso.workflows.pw.bands.PwBandsWorkChain(inputs=None, logger=None, runner=None, enable_persistence=True)[source]

Workchain to compute a band structure for a given structure using Quantum ESPRESSO pw.x.

The logic for the computation of various parameters for the BANDS step is as follows:

Number of bands:

One can specify the number of bands to be used in the BANDS step either directly through the input parameters bands.pw.parameters.SYSTEM.nbnd or through nbands_factor. Note that specifying both is not allowed. When neither is specified nothing will be set by the work chain and the default of Quantum ESPRESSO will end up being used. If the nbands_factor is specified the maximum value of the following values will be used:

• nbnd of the preceding SCF calculation
• 0.5 * nspin * nelectrons * nbands_factor
• 0.5 * nspin * nelectrons + 4 * nspin
Kpoints:
There are three options; specify either an existing KpointsData through bands_kpoints, or specify the bands_kpoint_distance, or specify neither. For the former those exact kpoints will be used for the BANDS step. In the two other cases, the structure will first be normalized using SeekPath and the path along high-symmetry k-points will be generated on that structure. The distance between kpoints for the path will be equal to that of bands_kpoints_distance or the SeekPath default if not specified.