First-principles Hubbard parameters with automated and reproducible workflows

This repository contains all the data to reproduce the calculations of the article: L. Bastonero, C. Malica, E. Macke, M. Bercx, S. P. Huber, I. Timrov and N. Marzari, First-principles Hubbard parameters with automated and reproducible workflows (2025).

It contains:

  • archive.aiida: AiiDA archive containing all the data and provenance of all the simulations (see also How to navigate)
  • scripts.tar.gz: all the scripts used to:
    • Run the AiiDA WorkChains in high-throughput fashion.
    • Define and override some of the pre-defined inputs.
    • Produce the figures of the clustering of Hubbard parameters related to the main paper.
    • Produce Supplementary Table I.

How to reproduce

The calculations can be performed and reproduced with the following AiiDA plugins and codes:

Additionally, one can install the aiida-submission-controller which helps running the high-throughput.

In particular, we ran the simulations on the LUMI-G supercomputer, supported by a grant from the Swiss National Supercomputing Centre (CSCS) under project ID 465000416.

The scripts used to run the simulations and to obtain the figures can be found in the scripts.tar.gz archive. They can be used immediately after importing the archive.aiida in your local AiiDA profile. This can be achieved by the following command line in bash (for aiida-core v2.x at least):

verdi archive import archive.aiida

See the AiiDA documentation for further details on how to import archives.

How to navigate

The AiiDA database can be explored either directly on the Materials Cloud Archive or by importing the archive.aiida in a local AiiDA installation (after having installed the dependencies; see How to reproduce).

The information about the Hubbard parameters related to each structure is stored in a HubbardStructureData node. Therefore, inside the verdi shell you can use the following lines:

from aiida.orm import QueryBuilder

HubbardStructureData = DataFactory('quantumespresso.hubbard_structure')

query = QueryBuilder()
query.append(HubbardStructureData, project=['*','extras.formula_hill'])

print(query.all())

You can also query for a specific crystal structure. In the Supplementary Information you will find the first 8 chars of the UUID associated to the self-consistent HubbardStructureData nodes, along with other information about the material. To get the node to further investigate, or to directly use it for your calculations, you can use this simple query:

from aiida.orm import QueryBuilder

initial_chars = '4ea95a4f'

HubbardStructureData = DataFactory('quantumespresso.hubbard_structure')

query = QueryBuilder()
query.append(HubbardStructureData, filters={'uuid':{'like': f'{initial_chars}%'}}, project=['*','extras.formula_hill'])

print(query.all())