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)


AiiDA v1.3.0 released

👤 🕔 July 21, 2020 Comments Off on AiiDA v1.3.0 released

A new AiiDA release v1.3.0 is available! You can find more information at our download page. It can be installed through pip as:

    pip install aiida-core==1.3.0
    reentry scan

This is the third minor version of the v1 series and comes with some important performance improvements and features, but also various bug fixes. In addition, the documentation has received a major overhaul, both in structure as well as appearance.

Engine performance

One of the big improvements of AiiDA v1.0 was the switch to an event-based engine that makes it a lot more responsive and performant. Running processes broadcast messages, such as when their state changes, that others, such as the daemon workers, can respond to. In this release, this mechanism is used to make the engine even more responsive. A work chain that runs subprocesses, will now start listening to their state changes, such that once the last running subprocess messages that it has finished, the work chain can resume to the next step immediately. This event-based messaging makes the work chains very responsive, however, it is possible that now and again a message slips through the cracks, in which case the work chain would be waiting indefinitely. As a backup, we keep a polling mechanism that will check the status of each subprocess every interval to see whether it has already finished. In previous releases, this was the only mechanism and it would poll every second. This would keep the computer running AiiDA unnecessarily busy. With the new broadcasting mechanism, we were able to increase the polling interval from 1 to 60 seconds. You can even customize this if you would like:

    verdi config runner.poll.interval 120

Note that this polling mechanism is really a backup system and the engine will not rely on it in the vast majority of cases. Still, if you don’t mind waiting a bit longer in this very unlikely case, you can always increase the interval a bit more.

For more details on this release, see the change log.

Happy computing!

The AiiDA team

AiiDA virtual tutorial registration now open

👤 🕔 June 4, 2020 Comments Off on AiiDA virtual tutorial registration now open

The AiiDA team are pleased to announce that registration for our annual tutorial week (July 7-10 2020) is now open until June 19th.

In light of the COVID-19 pandemic, this tutorial week will be hosted virtually. Talks will be pre-recorded and made available to participants before the event, and hands-on tutorials will be held via Zoom at two timeslots, to accommodate for participants in different time-zones.

The goal of this 4 day-tutorial is to help students and researchers from the field of computational materials science get started with writing reproducible workflows. Participation is free of charge and will cater for up to 80 participants.

For further information and the tentative schedule, and to register, please see the official event page.

Documentation revamp, and more than 50 registered plugins

👤 🕔 June 3, 2020 Comments Off on Documentation revamp, and more than 50 registered plugins
We are thrilled to announce a comprehensive revamp of the AiiDA documentation.
With the ultimate goal to lower the entry barrier for new users and to make it easier for both beginners and experienced AiiDA users to find the information they are looking for, the documentation is now divided into four distinct sections: a brief, learning-oriented tutorial, goal-oriented how-to recipes, understanding-oriented topic guides, and information-oriented reference material (for more details on the philosophy, see our wiki). Your feedback is most welcome!
We are also happy to report that the AiiDA plugin registry  has reached the milestone of 50 plugin packages (and 100 calculation plugins) – all thanks to your continued contribution to the AiiDA ecosystem.

Newly-engineered Materials Cloud Archive

👤 🕔 May 27, 2020 Comments Off on Newly-engineered Materials Cloud Archive

We would like to announce the launch of a newly engineered Materials Cloud Archive, now powered by the same Invenio framework as the massive Zenodo repository at CERN.

Read more…

2020 Questionnaire results – AiiDA papers & testimonials

👤 🕔 May 9, 2020 Comments Off on 2020 Questionnaire results – AiiDA papers & testimonials

The results of the annual questionnaire on AiiDA-powered research projects are out!

Find them on the new page where we plan to collect future survey results and keep track of publications using AiiDA.

We’ve also asked AiiDA users what they use AiiDA for and how it benefits their day-to-day research. Find their take on

AiiDA v1.2.0 released

👤 🕔 April 15, 2020 Comments Off on AiiDA v1.2.0 released

A new AiiDA release v1.2.0 is available! You can find more information at our download page. It can be installed through pip as:

    pip install aiida-core==1.2.0
    reentry scan


N.B.:  the `reentry scan` step is crucial as we have added new entry points.

This is the second minor version of the v1 series and comes with mostly new features.
Especially groups have received a lot of new functionality.

Groups can now be subclassed
The `Group` class can now be subclassed to implement custom functionality, just like for example the `Data` node class. They can be registered through entry points in the new entry point category “aiida.groups”. Please refer to the documentation [1] for more details.

Virtual group hierarchy through `GroupPath`
The group concept in AiiDA so far has been “flat”. That is to say, group can contain nodes, but you a group cannot contain another group. Many users have expressed the wish to be able to treat groups a bit more like folders on a filesystem and add some hierarchy to them. Thanks to a contribution by Chris Sewell, the `GroupPath` utility now provides a virtual hierarchy based on the group labels. Forward slash characters ‘/’ in group labels will be interpreted as sub groups. A very short demonstration:

In [1]: from import GroupPath
   ...: Group(label='project/sub/a')
   ...: Group(label='project/sub/b')

