AiiDA
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)

Posts

AiiDA Virtual Tutorial July 2021

👤 🕔 May 5, 2021 Comments Off on AiiDA Virtual Tutorial July 2021

The AiiDA team is pleased to announce the details for our annual tutorial week!

Description

This year’s introductory tutorial to AiiDA from the 5th to the 9th of July 2021 will once again be organised in a virtual format.

The goal of this 5 day-tutorial is to help students and researchers from the field of computational materials science get started with running and writing reproducible workflows. They will be introduced by experts in the field (including the developers of the code) to the use of AiiDA, a state-of-the-art framework for provenance tracking and workflow management designed to support high-throughput research, and will gain in-depth hands-on experience using a tool that they can directly apply to their own research. Participation both from academia and from industry is encouraged.

The AiiDA framework is a tool for workflow management and provenance tracking, which is backed by a significant community of users and developers, and has interfaces to more than 50 materials science codes (see the AiiDA plugin registry), including (among others) to the ab initio codes Quantum ESPRESSO, VASP, cp2k, Castep, Siesta, Fleur, Crystal, NWChem, Wannier90, and Yambo. AiiDA’s permissive open source license (MIT) enables participants to use it both in academic and commercial settings. By virtue of its general design and flexible plugin system, AiiDA is easily extended to new codes and new use cases.

Talks will be pre-recorded and made available to participants before the event, and hands-on tutorials will be held via Zoom. In order to avoid losing time on installation issues, participants will be working on the tutorial material in their browser by accessing a JupyterHub deployment of AiiDAlab. We will also be organising a poster session for which participants are encouraged to participate.

The event will mostly focus on in-depth tutorials on using AiiDA for running computations and on writing workflows. It will also include some talks on how AiiDA has been already used in production, given by the organisers and the core developers of AiiDA and its plugins; on advanced aspects of workflow management; on designing and writing new AiiDA plugins; and on research data management (RDM), especially when using AiiDA and the Materials Cloud.

Key Details

When: From July 5th, 2021 to July 9th, 2021.

Where: Virtual Zoom Meetings

Registration: Fill this online form here.

Registration deadline: June 17th, 2021 at 23:59 CEST. After the deadline, we will select participants if there are more applications than the number of available spaces. Confirmation of acceptance will be sent to applicants at the latest on June 23rd, 2021.

Participation in the event is free of charge. Up to 120 participants will be chosen (split into two time-zone groups), in order to ensure the possibility for the AiiDA-core developers and tutors to provide direct feedback to all participants during the hands-on sessions.

Tutors and organisers

The tutorial is organised by Francisco Ramirez (EPFL, CH), Marnik Bercx (EPFL, CH) and Giovanni Pizzi (EPFL, CH).

Tutorial lectures and assistance during hands-on sessions will be provided by the organisers and a team of core AiiDA developers: Leopold Talirz, Aliaksandr Yakutovich, Casper Andersen, Flaviano dos Santos, Carl Simon Adorf and Chris Sewell.

For general information concerning the tutorial you can contact Francisco (francisco.ramirez@epfl.ch) or Marnik (marnik.bercx@epfl.ch).

Schedule (for both groups A and B)

Below is the tentative schedule for the event (click to zoom). Two time slots will be provided for each session to accommodate for participants in different time zones. The event will be repeated identically for group A and B, so you can select the group that best fits your timezone. Note that the title of the sessions might still slightly change, but the timing of the event will remain the same.

Funding

We are very grateful to our sponsors for helping to make this event possible:

The MaX European Centre of Excellence, the swissuniversities P-5 project “Materials Cloud”, the MARVEL National Centre of Competence in Research, the H2020 MARKETPLACE project, and the BIG-MAP project.

Report on the 2020 AiiDA virtual tutorial

👤 🕔 July 22, 2020 Comments Off on Report on the 2020 AiiDA virtual tutorial

All the presentations and material used for the hands-on sessions can be found on the tutorial webpage.

