Automated Interactive Infrastructure and Database for Computational Science

If you use AiiDA please cite:
AiiDA 1.x
Main paper: S.P. Huber et al., Scientific Data 7, 300 (2020)
AiiDA engine: M. Uhrin et al., Comp. Mat. Sci. 187 (2021)

AiiDA 0.x
First paper, ADES model: G. Pizzi et al. Comp. Mat. Sci. 111, 218-230 (2016) (open access version)


  • Because it  allows you to automate your daily work, making it faster and more organised. Because a complicated script that you must adapt at every use can become a very short python script. Because you won’t have to worry anymore about waiting for a calculation to finish before starting the next step, but instead complex sequences of calculations can be automatically managed. Because you won’t need to worry about schedulers files, queues, conversion of inputs/outputs, but you will just wait for the final results to “magically” appear in your database. Because you can browse your data inside the AiiDA database and query for it, instead of browsing through folders, and all this without any need to know SQL or other query languages. And much more…
  • The code is released free of charge with an open-source MIT license, so anybody can use, modify and redistribute it. If you are working or studying at an academic institution, you can also download for free the EPFL version of AiiDA, which includes some advanced plugins.
    In all cases, though, we ask you to cite our paper in all your publications in which AiiDA has been involved.
  • At the moment we support the Quantum ESPRESSO suite of codes but also Wannier90, YAMBO, GPAW, ASE calculators, Phonopy, NWChem and CODTools. Several more code plugins are under development like CP2K, FLEUR, Exciting, SIESTA, i-PI and VASP. Other codes, such as LAMMPS, Vasp and Wien2K will also be soon supported. Any code, however, can be implemented very easily by adding a new plugin!

  • We support the most common open-source relational databases: SQLite, MySQL and PostgreSQL. SQLite is the easiest to install (and to use for your first tests), but for production we strongly suggest to use a “real” database (the developers’ choice is PostgreSQL).
  • No: we provide tutorials, and you can start using AiiDA by just modifying our examples if what you want to do is just simple calculation submissions. Moreover, most common operations can be run from the command line, without any programming language involved, via the “verdi” executable. However, AiiDA is entirely written in Python, and a basic knowledge of this language is useful to use all advanced AiiDA capabilities (as, for instance, the workflows).
  • This one: AiiDA. The capitalization “aiida” is also accepted but only for the name of Python modules, in order to comply with Python conventions on the capitalization of variables and module names. All other capitalizations should be avoided.