AiiDAlab UI app for the aiida-cif2j workflows, maintained by the
Ada Lovelace Centre (ALC). Given a CIF/MCIF structure, the app walks
through configuring and submitting the WannierTB2JWorkChain: a Quantum ESPRESSO SCF/NSCF calculation,
Wannierisation via Wannier90, and a TB2J calculation of the resulting magnetic exchange interactions.
The app is in early development; input and contributions are welcome. Full documentation can be found at https://stfc.github.io/aiidalab-cif2j/.
This plugin is hosted on the AiiDAlab plugin registry and can be installed via the AiiDAlab plugin management UI page from within the AiiDAlab application interface. Instructions for how to run AiiDAlab itself can be found in its documentation.
Running the underlying workflow additionally requires:
- A configured AiiDA profile and computer, with codes installed for
pw.x,pw2wannier90.x,wannier90.xand TB2J (see the Setup Resources page within the app). - The
aiida-cif2jplugin, installed automatically as a dependency of this app. aiida-wannier90andaiida-wannier90-workflows, neither of which is published on PyPI and so can't be declared as regular dependencies. They are installed automatically from GitHub, viaaiida-cif2j's owncif2j wannier90 installcommand, by this app'spost_installscript, which AiiDAlab runs after installing the app.
This package uses pre-commit hooks to check for style consistency, to use these the pre-commit tool is required.
This can be installed alongside the base package by running,
pip install .[dev]or separately via,
pip install pre-commitOnce installed run,
pre-commit installin the base repository to enable the pre-commit hooks. This will now run style and formatting checks on every commit.
This package uses pytest
to run all unit tests which is included in the [dev] optional
package dependencies. Once installed it can be run from the project root directory.
The CI workflows are configured to ensure all tests pass
before a pull request can be accepted into the main repository.
pytest --cov=aiidalab_cif2jThe documentation, including a User Guide and an API reference,
is built using sphinx. The source
for which is contained in the docs/ directory. All required packages can
be installed alongside the core package via,
pip install .[docs]and then the documentation can be built using sphinx-build,
sphinx-build -b html docs/source/ docs/build/htmlfrom the root directory.
Contributors to this project were funded by