Use the plugin to support inputs of Quantum Espresso cp.x executable. Note that most of the options are the same of the pw.x plugin, so refer to that page for more details.

Supported codes#

  • tested from cp.x v5.0 onwards.


  • pseudo, class UpfData One pseudopotential file per atomic species.

    Alternatively, pseudo for every atomic species can be set with the use_pseudos_from_family method, if a family of pseudopotentials has been installed..

  • parameters, class Dict Input parameters of cp.x, as a nested dictionary, mapping the input of QE. Example:


    A full list of variables and their meaning is found in the cp.x documentation.

    Following keywords, related to the structure or to the file paths, are already taken care of by AiiDA:

    'CONTROL', 'pseudo_dir': pseudopotential directory
    'CONTROL', 'outdir': scratch directory
    'CONTROL', 'prefix': file prefix
    'SYSTEM', 'celldm': cell dm
    'SYSTEM', 'nat': number of atoms
    'SYSTEM', 'ntyp': number of species
    'SYSTEM', 'a': cell parameters
    'SYSTEM', 'b': cell parameters
    'SYSTEM', 'c': cell parameters
    'SYSTEM', 'cosab': cell parameters
    'SYSTEM', 'cosac': cell parameters
    'SYSTEM', 'cosbc': cell parameters

    Those keywords should not be specified, otherwise the submission will fail.

    The SYSTEM, ibrav keyword is optional. If it is not specified, ibrav=0 is used. When a non-zero ibrav is given, aiida-quantumespresso automatically extracts the cell parameters. As a consistency check, the cell is re-constructed from these parameters and compared to the input cell. The input structure needs to match the convention detailed in the pw.x documentation. The tolerance used in this check can be adjusted with the IBRAV_CELL_TOLERANCE key in the settings dictionary. It defines the absolute tolerance on each element of the cell matrix.

  • structure, class StructureData The initial ionic configuration of the CP molecular dynamics.

  • settings, class Dict (optional) An optional dictionary that activates non-default operations. Check the section Advanced features (on the PW plugin documentation page) to know which flags can be passed.

  • parent_folder, class RemoteData (optional) If specified, the scratch folder coming from a previous QE calculation is copied in the scratch of the new calculation.


There are several output nodes that can be created by the plugin, according to the calculation details. All output nodes can be accessed with the calculation.out method.

  • output_parameters Dict Contains the scalar properties. Example: energies (in eV) of the last configuration, wall_time, warnings (possible error messages generated in the run). calculation.outputs.output_parameters can also be accessed by the calculation.res shortcut.

  • output_trajectory_array TrajectoryData Contains vectorial properties, too big to be put in the dictionary, like energies, positions, velocities, cells, at every saved step.

  • output_structure StructureData Structure of the last step.


Errors of the parsing are reported in the log of the calculation (accessible with the verdi calculation logshow command). Moreover, they are stored in the Dict under the key warnings, and are accessible with Calculation.res.warnings.