Skip to content

Conversation

@kirk0830
Copy link
Collaborator

@kirk0830 kirk0830 commented Feb 4, 2026

PR checklist

Code review will be requested after the following checklist is completed:

  • support LTS version I/O
  • support latest version (other than LTS) I/O
  • complete examples
  • adjust unit tests
  • add integrated tests
  • add a automatic workflow on PR to ensure this plugin can work normally

What's changed: abacuslite

Background and Motivation

With the rapid development of computational materials science, an increasing number of DFT software packages and machine learning force fields are being developed. In the past, the approach of merging all calculator implementations into the main ASE (Atomic Simulation Environment) branch has placed significant maintenance burden on the ASE development team.

This has led us to rethink the best way to integrate ABACUS with ASE. After careful consideration, we decided to develop a lightweight, plugin-style calculator implementation that can be maintained independently.

Key Advantages of This Approach

  1. Reduced Maintenance Burden: By maintaining our own calculator implementation, we alleviate the workload on the ASE development team while ensuring we can quickly adapt to changes in ABACUS.

  2. Simplified Maintenance: Unlike forking and modifying ASE, this plugin-based approach significantly reduces the maintenance cost of periodically pulling changes from the main ASE branch.

  3. Improved Consistency: We plan to integrate this implementation into our PR testing workflow. When ABACUS output formats change, our CI/CD pipeline will force developers to adapt the code here, ensuring consistency between ABACUS core code and this calculator implementation.

  4. Version Compatibility: This implementation is designed to work with most ASE versions, eliminating the previous restrictions to specific ASE versions.

Introduction

abacuslite is a lightweight plugin for ABACUS (Atomic-orbital Based Ab-initio Computation at UStc), implementing the ASE (Atomic Simulation Environment) calculator interface.

Key Features

  • Lightweight Design: Implemented as a plugin, no need to modify ASE core code
  • Version Compatibility: No longer restricted to specific ASE versions, works with most ASE versions
  • ASE Integration: Uses ASE as the running platform, making ABACUS a callable calculator within it

Special notes

As designed, abacuslite only supports SCF (Self-Consistent Field) related functionality, returning energy, forces, stress, etc. All other functionalities including relaxation, transition state searching, molecular dynamics, etc. are designed to call the implementation in ASE.

Installation

Installation is very simple, just execute the following command in the project root directory:

pip install .

Usage Examples

Please refer to the example scripts in the examples folder. Recommended learning path:

  1. scf.py - Basic SCF calculation example
  2. relax.py - Atomic position relaxation calculation
  3. cellrelax.py - Cell parameter relaxation calculation
  4. bandstructure.py - Band structure calculation
  5. dos.py - Density of states calculation
  6. md.py - Molecular dynamics simulation
  7. constraintmd.py - Constrained molecular dynamics simulation
  8. metadynamics.py - Metadynamics simulation

More usage examples will be provided in future versions.

Authors

Contact

If you have any questions or suggestions, please contact us through:

@kirk0830
Copy link
Collaborator Author

kirk0830 commented Feb 4, 2026

20260204: it works with ABACUS LTS version, the parser for latest version is to be implemented.
cc: @QuantumMisaka

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant