This repository contains a collection of the data that supports the paper "Density functional Bogoliubov-de Gennes theory for superconductors implemented in the SIESTA code".
The data is supplemented with the notebooks/scripts that were used to postprocess the data.
This README explains the content of the repository and gives instructions for how to use the notebooks/scripts.
The repository contains the following files,
paper-export.aiida
: AiiDA export of the data that supports the findings in the paperFigures-section-3a.ipynb
: notebook to produce the plots for section 3a of the paperFigures-appendix-B1.ipynb
: notebook to produce the plots for appendix B.1 of the paperFigures-appendix-B2.ipynb
: notebook to produce the plots for appendix B.2 of the paperFigures-appendix-B3.ipynb
: notebook to produce the plots for appendix B.3 of the paperrequirements.txt
: the list of packages required to use the notebooks, the versions of these packages were tested to work properlyrequirements-minimal.txt
: minimal list of required packages to run the notebooks with strict versioning replaced by minimum versionsTo use the notebooks/scripts you need a working installation of Python, Jupyter and AiiDA. For obtaining these, we refer to the documentation of each respective software,
In addition, some additional Python modules are required to run the notebooks and access all the functionalities of the dataset. We provide two ways of obtaining these modules.
A set of packages that were tested to work with the notebooks can be installed with the requirements.txt
file,
see https://packaging.python.org/en/latest/tutorials/installing-packages/#requirements-files
This makes use of AiiDA v2.4.0 and the notebooks were tested with Python v3.10.11.
Note that it is possible to isolate multiple AiiDA instances on your pc, see
https://aiida.readthedocs.io/projects/aiida-core/en/stable/howto/installation.html#isolating-multiple-instances
If you wish to use different versions of the packages, i.e. you already have an installation of AiiDA with a newer version and
you want to avoid running multiple different AiiDA versions on your system, we also provide the file requirements-minimal.txt
which contains a list of the minimal required modules that have to be installed with strict versioning replaced by minmum versions.
Note that we cannot guarantee that the notebooks will work with different versions of the packages. You might have to mix and match
with certain strict versioning from requirements.txt
to make it work.
Instructions for importing the archive into a profile can be found at https://aiida.readthedocs.io/projects/aiida-core/en/stable/howto/share_data.html#importing-an-archive You might want to consider creating a separate profile for importing the data, see https://aiida.readthedocs.io/projects/aiida-core/en/stable/installation/guide_complete.html#installation-guide-complete-create-profile We recommend choosing a storage backend which is not read-only, since an additional archive has to be imported to produce the plots from section 3a.
To use the notebook Figures-section-3a.ipynb
you also need to download and import the data from the following publication,
https://archive.materialscloud.org/record/2021.163 . In particular, you will need to import the following archive,
https://archive.materialscloud.org/record/file?record_id=1005&filename=export_Nb_KKR-BdG.aiida
Once the Python dependencies have been installed and the data has been imported into an AiiDA profile, the notebooks can be evaluated to produce the plots from the paper.
To enhance the reproducitiblity, some of the nodes have been assigned additional information in the node.base.extras
attributes. These can be accessed either through node.base.extras.get('key')
or node.base.extras.all
.
Code
nodes have the following extra attributes (if available for that particular code),
eb_modules_loaded
: List of EasyBuild modules that were loaded during compilation of the codeeb_reprod_folder_uuid
: UUID of FolderData
that contains the EasyBuild logs and all files necessary to reproduce the compilationCalcFunctionNode
nodes have the following extra attributes (if available for that particular node),
env_info_uuid
: UUID of SinglefileData
containing full dump of Python environment at time of execution