Skip to content

Commit a3bc07c

Browse files
authored
Merge branch 'deepmodeling:develop' into develop
2 parents 30ddf7c + 64d7e62 commit a3bc07c

834 files changed

Lines changed: 17189 additions & 9962 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Atomic Simulation Environment (ASE) Plugin Test
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
test:
8+
name: abacuslite
9+
runs-on: ubuntu-latest
10+
container:
11+
image: ghcr.io/deepmodeling/abacus-gnu
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Set up Miniconda
18+
uses: conda-incubator/setup-miniconda@v3
19+
with:
20+
miniconda-version: 'latest'
21+
activate-environment: abacuslite
22+
python-version: '3.10'
23+
24+
- name: Install dependencies
25+
shell: bash -l {0}
26+
run: |
27+
conda install -y pip
28+
pip install numpy scipy matplotlib
29+
30+
- name: Install abacuslite
31+
shell: bash -l {0}
32+
run: |
33+
cd interfaces/ASE_interface
34+
pip install .
35+
36+
- name: Configure & Build ABACUS (GNU)
37+
run: |
38+
git config --global --add safe.directory `pwd`
39+
export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${SUPERLU32_DIST_ROOT}/lib:${PEXSI32_ROOT}/lib:${LD_LIBRARY_PATH}
40+
export PKG_CONFIG_PATH=${GKLIB_ROOT}/lib/pkgconfig:${METIS32_ROOT}/lib/pkgconfig:${PARMETIS32_ROOT}/lib/pkgconfig:${SUPERLU32_DIST_ROOT}/lib/pkgconfig:${PEXSI32_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH}
41+
export CPATH=${GKLIB_ROOT}/include:${METIS32_ROOT}/include:${PARMETIS32_ROOT}/include:${SUPERLU32_DIST_ROOT}/include:${PEXSI32_ROOT}/include:${CPATH}
42+
export CMAKE_PREFIX_PATH=${PEXSI32_ROOT}:${SUPERLU_DIST32_ROOT}:${PARMETIS32_ROOT}:${METIS32_ROOT}:${GKLIB_ROOT}:${CMAKE_PREFIX_PATH}
43+
rm -rf build
44+
cmake -B build
45+
cmake --build build -j2
46+
47+
- name: Install and Soft Link ABACUS
48+
run: |
49+
cmake --install build
50+
if [ -f /usr/local/bin/abacus_2p ]; then
51+
ln -sf /usr/local/bin/abacus_2p /usr/local/bin/abacus
52+
fi
53+
54+
- name: Run unit tests
55+
shell: bash -l {0}
56+
run: |
57+
cd interfaces/ASE_interface/abacuslite
58+
chmod +x xtest.sh
59+
./xtest.sh
60+
61+
- name: Run integration tests
62+
shell: bash -l {0}
63+
run: |
64+
cd interfaces/ASE_interface/tests
65+
chmod +x xtest.sh
66+
./xtest.sh

interfaces/ASE_interface/README

Lines changed: 0 additions & 1 deletion
This file was deleted.

interfaces/ASE_interface/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# abacuslite
2+
3+
## Introduction
4+
5+
abacuslite is a lightweight plugin for ABACUS (Atomic-orbital Based Ab-initio Computation at UStc), implementing the ASE (Atomic Simulation Environment) calculator interface.
6+
7+
### Key Features
8+
9+
- **Lightweight Design**: Implemented as a plugin, no need to modify ASE core code
10+
- **Version Compatibility**: No longer restricted to specific ASE versions, works with most ASE versions
11+
- **ASE Integration**: Uses ASE as the running platform, making ABACUS a callable calculator within it
12+
- **Function Support**: Currently only supports SCF (Self-Consistent Field) functionality, returning energy, forces, stress, etc.
13+
14+
## Installation
15+
16+
Installation is very simple, just execute the following command in the project root directory:
17+
18+
```bash
19+
pip install .
20+
```
21+
22+
## Usage Examples
23+
24+
Please refer to the example scripts in the `examples` folder. Recommended learning path:
25+
26+
1. **scf.py** - Basic SCF calculation example
27+
2. **relax.py** - Atomic position relaxation calculation
28+
3. **cellrelax.py** - Cell parameter relaxation calculation
29+
4. **bandstructure.py** - Band structure calculation
30+
5. **dos.py** - Density of states calculation
31+
6. **md.py** - Molecular dynamics simulation
32+
7. **constraintmd.py** - Constrained molecular dynamics simulation
33+
8. **metadynamics.py** - Metadynamics simulation
34+
35+
More usage examples will be provided in future versions.
36+
37+
## Authors
38+
39+
- Yuyang Ji
40+
- Zhenxiong Shen
41+
- Yike Huang
42+
- Zhaoqing Liu
43+
44+
## Acknowledgments
45+
46+
Thanks to the ABACUS development team for their support and contributions.
47+
48+
## License
49+
50+
[Fill in according to the actual project license]
51+
52+
## Contact
53+
54+
If you have any questions or suggestions, please contact us through:
55+
56+
- GitHub: [deepmodeling/abacus-develop](https://github.com/deepmodeling/abacus-develop)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'''
2+
interfaces to Atomic-orbital Based Ab-initio Computation at UStc (ABACUS),
3+
for more information about this DFT calculator,
4+
please refer to the Github official repository:
5+
https://github.com/deepmodeling/abacus-develop
6+
and online-manual:
7+
https://abacus.deepmodeling.com/en/latest/index.html
8+
9+
For a more complete ABACUS pre-/post-processing workflow package,
10+
please refer to the ABACUSTest package:
11+
https://github.com/pxlxingliang/abacus-test
12+
'''
13+
from .core import *

0 commit comments

Comments
 (0)