Installation#
This guide walks you through installing aiida-abacus, configuring AiiDA, and setting up everything you need to run ABACUS calculations.
Quick start#
Attention
No time to install?
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.
For a one-stop local environment setup and a quick start with running calculations, please see the Tutorials.
Requirements#
Before you begin, ensure you have:
Python 3.10+
AiiDA-core ≥ 2.0 (including a configured profile)
➜ Follow the AiiDA-core installation guide if you have not done so. ➜ A virtual environment of Python is preferred, like Conda.ABACUS executable installed on every computer you plan to use (local or remote).
➜ Official ABACUS installation docsPlease use ABACUS LTSv3.10.0 for stable output format.
Either local executable or remote
abacusis fine.This should be configured by AiiDA code and specified when a real calculation task is performed. Follow the guide to get it ready.
Installation#
To install the plugin from source, first clone the source from GitHub.
$ git clone https://github.com/MCresearch/aiida-abacus.git
Then install by pip.
$ cd aiida-abacus
$ pip install .
If you want to make modifications to the source code, install in editable mode instead:
$ cd aiida-abacus
$ pip install -e .
Setup#
Setup computer#
We provide example configuration files in examples directory.
You can configure the computer by modifying localhost-direct-local-setup.yml or remote-slurm-ssh-setup.yml as needed.
$ cd examples
$ verdi computer setup --config localhost-direct-local-setup.yml
Just freely edit the configuration YAML file or set up a new computer from scratch by:
$ verdi computer setup
Note: If ABACUS is built with the Intel® oneAPI, please change the prepend_text to set up your oneAPI environment, where you can include bash commands that will be executed before running the submission script. Just remove the line in the configuration file if not needed.
If you want to do the calculations on the local/remote machine with AiiDA environment, please change transport option to core.local or core.ssh by modifying the configuration YAML file.
transport: core.ssh # or core.local for local machine
Consult AiiDA computer-setup for a complete guide.
After the setup you can check the available computer list by
$ verdi computer list
Report: List of configured computers
Report: Use 'verdi computer show COMPUTERLABEL' to display more detailed information
* mycomputer
Setup code#
You can use any code on any machine that can be accessed and run. To parse results from ABACUS we now support any version that has consistent output format with LTSv3.10.0.
When you have a code ready, set up the code in AiiDA:
$ verdi code create core.code.installed \
--label abacus-3.10.0 \
--computer mycomputer \
--filepath-executable ~/.local/bin/abacus
It can be referred later with code label like abacus-3.10.0@mycomputer.
You can also check whether the given code is usable by
$ verdi code test abacus-3.10.0@mycomputer
For More detailed information about setting up computer & code, please refer to aiida-tutorials.
Setup pseudopotential family#
ABACUS calculation requires pseudo potentials, and we use the aiida-pseudo package to provide a simple way to manage and use pseudo potentials. It is a dependency of aiida-abacus and should be installed when you install aiida-abacus with pip, or it can be installed with:
$ pip install aiida-pseudo
After that, a pseudo potential family can be installed by:
$ aiida-pseudo install pseudo-dojo -f upf -v 0.4 -x PBE -r SR -p standard
You may want to use the pseudo potential family later in the script and the corresponding pseudo family can be loaded once installed.
pseudo_family = load_group("PseudoDojo/0.4/PBE/SR/standard/upf")
See aiida-pseudo for a complete list of pesudo potential families.
Note#
Since AiiDA-core itself is under active development, the installation and configuration may change over time and you should consult the AiiDA docs for latest details. The guidelines we provide here are for reference only and may be out of date. If so, please open an issue or submit a pull request on our GitHub Repo to update.