Due to the ongoing pandemic, this year’s edition of the AiiDA tutorial was organised in an entirely virtual format, which gave us the opportunity to expand our admittance to a truly global audience. In total, we accepted 85 participants from 30 countries and 13 different time zones. Incorporating this wide range of time zones presented an interesting challenge, and so we decided to split participants into two groups, running duplicate hands-on sessions for each group at different times of the day.

All presentations were pre-recorded and published on YouTube before the start of the tutorial. Next to the talks, which introduced the concepts for each of the hand-on sessions, there were also many interesting contributions from several of AiiDA’s plugin developers. The hands-on sessions were organised via Zoom meetings, with our instructors on hand to provide feedback to the participants and breakout rooms made available for one-on-one assistance.

The tutorial schedule, showing the time slots for both groups A and B.

The first day started with a brief introduction, after which we made sure the participants were able to connect to their Quantum Mobile virtual machines, hosted on Amazon’s web services. Once everyone was ready to get started, Giovanni Pizzi kicked off the hands-on sessions by explaining the basics of using AiiDA. After a short break, Francisco Ramirez guided the session on running computations through the AiiDA engine, using Quantum ESPRESSO as an example.

The first session on Wednesday, presented by Casper Andersen and Aliaksandr Yakutovich, was devoted to some essential tools for managing data and querying your database. After the break, Marnik Bercx coordinated an initial session on how to write workflows in AiiDA, continuing through to Thursday with Sebastiaan Huber introducing more advanced methods to improve the robustness of your workflows. In Thursday’s second session, Leopold Talirz explained the basics on writing plugins, after which participants could either work through a prepared example to understand the concepts, or start working on writing a plugin for an external code they wanted to run using AiiDA.

Participants of group A at the end of the plugin developer Q&A session.

On the last day a Q&A panel was arranged with a number of plugin developers, who were kind enough to take time out of their busy schedule to answer questions about their work. Finally, the last session was dedicated to helping the participants install and run AiiDA on their machine, facilitated by a step-by-step explanation from Chris Sewell. After the closing remarks, a final hands-on session was available to participants who had further questions for our team or required more assistance with their AiiDA installation.

Participants of group B during the first hands-on session on Thursday.

As many of the instructors were present for most of the hands-on sessions of both groups, this resulted in some long days for some! However, their energy and dedication never wavered, which was very much appreciated by the participants. 

Feedback on the skills and responsiveness of the instructors.

All in all, the first virtual AiiDA tutorial was a great success! As shown by the graphs below, participants were very happy with the format and tutorial material, and close to 80% said that we should organise more virtual tutorials in the future, even once travelling no longer is an issue. We have also received many valuable suggestions which we will consider to further improve the next tutorials.

Thanks to all who attended, and we look forward to hearing from you again!

AiiDA project & Google Season of Docs

👤 🕔 April 22, 2019 Comments Off on AiiDA project & Google Season of Docs


The AiiDA project is happy to announce its application to participate in this year’s Google Season of Docs (GSoD). GSoD tries to bring open source projects and technical writers together: To give technical writers experience in contributing to open source projects and help opens source projects to improve their documentation and interact with the technical writing community.

What happens next

See also the full timeline:

  • April 30, 2019 Google publishes the list of accepted mentoring organizations
  • May 29, 2019 Start of technical writer application period. More details about the application process can be found in the technical writer guide, where also the application form will be published
  • June 28, 2019 End of technical writer application period

Prospective technical writers

Are you a technical writer with a background in (or affinity to) computational materials science, physics or chemistry? Would you be interested in boosting a tool that lets researchers manage thousands of simultaneous calculations on supercomputers and helps them work in an open-science environment, making their research reproducible and FAIR? Then please read on!

If you would like to discuss your application or project ideas, please feel free to contact Kevin or any of the other coordinators and prospective mentors:

What is AiiDA?

Simulations and high-throughput computational screenings have emerged as indispensable tools in materials’ science. The important impact of quantum simulations on science in general is underscored by the fact that 12 of the 100 most cited papers of the entire scientific literature deal with simulations based on density functional-theory .

