Feature: ABACUS light-weight ASE plugin implementation #6950
+3,156
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR checklist
Code review will be requested after the following checklist is completed:
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
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.
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.
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.
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
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
examplesfolder. Recommended learning path:More usage examples will be provided in future versions.
Authors
Contact
If you have any questions or suggestions, please contact us through: