Skip to content

aiidateam/aiida-quantumespresso

Repository files navigation

aiida-quantumespresso

PyPI version PyPI pyversions Build Status Docs status

This is the official AiiDA plugin for Quantum ESPRESSO.

Compatibility matrix

The matrix below assumes the user always install the latest patch release of the specified minor version, which is recommended.

Plugin AiiDA Python Quantum ESPRESSO
v4.3 < v5.0 Compatibility for v4.0 PyPI pyversions Quantum ESPRESSO compatibility
v4.0 < v4.3 Compatibility for v4.0 PyPI pyversions Quantum ESPRESSO compatibility
v3.5 < v4.0 Compatibility for v3.5 PyPI pyversions Quantum ESPRESSO compatibility
v3.4 < v3.5 Compatibility for v3.4 PyPI pyversions Quantum ESPRESSO compatibility
v3.3 < v3.4 Compatibility for v3.3 PyPI pyversions Quantum ESPRESSO compatibility
v3.1 < v3.3 Compatibility for v3.1 PyPI pyversions Quantum ESPRESSO compatibility
v3.0 < v3.1 Compatibility for v3.0 PyPI pyversions Quantum ESPRESSO compatibility
v2.0 < v3.0 Compatibility for v2.0 PyPI pyversions Quantum ESPRESSO compatibility

Starting from aiida-quantumespresso==4.0, the last three minor versions of Quantum ESPRESSO are supported. Older versions are supported up to a maximum of two years.

Installation

To install from PyPI, simply execute:

pip install aiida-quantumespresso

or when installing from source:

git clone https://github.com/aiidateam/aiida-quantumespresso
pip install aiida-quantumespresso

Command line interface tool

The plugin comes with a builtin CLI tool: aiida-quantumespresso. This tool is built using the click library and supports tab-completion. To enable it, add the following to your shell loading script, e.g. the .bashrc or virtual environment activate script:

eval "$(_AIIDA_QUANTUMESPRESSO_COMPLETE=source aiida-quantumespresso)"

The tool comes with various sub commands, for example to quickly launch some calculations and workchains For example, to launch a test PwCalculation you can run the following command:

aiida-quantumespresso calculation launch pw -X pw-v6.1 -F SSSP/1.1/PBE/efficiency

Note that this requires the code pw-v6.1 and pseudopotential family SSSP/1.1/PBE/efficiency to be configured. See the pseudopotentials section on how to install them easily. Each command has a fully documented command line interface, which can be printed to screen with the help flag:

aiida-quantumespresso calculation launch ph --help

which should print something like the following:

Usage: aiida-quantumespresso calculation launch ph [OPTIONS]

  Run a PhCalculation.

Options:
  -X, --code CODE                 A single code identified by its ID, UUID or
                                  label.  [required]
  -C, --calculation CALCULATION   A single calculation identified by its ID or
                                  UUID.  [required]
  -k, --kpoints-mesh INTEGER...   The number of points in the kpoint mesh
                                  along each basis vector.  [default: 1, 1, 1]
  -m, --max-num-machines INTEGER  The maximum number of machines (nodes) to
                                  use for the calculations.  [default: 1]
  -w, --max-wallclock-seconds INTEGER
                                  the maximum wallclock time in seconds to set
                                  for the calculations.  [default: 1800]
  -i, --with-mpi                  Run the calculations with MPI enabled.
                                  [default: False]
  -d, --daemon                    Submit the process to the daemon instead of
                                  running it locally.  [default: False]
  -h, --help                      Show this message and exit.

Pseudopotentials

Pseudopotentials are installed and managed through the aiida-pseudo plugin. The easiest way to install pseudopotentials, is to install a version of the SSSP through the CLI of aiida-pseudo. Simply run

aiida-pseudo install sssp

to install the default SSSP version. List the installed pseudopotential families with the command aiida-pseudo list. You can then use the name of any family in the command line using the -F flag.

Development

Running tests

To run the tests, simply clone and install the package locally with the [tests] optional dependencies:

git clone https://github.com/aiidateam/aiida-quantumespresso .
cd aiida-quantumespresso
pip install -e .[tests]  # install extra dependencies for test
pytest # run tests

You can also use tox to run the test set. Here you can also use the -e option to specify the Python version for the test run:

pip install tox
tox -e py39 -- tests/calculations/test_pw.py

Pre-commit

To contribute to this repository, please enable pre-commit so the code in commits are conform to the standards. Simply install the repository with the pre-commit extra dependencies:

cd aiida-quantumespresso
pip install -e .[pre-commit]
pre-commit install

License

The aiida-quantumespresso plugin package is released under the MIT license. See the LICENSE.txt file for more details.

Acknowledgements

We acknowledge support from: