openmaterials.ai / codes / Quantum ESPRESSO

Quantum ESPRESSO: plane-wave DFT and lattice dynamics by perturbation theory

An open-source suite of plane-wave pseudopotential codes whose ph.x was, to its authors' knowledge, the first implementation of density-functional perturbation theory.

What it is and how it works

Linear response at any wavevector

ph.x computes the response to a lattice distortion of any wavelength at a cost proportional to that of the unperturbed system. Long-wavelength responses are inexpensive (Giannozzi 2009).

Ground state with pw.x

Iterative diagonalization and Broyden mixing with norm-conserving, ultrasoft or PAW pseudopotentials. LDA, GGA, DFT+U, meta-GGA and hybrid functionals (Giannozzi 2009).

Five parallelization levels

Images, k-point pools, plane waves, task groups and linear algebra, each an MPI communicator. PWscf scaled to 4800 processors on 587 atoms (Giannozzi 2009).

pw.x on NVIDIA GPUs

QE-GPU v6.5 ports pw.x in CUDA Fortran. The speedup on one V100 is 1.4x for a 98-atom cell and exceeds 3x as the basis set grows (Giannozzi 2020).

File-based interfaces

Inputs are Fortran namelists. Output goes to a data directory with an XML-tagged head file (Giannozzi 2009). Interfaces reach LAMMPS and i-PI (Giannozzi 2017).

Verified pseudopotentials

The SSSP protocol tests pseudopotentials with pw.x and ph.x on 85 elements. SSSP precision averages a Delta of 0.33 meV, rare-earth nitrides excluded (Prandini 2018).

What people do with it

Graphene and graphite heat conduction

Exact Boltzmann solutions with DFPT inputs give 3600 W/m/K for infinite natural graphene and 2000 W/m/K for graphite at room temperature. The single-mode result for graphite is 10x lower. Fugallo 2014

Second sound in two-dimensional crystals

In graphene, boron nitride and graphane normal scattering dominates over Umklapp up to room temperature. In graphene at room temperature second sound travels of the order of 1 mm. Cepellotti 2015

Resonant bonding in PbTe and SnTe

QE force constants for PbTe and SnTe are long-ranged along <100>. Fourth neighbours 6 Å apart couple as strongly as first neighbours 3 Å apart. Eighth neighbours act as anti-springs. Lee 2014

How it is used

  1. Write the pw.x input

    Namelists plus CELL_PARAMETERS, ATOMIC_POSITIONS and ATOMIC_SPECIES with UPF files.

  2. Run pw.x

    Self-consistent ground state. The output holds the total energy in Ry, forces and stress.

  3. Run ph.x

    DFPT at the chosen q points. fildyn files hold dynamical matrices, Born charges, epsilon.

  4. Run q2r.x and matdyn.x

    Fourier transform to real-space force constants, then frequencies and DOS on any mesh.

  5. Hand off

    The outputs feed Wannier90, EPW, thermal2, AiiDA workflows or the i-PI driver.