Computational materials science involves screening thousands to hundreds of thousands of materials for key figures of merit. Running thousands of calculations is a nontrivial task in itself and calls for an infrastructure to help orchestrate the calculations and organize the output data, while also ensuring that others can easily reproduce the work. To this aim, there are two important requirements for such an infrastructure: First, it must be flexible enough to support a large variety of simulation workflows; second, it should require minimal overhead compared to the ‘conventional’ way of running simulations.

AiiDA is a python package that is built to make this possible: while automating simulations on supercomputers, it stores the full provenance of data and calculations in a directed graph (see Figure 1c) that can be easily queried using a high-level interface. Moreover, it provides a workflow engine that make it possible to automate and run complex simulations with simple, small snippets of code by using predefined ‘turn-key’ workflows (see Figure 1). Currently, 34 plugins provide support different codes and provide over 50 workflows to compute basic and advanced materials properties.

AiiDA workflows
Figure 1: Complex computational workflow for the Aluminum band structure (a) started using a turnkey workflow as shown in (b). The resulting computational graph (c) that is automatically stored in the AiiDA database. Source: Pizzi, G., Togo, A., & Kozinsky, B. (2018). Provenance, workflows, and crystallographic tools in materials science: AiiDA, spglib, and seekpath. MRS Bulletin, 43(9), 696-702. doi:10.1557/mrs.2018.203

Project ideas

