This is the AiiDA plugin for the ab-initio software package ABACUS.
Try this plugin with a live JupyterLab server with Binder!
Click the Binder badge to launch a zero-install JupyterLab.
In two minutes you’ll have AiiDA + ABACUS fully set-up—complete with ready-to-run notebooks that let you submit calculations, track provenance, and visualize results right in your browser.
See Tutorials for installation locally.
pip install aiida-abacus
First clone the source code:
git clone https://github.com/MCresearch/aiida-abacus.git
cd aiida-abacus
Then install locally:
- install using
pip
pip install .
# or pip install -e .
# if you want to make a change to the plugin
- install using
uv
uv sync # use --extra like [--extra pre-commit] to include optional dependencies
We recommend using aiida-abacus
with ABACUS LTS (v3.10.0
).
This is a Long-Term Supported stable release. The LTS version will only receive essential bug fixes and performance optimization PRs, without introducing code modifications that might affect computational accuracy and precision, nor changes to input parameter names & output formats.
Note that output format changes introduced by the rapidly iterating develop
branch (for example, v3.9.0.3
and later v3.9.0.x
released after v3.10.0
) are currently not supported by the aiida-abacus
parser. It is preferable to use ABACUS LTSv3.10.0 rather than develop
release to produce data and work with aiida-abacus
.
We use the aiida-pseudo
plugin to install and manage pseudopotentials.
It is easy to install pseudopotentials by aiida-pseudo
CLI:
aiida-pseudo install pseudo-dojo -f upf -v 0.4 -x PBE -r SR -p standard
and load the pseudopotential family installed by calling
load_group
in the launch script.
pseudo_family = load_group('PseudoDojo/0.4/PBE/SR/standard/upf')
At least one pseudo potential family should be installed. For more information on pseudo family, please refer to AiiDA pseudo plugin Documentation.
See our online docs.
- Quick start
We ofter a quick start tutorial that provides two ways to get started: try Aiida-ABACUS instantly with our live JupyterLab environment powered by Binder, or follow the step-by-step guide to quickly set up a local installation and begin using the plugin.
See the examples
directory to learn about how to run this plugin with scripts.
-
Get started with AiiDA. It is strongly recommended that the AiiDA setup and basics tutorials should be read and followed to ensure that the environment is set up correctly, while acquiring the relevant basic knowledge and basic concepts in AiiDA & getting to learn about using
verdi
CLI/APIs. -
Documentation for ABACUS.
Here goes a quick demo of how to submit a calculation using this plugin:
verdi daemon start # make sure the daemon is running
cd examples
verdi run example_pw_Si2.py # run example calculation
verdi process list -a # check record of calculation
- Running calculations on a cluster is essentially the same, except that you need to configure the remote computer.
-
We provide simple setup demo config files
remote-slurm-ssh-setup.yml
andlocalhost-direct-local-setup.yml
in theexamples
dir. You can follow the guide in How to set up a computer to configure a computational resource. Please configureprepend_text
according to your remote environment if Intel® oneAPI Toolkit is used to build ABACUS. -
You can also run the interactive Jupyter notebook
binder-example.ipynb
in theexamples
directory locally for a glimpse intoaiida-abacus
.
The plugin also includes verdi commands to inspect its data types:
verdi data abacus list
verdi data abacus export <PK>
git clone https://github.com/MCresearch/aiida-abacus .
cd aiida-abacus
pip install --upgrade pip
pip install -e .[pre-commit,testing] # install extra dependencies
pre-commit install # install pre-commit hooks
pytest -v # discover and run all tests
src/aiida_abacus
: Main source code ofaiida-abacus
plugincalculations.py
: TheAbacusCalculation
calcjob class.parsers.py
: Theabacus.abacus
default parser forAbacusCalculation
.
examples/
: Example of how to submit a calculation using this plugin via a script.
tests/
: Basic tests supported by pytest. Install bypip install -e .[testing]
and runpytest
.
MIT