Common workflows for computing material properties using different quantum engines

This data set allows to fully reproduce all results of the article entitled "Common workflows for computing material properties using different quantum engines" by S.P. Huber et al..

Contents

This directory contains the following directories and files.

data/          # Directory that contains the curated data extracted from the AiiDA database.
plot/          # Directory that contains the GNUPlot scripts that convert the curated data into the images used in the paper.
archive.aiida  # The AiiDA archive that contains all the raw data required to recreate the curated data in the `data/` directory.
cli.py         # A Python CLI script that allows to validate the database after the `archive.aiida` archive is imported and generates the curated data that are stored in the `data/` directory.
plot.sh        # A bash script that produces the plots in the `plot/` directory from the curated data in the `data/` directory.
README.md      # This file.

Requirements

The requirements for reproducing the data and images in this data archive are the following:

  • AiiDA v1.6 or higher
  • Python v3.6 or newer
  • gnuplot v5.1 or higher
  • bash
  • sed

The programs bash, gnuplot and sed are available on most Unix-like OS'es, such as Linux and Mac OS X.

Reproducing data and images

In order to reproduce the figures used in the publication, one has to complete three steps:

  1. Import the raw data from the AiiDA archive file called archive.aiida into a working AiiDA environment of v1.6 or higher.
  2. Once the raw data is imported, create the curated data using the cli.py script
  3. Run the plot.sh script to reproduce the images from the curated data

Since this archive entry comes with the curated data included, step 1 and 2 are optional, and the images can be reproduced directly from the existing curated data.

Importing the raw data

To get a working installation of AiiDA, please refer to the online documentation. Alternatively, one can download the latest version of the Quantum Mobile virtual machine and copy this data archive there. Once a working AiiDA installation is available, including a setup profile, the raw data can be imported into its database with the command:

verdi archive import archive.aiida

The verdi command is the CLI that ships with AiiDA.

Creating the curated data

Once the raw data from the archive.aiida export archive file has been imported into AiiDA, one can use the cli.py Python script to inspect the data and recreate the curated data. To ensure that all the necessary data is present, use the CLI to check the consistency of the imported data by running:

python cli.py validate

If all required data is present the command will finish with the message:

Success: database is valid.

If, instead, the command terminates with the message:

Critical: at least one error found; database appears to be inconsistent.

The imported data was somehow incomplete or corrupted. In this case, please contact the corresponding author and provide a detailed overview of the actions you have performed and the output that was received.

If the database seems to be valid, the curated data can be recreated with the following command:

python cli.py results --write-files

The --write-files flag will force the command to write the curated data to disk in the data/ folder. Any existing files will be silently overwritten. By removing the flag, the output will be written to screen in JSON format.

Creating the images from the curated data

In order to reproduce the figures used in the publication, simply run the following command from the root directory of this data archive:

bash plot.sh

The script essentially calls gnuplot for each plot*.gp script in the plot/ directory and then runs some sed commands on the produced .tex file to replace some labels. Together with the produced .eps files, the .tex file can be compiled into a .pdf image.

The plot scripts rely on the curated data present in the data/ directory. This is already included in this archive, but it can optionally be recreated from the raw data included in the AiiDA archive as described in the previous sections.

Data file description

The data directory has the following structure

└── data
    ├── ammonia.dat
    ├── dc
    │   └── h2
    │       ├── abinit.dat
    │       ├── castep.dat
    │       ├── cp2k.dat
    │       ├── gaussian.dat
    │       ├── orca.dat
    │       ├── quantum_espresso.dat
    │       ├── siesta.dat
    │       └── vasp.dat
    └── eos
        ├── al
        │   ├── abinit.dat
        │   ├── bigdft.dat
        │   ├── castep.dat
        │   ├── cp2k.dat
        │   ├── fleur.dat
        │   ├── nwchem.dat
        │   ├── quantum_espresso.dat
        │   ├── siesta.dat
        │   └── vasp.dat
        ├── fe_antiferro
        │   ├── abinit.dat
        │   ├── castep.dat
        │   ├── fleur.dat
        │   ├── quantum_espresso.dat
        │   ├── siesta.dat
        │   └── vasp.dat
        ├── fe_ferro
        │   ├── abinit.dat
        │   ├── castep.dat
        │   ├── fleur.dat
        │   ├── quantum_espresso.dat
        │   ├── siesta.dat
        │   └── vasp.dat
        ├── gete
        │   ├── abinit.dat
        │   ├── castep.dat
        │   ├── quantum_espresso.dat
        │   ├── siesta.dat
        │   └── vasp.dat
        └── si
            ├── abinit.dat
            ├── bigdft.dat
            ├── castep.dat
            ├── cp2k.dat
            ├── fleur.dat
            ├── nwchem.dat
            ├── quantum_espresso.dat
            ├── siesta.dat
            └── vasp.dat

The file data/ammonia.dat contains the data for figure 4 of the paper, which shows the computed energy difference between the pyramidal and planar configuration of the ammonia molecule. The first column is the name of the plugin, the second column is a dummy index and the third column is the computed energy difference in electronvolt.

The files in data/dc/h2 contain the data for figure 9 of the paper, which shows the computed dissociation curve for the hydrogen molecule. The first column is the atomic distance in Ångstrom, the second column is the computed energy in electronvolt and the third column is the magnetization in Bohr magnetons.

The directories in data/eos contain the data for figures 7 and 8 and represent the computed equation of state for aluminium, silicon, germanium telluride and iron, in both the ferromagnetic and anti-ferromagnetic configuration. The first column in each file is the volume of the structure in Ångstrom cubed, the second column is the total energy in electronvolt and the third column is the magnetization in Bohr magnetons.