AiiDA is documented on ReadTheDocs and also offers a variety of tutorial material from university classes, schools and workshops (https://aiidateam.github.io/aiida-tutorials/ , https://github.com/aiidateam/aiida_demos, https://github.com/aiidateam/aiida-max-examples, https://aiida-core.readthedocs.io/en/stable/tutorial/index.html) most of which were written for AiiDA 0.x.

Following several alpha and beta versions, 2019 will see the release of AiiDA version 1.0. AiiDA 1.0 brings a number of new features, a redesign of the provenance model as well as of many AiiDA internals. The projects for the 2019 GSoD will focus on updating the available documentation and tutorial material to reflect the changes which were introduced in AiiDA 1.0.

Note: These are project ideas. We highly welcome your suggestions on how to make the documentation more effective as well as how to best accommodate your talents as a technical writer.

AiiDA Tutorials: Teaching AiiDA

Recently, a new major release of AiiDA changed several parts of the API wherefore existing tutorials (https://aiidateam.github.io/aiida-tutorials/ , https://github.com/aiidateam/aiida_demos, https://github.com/aiidateam/aiida-max-examples, https://aiida-core.readthedocs.io/en/stable/tutorial/index.html) need to be updated to reflect these changes.

Moreover, from the perspective of a new user, it would be probably easier to find all existing tutorials in a consistent and updated form in one place (e.g. a with tag with the versions on which the tutorials were tested, see also http://matgenb.materialsvirtuallab.org/). On top of that, several codes that AiIDA supports are not represented with a tutorial — it would be great to add new jupyter notebooks, ideally on MyBinder, showcasing how to use AiiDA with those plugins.
We can suggest plugins which are well developed and contain advanced features (and for which we know the authors) and can help the technical writers in prioritizing.
The technical writer could then test examples from the plugin repositories and create a tutorial, maybe even in form of a screencast (some videos can already be found on the Materials Cloud), explaining a common workflow using AiiDA and one of the many AiiDA plugins.
Existing videos and screencasts could be updated, or at least annotated, to reflect the changes with the new major release. An ambitious technical writer might even set out to develop a online course teaching the basics of AiiDA (writing workflows, querying the database) in the form of a MOOC. An bit less ambitious goal would be to bring existing tutorials on our youtube channel into a consistent format.

AiiDA docs

The AiiDA documentation, written in Sphinx and hosted on ReadTheDocs, is our main effort to document the usage and development of AiiDA. A technical writer could contribute in several ways to this documentation: First, the complete documentation needs to be checked for compatibility with the AiiDA 1.0 release. Second, the documentation can still be extended and refactored to improve the user experience. Sometimes, we encounter issues that are not documented or are not clear enough, or we realise that the organisation of the documentation does not make it easy to find the section that is being searched for. Hence, it would be great to check for frequent issues on the mailing list and include those in the documentation.

AiiDA web site

We feel that our web page could to be updated to better highlight the main features of AiiDA. Currently, the feature section is hidden and should be updated to reflect the feature set of the most recent release. A technical writer could help developing this section and writing a ‘why use AiiDA’ section, ideally supported by appealing visualizations.
We would welcome interactive feature demonstrations or a carousel with examples in which AiiDA was used. This could include links to the databases on the Materials Cloud archive or even interviews with researchers, discussing how they used AiiDA in their research and publication process.

AiiDA plugins migration workshop – EPFL, 25-29 March 2019

👤 🕔 January 11, 2019 Comments Off on AiiDA plugins migration workshop – EPFL, 25-29 March 2019

An AiiDA plugin migration workshop will be held at EPFL Lausanne, Switzerland, aiming at collecting about 20 participants.

The workshop will start on Monday 25th March at 2PM and end on Friday 29th March at 1PM.

We are in the process of preparing the AiiDA code towards the 1.0 release, in which we have recently introduced python 2 + python 3 support (already available in the 1.0 alpha releases). While we strive to always maintain back-compatibility, we have realised that there were a few needed improvements to the API and we felt that the 1.0 release was the right moment to introduce them. (Note: while existing “codebases” will need (often very straightforward) migration-which is
what this workshop is for-existing “databases” will be fully compatible and be automatically migrated when users upgrade to AiiDA 1.0).

The aim of this workshop is to directly support AiiDA plugin developers in the migration of their plugins to support both python 2 and python 3, as well as the changes introduced in AiiDA 1.0.

This workshop is focused on migrating existing plugins (a full list of the plugins supporting almost 60 different codes can be found on the AiiDA plugin registry page). Another tutorial for new developers of plugins and workflows will be held in Lausanne in the week 20-24 May 2019 and will be advertised soon (stay tuned!).

We will also reserve some time for discussions on plugin interfaces and their homogenisation and common APIs, exploiting this unique occasion bringing together many plugin developers.

Main topics

  • explanation of the changes on 1.0;
  • hands-on workshop on porting plugins to py2+3 and new aiida 1.0;
  • discussions on common interfaces to different plugins for common functionalities (e.g. crystal structure relaxation, band structure, …);
  • discussion of automated plugin testing against different versions of AiiDA, python, …

Program
Every day there will be an informal coffee break from 11:00 – 11:15 and 16:00 – 16:15

Monday 25th
2:00 – 2:15: Registration
2:15 – 2:20: Introductory talk
2:20 – 3:20: What’s new in v1.0.0 + backwards incompatible changes (Sebastiaan)
3:20 – 4:00: Talk on python2/python3 compatibility
4:00 – 4:30: Coffee break
4:30 – 4:45: Plugin migration – step by step instructions
4:45 – 6:00: Hands-on plugin migration workshop

Tuesday 26th
09:00 – 09:45: Tutorial on plugin versioning and git-flow model of releasing
09:45 – 11:00: Hands-on plugin migration workshop
13:00 – 14:00: Lunch
14:00 – 18:00: Hands-on plugin migration workshop

Wednesday 27th
09:00 – 13:00: Hands-on plugin migration workshop
13:00 – 14:00: Lunch
14:00 – 14:45: Talk on new workflow and engine features
14:45 – 18:00: Hands-on plugin migration workshop
19:00 – 22:00: Social dinner (place to be announced)

Thursday 28th
09:00 – 13:00: Open discussion on plugin common guidelines and common workflow interfaces
13:00 – 14:00: Lunch
14:00 – 18:00: Hands-on plugin migration workshop

Friday 29th
09:00 – 13:00: Hands-on plugin migration workshop

Support

This workshop is supported by the NCCR MARVEL funded by the Swiss National Science Foundation and by the European H2020 MaX Centre of Excellence.