abacuslite is a lightweight plugin for ABACUS (Atomic-orbital Based Ab-initio Computation at UStc), implementing the ASE (Atomic Simulation Environment) calculator interface.
- Lightweight Design: Implemented as a plugin, no need to modify ASE core code
- Version Compatibility: Supports ASE versions satisfying the package requirement
ase>=3.22 - ASE Integration: Uses ASE as the running platform, making ABACUS a callable calculator within it
- Function Support: Provides SCF-based energy, force, and stress evaluations through ASE. ASE can use these evaluations for relaxation, molecular dynamics, NEB, band-structure, and density-of-states workflows.
- Socket Support:
AbacusSocketIOprovides fixed-cell i-PI socket calculations, with energy always available and forces/stress enabled independently when requested.
Install the plugin from the ASE interface directory:
cd interfaces/ASE_interface
pip install .Please refer to the example scripts in the examples folder. Recommended learning path:
- scf.py - Basic SCF calculation example
- relax.py - Atomic position relaxation calculation
- cellrelax.py - Cell parameter relaxation calculation
- bandstructure.py - Band structure calculation
- dos.py - Density of states calculation
- md.py - Molecular dynamics simulation
- constraintmd.py - Constrained molecular dynamics simulation
- metadynamics.py - Metadynamics simulation
- neb.py - Nudged Elastic Band (NEB) calculation
- soc.py - Noncollinear spin-orbit coupling calculation
- socketio.py - Fixed-cell ASE optimization with
AbacusSocketIO, running ABACUS as an i-PI socket client
The regular Abacus calculator runs one ABACUS calculation for each ASE property evaluation. ASE controls the relaxation, molecular-dynamics, and other workflow steps. The socket calculator reuses one ABACUS process for position updates, while the cell and electronic-structure settings remain fixed for that calculator instance.
- Yuyang Ji
- Zhenxiong Shen
- Yike Huang
- Zhaoqing Liu
Thanks to the ABACUS development team for their support and contributions.
The applicable license terms are provided in the repository LICENSE.
If you have any questions or suggestions, please contact us through:
- GitHub: deepmodeling/abacus-develop