Skip to main content

AiiDA plugin for ABACUS

Project description

Build Status Coverage Status Docs status PyPI version Binder

aiida-abacus

This is the AiiDA plugin for the ab-initio software package ABACUS.

Quick start

Try this plugin with a live JupyterLab server with Binder!

Click the Binder badge Binder 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.

Installation

Install from PyPI:

pip install aiida-abacus

Install from source:

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.

Pseudopotentials

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.

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.

Usage

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 and localhost-direct-local-setup.yml in the examples dir. You can follow the guide in How to set up a computer to configure a computational resource. Please configure prepend_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 the examples directory locally for a glimpse into aiida-abacus.

The plugin also includes verdi commands to inspect its data types:

verdi data abacus list
verdi data abacus export <PK>

Development

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

Repository contents

  • src/aiida_abacus: Main source code of aiida-abacus plugin
    • calculations.py: The AbacusCalculation calcjob class.
    • parsers.py: The abacus.abacus default parser for AbacusCalculation.
  • examples/: Example of how to submit a calculation using this plugin via a script.
  • tests/: Basic tests supported by pytest. Install by pip install -e .[testing] and run pytest.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida_abacus-0.3.1.tar.gz (309.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiida_abacus-0.3.1-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file aiida_abacus-0.3.1.tar.gz.

File metadata

  • Download URL: aiida_abacus-0.3.1.tar.gz
  • Upload date:
  • Size: 309.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for aiida_abacus-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3077787791a0c844fa3f0fa0d52ce1dcd3b3a058a6babb6d42a3d97445cf5b74
MD5 be8a256a4e4305da1c43cb0464f46dd3
BLAKE2b-256 6967659e337389cbb3290e3256fb0f7334a61f5d9717080c0333025af1673bc3

See more details on using hashes here.

File details

Details for the file aiida_abacus-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: aiida_abacus-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for aiida_abacus-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba45adf3d59d3462c7673e7bbd924bf8abed4b92c6b200f941c24c357069ae26
MD5 98af51ed9f1cb2a2de7f4c6bf1ea3c26
BLAKE2b-256 5facb6f2ded80656c6113a4d325a19b5f34d853dac2261546583962ec7be07bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page