- Contact us
AiiDA, the high-throughput environment, is built in a modular fashion. This makes it possible to support any other simulation code via plugins that go from the management of single runs to sophisticated workflows for the computation of advanced materials properties.
AiiDA has plugins for over 30 simulation packages and the list is growing also thanks to external contributors. The full list of currently supported codes can be found on the official AiiDA plugin registry, including links to the plugin code repositories and their documentation. In particular, MAX implements and supports the AiiDA plugins for all MAX flagship codes.
Quantum ESPRESSO, one of the MAX flagship codes, is a popular and powerful DFT simulation code. The aiida-quantumespresso package provides not only plugins to make sure that all codes of Quantum ESPRESSO can be used with AiiDA (including pw.x, cp.x, neb.x, ph.x, and most of the post-processing tools), but also a number of powerful automated workflows.
The workflows of the aiida-quantumespresso package, centered around the pw.x code of 4 the Quantum ESPRESSO suite, underwent a lot of development. The main goal was to develop a workflow, the PwWorkChain, that can compute the relaxed ground-state of any crystal structure without any further user inputs. This workflow could be a powerful turn-key solution that can be used as the starting point for many other tools computing complex structural properties (see also discussion on common workflows at the end of this page).
Figure 1: The PwBaseWorkChain is the base workflow used to run pw.x calculations and includes various error handlers to recover from common problems such as the job running out of walltime or the calculation having included insufficient electronic bands. In the turn-key solution workflow, the PwBaseWorkChain is used to run a first reconnaissance SCF calculation in order to determine the electronic and magnetic configuration of the material.
Figure 2: example provenance graph of an execution of the PwRelaxWorkChain. The first and second relaxation, performed through a PwBaseWorkChain are highlighted. The output structure of the second iteration is then used for a final SCF calculation to compute the ground state charge density. The current version of the PwBaseWorkChain has an effective success rate of 81%.
The workflows and turn-key solutions built around the MAX flagship code SIESTA are collected in the python package aiida-siesta, already available in the MAX website and on GitHub. The first enhancement concerns the introduction of a new AiiDA workflow called EqOfStateFixedCellShape. It is a tool for the calculation of the equation of state of a solid. Density Functional Theory (DFT) calculations with the SIESTA code are performed at 7 equidistant volumes around a starting volume in order to obtain the energy (E) versus volume (V) data.
Figure 3: Example of the provenance graph of an EqOfStateFixedCellShape workflow. For readability, only the calculations for three out of seven volumes are reported on the provenance graph.
The new workflow introduced, the SiestaSTMWorkChain, is the turn-key solution to the problem of producing simulated STM images for a given structure. The workflow performs a SIESTA run (through the SiestaBaseWorkChain) in order to produce a file with the local density of states (LDOS) in an energy window. The workflow automatically processes the LDOS file (through the STMplugin distributed in aiida-siesta package) to produce STM images.
Figure 4: Simulated STM image of a Cr monolayer, resulting from a calculation with spin-orbit coupling.
The existing set of AiiDA-yambo workflows has seen significant improvements since the upgrade of the AiiDA-core package (version 1.0). The main functionality used in the plugin, the YamboCalculation, computes single-shot G0W0 quasiparticle corrections (through the yambo executable) on top of existing DFT calculations. The main goal achieved up to now is the implementation of an automatic convergence workflow, called YamboConvergence, that can deal with the very complex multi-parameter dependence that characterises a G0W0 convergence calculation.
Figure 5: provenance graph of the execution of the ConvergenceWorkflow performing a G0W0 convergence calculation of the molecule C2H3Cl.
Figure 6: Convergence of the quasiparticle direct gap for bulk TiO2 rutile. The final result (of 3.20 eV) is consistent with previous literature (T. Rangel et al., “Reproducibility in G0W0 Calculations for Solids.”, CPC, (2020)). The last three steps represent the convergence with respect to k-points mesh and, as over converged, are marked as black stars.
An overview on the workflows currently available within the aiida-fleur plugin package (v1.1.0) is shown in the figure below. The most basic workflows are the FleurBaseWorkChain and the SCF workflow to handle errors, restarts and the convergence of underlying calculations with the MaX flagship code FLEUR. All other workflows within aiida-fleur are higher-level workflows to calculate specific properties and they deploy these two basic workflows as sub-workflows.
Figure 7: Overview diagram of available workflows in AiiDA-FLEUR (v1.1.0) and sub-workflows they deploy.
While the FLEUR quantum engine makes progress in exascale simulations of large magnetic structures such as skyrmions and Bloch points, it is essential to come up with tools to point at crystal structures that are worth investigating by an exascale ab-initio calculation.
As a part of this work, a set of workflows for computation of magnetic properties was developed. First of all, the CreateMagneticFilm workflow is responsible for construction and relaxation of a structure, which represents a substrate with deposited magnetic material. The resulting structure is ready-to-be-used in the other magnetic workflows: MAE, DMI dispersion and Spin Spiral dispersion workflows automate the calculation of corresponding magnetic properties. The AiiDA provenance graph of a MAE workflow is on display in the figure below, showing an SCF run and a single FLEUR run with the FleurBaseWorkChain.
Figure 8: AiiDA provenance graph of a magnetic anisotropy energy calculation, applying the force theorem with the FLEUR flagship code through the FleurMaeWorkChain.
Plugin and workflows for CP2K
CP2K is a quantum chemistry and solid-state physics package for atomistic simulations that belongs to the MAX codes family. Thanks to the linear scaling DFT implementation CP2K can fairly easily deal with the structures containing thousands of atoms.
To empower AiiDA users with full access to the whole spectrum of tools available within the CP2K package a simple but flexible aiida-cp2k plugin has been developed. The aiida-cp2k package also provides two work chains named Cp2kBaseWorkChain and Cp2kMultiStageWorkChain. The first one is able to automatically fix generic problems such as wall time exceeding or node crash. The second work chain provides a simple interface to run several step simulations with a possibility to perform a stepwise enhancement of the convergence settings. If with the initial settings the convergence can’t be achieved, the work chain will automatically switch to more robust ones that are provided by the user. In case none of the settings could make it converge, the work chain will stop and report an error.
Figure 9: AiiDA graph of a two-step optimization for a metal organic framework. As the optimization could not be completed within one run, the Cp2kBaseWorkChain restarts it making sure to add the necessary restart information to the input dictionary of the second calculation.
Figure 10: An energy profile obtained with a 3-step Cp2kMultiStageWorkChain for a covalent organic framework. The three steps are: fixed angle cell optimisation (in red), molecular dynamics (in yellow) and final cell optimisation (in green).
Plugin and workflows for BigDFT
BigDFT’s AiiDA plugin is being developed in the context of the second MAX project. The second version of the plugin, 0.2.0 aims at allowing integration of existing PyBigDFT’s operations in AiiDA workflows. The low level workchain is an instance of the BaseRestartWorkChain AiiDA concept, enabling simple error handling for common issues, such as an exceeded walltime, or errors in inputs, to be performed, and job restarting when possible.
Figure 11: Example of a BigDFT relaxation computation structure, using the common interface.
Each of the simple workflows provided by the BigDFT plugin will provide wrapper input generators following the common API, for instance a BigDFTRelaxationInputsGenerator tool with a get_builder method to provide the user the basic input sets to run a relaxation computation without knowing internals of BigDFT workflows, and allowing integration in more generic workflows.