In [2]: path = GroupPath('project/sub') 
   ...: for child in path.children: 
   ...:     group = child.get_group() 
   ...:     print('Group<{}> contains {} nodes'.format(group.label, group.count())) 
Group<project/sub/a> contains 0 nodes
Group<project/sub/b> contains 0 nodes

Of course the `GroupPath` class provides much more than that and it is also exposed on the CLI through `verdi group path ls`. Extensive documentation of all functionality will be added to the official documentation soon.

More details and download options can be found through the following links:

Pre-prints of upcoming AiiDA & Materials Cloud papers now available

👤 🕔 March 30, 2020 Comments Off on Pre-prints of upcoming AiiDA & Materials Cloud papers now available

After five years of continued development since the first AiiDA paper it was time to sit down and recap how AiiDA has evolved. You can read a pre-print of the upcoming paper on AiiDA 1.0 at Huber, S.P. et al., arXiv:2003.12476 (2020)

We would like to take this opportunity to acknowledge and thank all those who have contributed to this milestone with code, bug fixes, improvements of the documentation, and useful discussions and suggestions:

Oscar D. Arbeláez-Echeverri, Michael Atambo, Valentin Bersier, Marco Borelli, Jocelyn Boullier, Jens Bröder, Ivano E. Castelli, Keija Cui, Vladimir Dikan, Marco Dorigo, Y.-W. Fang, Espen Flage-Larsen, Marco Gibertini, Daniel Hollas, Eric Hontz, Jianxing Huang, Christoph Koch, Ian Lee, Daniel Marchand, Antimo Marrazzo, Simon Pintarelli, Gianluca Prandini, Philipp Rüßmann, Philippe Schwaller, Ole Schütt, Christopher Sewell, Andreas Stamminger, Atsushi Togo, Daniele Tomerini, Nicola Varini, Jason Yu, Austin Zadoks Bonan Zhu, Mario Zic, as well as all coauthors of the manuscript.

We have also just uploaded a pre-print describing the Materials Cloud platform powered by AiiDA in case you’re interested: Talirz, L. et al., arXiv:2003.12510 (2020)

The AiiDA Team

P.S. If your scientific work has benefited from the use of AiiDA 1.0 or the Materials Cloud, please acknowledge this by citing the pre-prints (until the papers are out).

AiiDA at Google Summer of Code 2020

👤 🕔 March 5, 2020 Comments Off on AiiDA at Google Summer of Code 2020

Thanks to the folks at NumFOCUS, AiiDA is participating in the Google Summer of Code 2020 under the NumFOCUS umbrella for the first time.

March 5th – Call for participation 

In short, this means that students (at the BSc/MSc or Ph.D. level, see eligibility criteria) can apply to work on an interesting AiiDA coding project for 3 months during the summer (May 18th-August 10th) and get reimbursed for their work.

Applications officially start March 16th, but selection will be competitive, and we recommend

Looking forward to your applications! We’ll keep updating this post as we move along.

The AiiDA Team

P.S. We are committed to help fight the insane gender imbalance in the open source community – that is to say: women are particularly encouraged to apply.

May 5th – GSOC students announced

We’re excited to announce that Jason Eu, a Ph.D. student from the Department of Physics at South China University of Technology, China will be participating in this GSOC working on adding asyncio support in plumpy, aiida-core and circus!

Welcome to the team, Jason! You can follow Jason’s progress on his blog.

AiiDA v1.1.1 released

👤 🕔 March 3, 2020 Comments Off on AiiDA v1.1.1 released

A new AiiDA release v1.1.1 is available! You can find more information at our download page. It can be installed through pip as:

    pip install aiida-core==1.1.1

This is the first patch release of the v1.1 series and as such contains mostly bug fixes and some minor changes and improvements. The most important changes relate to the caching mechanism and the BaseRestartWorkChain.

Caching mechanism
Due to a bug, certain calculations were not cached where they should, which has now been fixed. In addition, the format of the caching configuration file was broken, which has now been fixed (see the documentation).

The `BaseRestartWorkChain`class and associated utilities were added for beta trial in `aiida-core==1.1.0`. We have had useful discussions with developers and users during the AiiDA hackathon at CINECA from 17 – 21 February (see the report).

As a result of these discussions, we have decided to change the use of the `register_process_handler`. It has been renamed to `process_handler` and can now only be used to decorate instance methods of the work chain class within its scope and no longer outside of it. In addition, the decorator has a new keyword argument `enabled`, which determines whether the handler is by default considered during process handling. This default value can be overridden on a per work chain basis through the new `handler_overrides` input. Since the interface changed since its introduction in `aiida-core==1.1.0`, please only use the `BaseRestartWorkChain` from `aiida-core>=v1.1.1`.

More details and download options can be found through the following links:

Notes from AiiDA hackathon on plugin and workflow development

👤 🕔 March 3, 2020 Comments Off on Notes from AiiDA hackathon on plugin and workflow development

The  AiiDA hackathon held at CINECA from February 17th-21st 2020 featured a number of presentations and discussion sessions on topics relevant to plugin and workflow development.

Those interested can find links to slides of presentations, video recordings, as well as notes of the discussion sessions in the report . Enjoy!