Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
494 commits
Select commit Hold shift + click to select a range
12e3cb3
Fix: bug of MPI distribution
1041176461 Jun 6, 2024
dd48baf
modify default value for fq_type
1041176461 Jun 6, 2024
811296b
Fix: bug in Exx_LRI_interface
1041176461 Jun 6, 2024
70757fa
set Nr to odd value
1041176461 Jun 10, 2024
a1ce0a1
Refactor: set chi and init parallel
1041176461 Jun 11, 2024
f80c4c7
Fix: fix last refactor
1041176461 Jun 12, 2024
9c0273e
add Vws for cal_Vs_gauss
1041176461 Jun 12, 2024
61a9783
Feature: add dVq gauss
1041176461 Jun 12, 2024
07712f7
modify dVq dtype
1041176461 Jun 12, 2024
cec99e3
fix format error
1041176461 Jun 12, 2024
2ed1937
format
1041176461 Jun 12, 2024
effa682
delete const
1041176461 Jun 12, 2024
1c59e00
compile bug
1041176461 Jun 12, 2024
7358db6
Fix: modify full_R to period_R
1041176461 Jun 13, 2024
f8540e5
Fix: check_cell match with RI_2D_Comm
1041176461 Jun 13, 2024
ed179c9
fix compile bug
1041176461 Jun 13, 2024
6772daa
Refactor: gauss lattice sum
1041176461 Jun 14, 2024
03c8979
Refactor: init ylm and use template
1041176461 Jun 15, 2024
91d53ef
Refactor: modify template data type
1041176461 Jun 15, 2024
7be204b
Refactor: add template for cal_Vq_gauss
1041176461 Jun 16, 2024
c020a87
Refactor: add template for cal_Vq_minus_gauss
1041176461 Jun 16, 2024
b8acd18
Refactor: add template for cal_Vq
1041176461 Jun 17, 2024
3c3498b
Refactor: add template for cal_Vs
1041176461 Jun 17, 2024
59ad721
Fix: compile bug in gaussian_abfs
1041176461 Jun 17, 2024
ca67551
Fix: compile bug
1041176461 Jun 18, 2024
d8f0e42
Fix: convert bug
1041176461 Jun 19, 2024
c38660a
Fix: add minus template
1041176461 Jun 19, 2024
a1a4ab4
Refactor: comm_map2_first for array<Tensor, 3>
1041176461 Jun 19, 2024
59911b5
Fix: delete inline of get_Vq for external binding
1041176461 Jun 19, 2024
7fba2e3
Fix: init bug
1041176461 Jun 19, 2024
5c3df85
Fix: skip gamma in lattice_sum
1041176461 Jun 20, 2024
1601d22
Fix: Infinite loop in minus
1041176461 Jun 20, 2024
4c03eee
Fix: singular correction error
1041176461 Jun 21, 2024
ea9d22e
Fix: init 2Lmax*1
1041176461 Jun 21, 2024
ee4fea7
Fix: modify tools template
1041176461 Jun 22, 2024
b960019
Fix: save memory in init
1041176461 Jun 22, 2024
c9c426d
Fix: modify TITLE
1041176461 Jun 22, 2024
de1ac11
Refactor: omp init
1041176461 Jun 24, 2024
869db91
Fix: q to -q
1041176461 Jun 25, 2024
ffbbf76
Fix: modify Rmax to Rmin for k convergency
1041176461 Jun 25, 2024
0a2265c
Fix: error tau index
1041176461 Jun 27, 2024
afb52d6
Fix: symmetry = 0 error
1041176461 Jun 29, 2024
26b76ac
Merge branch 'LC_Exx-new' of https://github.com/1041176461/abacus-dev…
1041176461 Jun 29, 2024
723b207
Fix: dVws flags error
1041176461 Jun 30, 2024
aa7fd5d
Fix: cal_dVs empty bug
1041176461 Jul 1, 2024
eff5529
Fix: add waring
1041176461 Jul 3, 2024
47d5cac
Merge branch 'deepmodeling:develop' into develop
1041176461 Jul 3, 2024
2d53ea5
Merge branch 'develop' into LC_Exx-new
1041176461 Jul 3, 2024
f2fc892
Fix: merge error
1041176461 Jul 3, 2024
7f33202
Fix: compile error
1041176461 Jul 3, 2024
92a7c66
Fix: cmake error
1041176461 Jul 4, 2024
f53a7b0
Fix: cmake order
1041176461 Jul 4, 2024
bf75c64
Fix: ewald mpi error
1041176461 Jul 4, 2024
b0476e7
Fix: hard coded for fq_type 1
1041176461 Jul 9, 2024
ab26835
Fix: add cam kernel for gauss part
1041176461 Jul 12, 2024
56f3add
Refactor: omp for set_Vq_dVq_minus_gauss
1041176461 Jul 15, 2024
b79cb85
Refactor: optimize check_cell
1041176461 Jul 16, 2024
138a901
Refactor: delate move
1041176461 Jul 16, 2024
744519e
Refactor: check_cell
1041176461 Jul 17, 2024
b8f2ac9
Refactor: delete check_empty and add check_and_set_zero
1041176461 Jul 22, 2024
69de648
Fix: check_cell bug and delete set_zero
1041176461 Jul 25, 2024
a3d874c
Refactor: delete check_cell
1041176461 Jul 26, 2024
a7cbea5
Fix: modify cal_latvec_range for other basis
1041176461 Jul 27, 2024
56bc295
Refactor: match NAO and gauss rcut
1041176461 Jul 30, 2024
20c0423
Merge branch 'LC_Exx-new' of https://github.com/1041176461/abacus-dev…
1041176461 Jul 30, 2024
851f541
Refactor: only keep cal_latvec_range fix
1041176461 Jul 30, 2024
9f81209
Refactor: delete min Rcut
1041176461 Aug 1, 2024
8723791
Fix: still use min Rcut for keeping res under different lambda
1041176461 Aug 1, 2024
481b339
Fix: remove extra correction for sr kernel
1041176461 Aug 6, 2024
8e90909
Fix: hf parameter error
1041176461 Aug 7, 2024
efaec13
Refactor: move init_Gaunt out of Matrix_Orbs* init
1041176461 Aug 13, 2024
c5a47c6
Refactor: add init_C judging
1041176461 Aug 13, 2024
cadb651
Refactor: set ewald init MGT
1041176461 Aug 14, 2024
779c21c
Fix: ewald init false
1041176461 Aug 14, 2024
d61e269
Fix: gauss dVq error
1041176461 Sep 2, 2024
46453d0
Merge branch 'LC_Exx-new' of https://github.com/1041176461/abacus-dev…
1041176461 Sep 2, 2024
f52fbbc
Fix: init_elem bug of std::array
1041176461 Sep 9, 2024
90e4921
Refactor: add CalAtomsInfo to modify parameter (#5132)
Qianruipku Sep 21, 2024
7c8a4da
Refactor: remove useless warning for dp (#5153)
YuLiu98 Sep 21, 2024
81f2541
Fix the undefined behavior in sph_bessel_recursive (#5158)
maki49 Sep 23, 2024
acb792d
Toolchain 202403 (#5144)
QuantumMisaka Sep 23, 2024
eab9d73
Perf&Refactor: optimize the performanace of psi_initializer with omp …
kirk0830 Sep 24, 2024
f356958
Fix: wrong STRU read in md restart case (#5157)
YuLiu98 Sep 24, 2024
6212f84
Fix: fix a bug in diago_elpa_native.cpp (#5155)
dzzz2001 Sep 24, 2024
b083759
Refactor: refactor hsolver-lcao func (#5148)
haozhihan Sep 24, 2024
286cdc5
Fix: add MPI_Barrier when necessary to avoid unexpected behavoir (#5167)
kirk0830 Sep 24, 2024
b8b3829
use ELPA_WITH_NVIDIA_GPU_VERSION to judge elpa setup gpu (#5163)
goodchong Sep 24, 2024
ca5cc95
Fix docs according to #5133 (#5169)
Cstandardlib Sep 24, 2024
fb5beba
Fix: bug of cal_ux (#5165)
Qianruipku Sep 24, 2024
e32341a
Fix: init_chg wfc support npsin = 4 now (#5166)
Qianruipku Sep 25, 2024
954c358
Fix: `timer` not closed in TDDFT code (#5172)
AsTonyshment Sep 26, 2024
4f2e453
Radial quadrature grid (#5173)
jinzx10 Sep 26, 2024
3b2e5ad
Fix: Update function calls in `pyabacus` to align with new function s…
a1henu Sep 26, 2024
ba0cb21
Fix: recover the wannier90 interface for lcao_in_pw case (#5177)
kirk0830 Sep 26, 2024
1c7a509
Fix: let only one rank do file I/O in unittest of orb_io (#5185)
kirk0830 Sep 27, 2024
d6657ec
Feature: Calculate and output electron localization function (ELF) wi…
sunliang98 Sep 27, 2024
ec1882f
optimize td_current and fix timer (#5181)
dzzz2001 Sep 27, 2024
7014205
small fix in LR (#5187)
maki49 Sep 27, 2024
22964f0
Perf: change default pw_seed=0 (#5179)
WHUweiqingzhou Sep 27, 2024
225bc4a
Fix parallel LR-EXX and add a test case (#5188)
maki49 Sep 28, 2024
c96703d
Refactor: add `namespace XC_Functional_Libxc` (#5151)
PeizeLin Sep 29, 2024
b5125de
Fix: If the number of NAOs for an angular momentum is 0, filter the N…
PeizeLin Sep 29, 2024
3835a26
Docs: update hpsi_func requirements (#5190)
Cstandardlib Sep 29, 2024
cc2032b
Refactor `ModuleIO::read/write_cube()` (#5150)
PeizeLin Sep 29, 2024
54659c6
update version.h (#5189)
kirk0830 Sep 29, 2024
6b116be
Fix: compiling error of DCU in v3.8.0 (#5198)
Sep 30, 2024
29b3abc
Fix: fix cusolvermp compiling error with icpc and update ks_solver do…
dzzz2001 Oct 2, 2024
03742af
Test: add cases for wfcinit (#5197)
Qianruipku Oct 2, 2024
800987a
Refactor:Change the variable type. (#5201)
A-006 Oct 5, 2024
72b1d7c
Refactor hpsi_func in hsolver (#5202)
Cstandardlib Oct 5, 2024
505db2a
Refactor: comment dVs calculated by Ewald method
1041176461 Oct 10, 2024
66c4e58
Refatcor:Use PARAM instead of GlobalV::NBAND,NLocal (#5193)
A-006 Oct 10, 2024
39df3b9
fix a deadlock bug (#5210)
dzzz2001 Oct 10, 2024
c234dd3
Fix: Fix the memory leak in integrated test case 919_OF_out_elf (#5211)
sunliang98 Oct 10, 2024
c212bdf
Feature: Support outputting real space wave functions in Gaussian CUB…
AsTonyshment Oct 10, 2024
e1958cb
Fix memory bug in XC_Functional_Libxc::cal_gdr() (#5208)
PeizeLin Oct 10, 2024
5329628
Change wrapper `spsi_func` in hsolver-dav (#5205)
Cstandardlib Oct 10, 2024
49d6afa
Fix: md restart can not read STRU (#5215)
YuLiu98 Oct 12, 2024
cda8b24
update docs regarding libm (#5218)
caic99 Oct 12, 2024
6b81902
Align test commands for coverage tests (#5219)
caic99 Oct 12, 2024
1758cd9
Refactor: singular chi settings
1041176461 Oct 13, 2024
8e0c6d8
Merge branch 'deepmodeling:develop' into develop
1041176461 Oct 13, 2024
7148820
Build(deps): Bump pre-commit-ci/lite-action from 1.0.3 to 1.1.0 (#5227)
dependabot[bot] Oct 14, 2024
8b9b18c
CI: add back missing command for codecov (#5222)
caic99 Oct 14, 2024
e9250db
bug fix (#5223)
QuantumMisaka Oct 14, 2024
3c4608e
Merge branch 'develop' into LC_Exx-new
1041176461 Oct 14, 2024
4619994
Refactor: add exx in tddft
1041176461 Oct 14, 2024
c3224ec
Fix: add exx_use_ewald param
1041176461 Oct 14, 2024
0f0c838
Remove DiagH Base class in pw (#5225)
Cstandardlib Oct 14, 2024
ab6ce32
Fix: input param error
1041176461 Oct 14, 2024
7ac2a9d
Fix: param settings error
1041176461 Oct 15, 2024
1ea8072
Fix TDDFT ncut and cusolver bug (#5238)
AsTonyshment Oct 15, 2024
7e6eee7
Toolchain fix stage4 (#5233)
QuantumMisaka Oct 15, 2024
2ddef0c
Refactor: Unify the interfaces of Pulay terms of force and stress (#5…
maki49 Oct 16, 2024
c51bf82
revert pre-commit update (#5244)
caic99 Oct 16, 2024
a5c35d9
Feature: update new version of dav_subspace with higher performance (…
Oct 16, 2024
fea0620
fix undefined behavior (#5251)
dzzz2001 Oct 16, 2024
50a204f
Fix: performance and memory for NSPIN=4 in LCAO base (#5249)
Oct 16, 2024
223181b
Fix: bug in td-exx
1041176461 Oct 17, 2024
31afd03
Enable PyTorch backend for DeePMD-kit v3 (#5253)
YuLiu98 Oct 17, 2024
04def35
Fix minor bug of EXX operator and default value (#5252)
maki49 Oct 17, 2024
590ea5e
Remove Base class DiagH in LCAO code (#5239)
Cstandardlib Oct 17, 2024
6d4e946
Refactor class `DensityMatrix`: remove the dependence on `K_Vectors` …
maki49 Oct 17, 2024
3aec2be
Remove DiagH of lcao PEXSI (#5259)
Cstandardlib Oct 17, 2024
7938206
Refactor: refactor `solve` func in `hsolver-lcao` class (#5257)
haozhihan Oct 17, 2024
cfffc78
remove unnecessary gpu memory allocation under LCAO basis (#5258)
dzzz2001 Oct 17, 2024
60c1f77
Refactor: Seperate BLAS functions' declaration and implementation, an…
Critsium-xy Oct 17, 2024
44076aa
fix some incorrect INPUT files (#5284)
dzzz2001 Oct 18, 2024
08ea40c
Doc&Test: update the documentation about pseudopotential and orbitals…
kirk0830 Oct 18, 2024
545d2ec
Refactor: Use memory_op to set diag_const_nums (#5246)
Critsium-xy Oct 18, 2024
1a11dac
Modify the berry phase document. (#5293)
jingan-181 Oct 18, 2024
7cb7664
Becke's partition for multi-center grid integration (#5292)
jinzx10 Oct 18, 2024
255e104
Sorting out the calculation logic of pexsi in hsolver-lcao (#5299)
haozhihan Oct 18, 2024
f636d74
Fix a segfault in rhog_symmetry (#5303)
maki49 Oct 18, 2024
7fdb1a3
remove nspin dependence form Gint (#5304)
maki49 Oct 18, 2024
5ccb292
set two_fermi to false for nspin == 1 and add extra checks (#5305)
jinzx10 Oct 18, 2024
39c29d3
Refactor XC_Functional_Libxc::convert_vtxc_v() (#5212)
PeizeLin Oct 18, 2024
90e4750
Merge branch 'deepmodeling:develop' into develop
1041176461 Oct 19, 2024
2bd4a43
Merge branch 'develop' into LC_Exx-new
1041176461 Oct 19, 2024
146a509
Update version.h (#5314)
kirk0830 Oct 21, 2024
3eac0e2
Fix: makefile cannot compile without openmp (#5316)
Qianruipku Oct 22, 2024
6632c0b
fix nspin=4 error (#5319)
dzzz2001 Oct 22, 2024
8a02642
doc: fix typo in kpt.md (#5320)
pxlxingliang Oct 22, 2024
efb83c8
remove read_rho and make read_cube independent of esolver_type (#5323)
maki49 Oct 22, 2024
3203ec6
Add number of threads output in stdout (#5281)
QuantumMisaka Oct 23, 2024
0bac03f
Feature: LR-TDDFT for open-shell systems (#5312)
maki49 Oct 23, 2024
7194eb7
Refactor: replace sto_hchi by HamiltSdftPW::hPsi (#5298)
Qianruipku Oct 23, 2024
5a6f494
Remove DiagH class in hsolver (#5307)
Cstandardlib Oct 23, 2024
2af2095
Fix: PR conflicts (#5329)
Qianruipku Oct 23, 2024
f039250
Feature: Porting abacus to DSP hardware (mtblas part) (#5301)
Critsium-xy Oct 23, 2024
55c5afb
change the gamma_only_lcao when nspin=4 (#5322)
A-006 Oct 23, 2024
f0a0c18
change the position of omp (#5327)
Qianruipku Oct 23, 2024
bab929f
Fix: remove useless scc in davidson to boost algorithm (#4874)
Cstandardlib Oct 23, 2024
4ded80e
Remove diagh.h in module_hsolver (#5332)
Cstandardlib Oct 23, 2024
2dc9803
Remove install_dsp.sh (#5337)
Critsium-xy Oct 24, 2024
1b3f76e
Feature: Add Cell for pyabacus (#5247)
jieli-matrix Oct 24, 2024
d7150d0
Fix: do not bcast my_rank (#5339)
YuLiu98 Oct 24, 2024
5a774bf
Fix: Fix Consts memory leak by directly removing custome consts (#5344)
Critsium-xy Oct 24, 2024
e4044a4
fix exxsym (#5348)
maki49 Oct 25, 2024
729059f
Refactor: Organize code structure to improve maintainability in pyaba…
a1henu Oct 25, 2024
72d9d1d
Feature: MPI available on ABACUS DSP version (#5351)
Critsium-xy Oct 26, 2024
066dfbb
Change the default setting for `symmetry` when `berry_phase`=1 (#5349)
ErjieWu Oct 26, 2024
7a29e2f
fix build scripts (#5350)
QuantumMisaka Oct 26, 2024
f33650f
fix the symmetry condition in rpa (#5355)
maki49 Oct 29, 2024
821b184
Feature: make SCF converges only if drho and dene is smaller than thr…
WHUweiqingzhou Oct 29, 2024
fe3b44f
Refactor: move print_rhofft and print_wfcfft to ModuleIO (#5358)
YuLiu98 Oct 29, 2024
4e53045
docs: replace sphinx-rtd-theme with sphinx-book-theme (#5360)
njzjz-bot Oct 30, 2024
705dad7
Refactor IO cube (#5362)
maki49 Oct 31, 2024
4294ee7
Feature: make init stochastic WF support GPU (#5365)
Qianruipku Oct 31, 2024
4d2366c
Feature: move `scf_ene_thr` before `mix_rho` (#5375)
WHUweiqingzhou Oct 31, 2024
3984296
Unify the output of BFGS, CG, and FIRE relaxation method. (#5374)
sunliang98 Oct 31, 2024
9f4d864
Docs: update the docs about `DeePKS` (#5385)
WHUweiqingzhou Nov 1, 2024
6cdb848
add the docs about deeptb (#5386)
WHUweiqingzhou Nov 1, 2024
e276480
Fix: force and stress calculation with noncollinear-spin or SOC for P…
Nov 1, 2024
137235d
UT for rw_cube (#5384)
maki49 Nov 1, 2024
0f44046
Fix: widen the range of support on STRU file of Molden interface (#5388)
kirk0830 Nov 1, 2024
18df359
Feature: change the default value of `ecutwfc` based on basis_type (#…
WHUweiqingzhou Nov 2, 2024
e27ac49
disable four rarely used functionals which involves the laplacian of …
kirk0830 Nov 2, 2024
d0bedae
Add files via upload
ESROAMER Nov 2, 2024
25a77b3
Update cal_edm_tddft.cpp
ESROAMER Nov 2, 2024
e21da57
Refactor: modify exx loop for relax/md
1041176461 Nov 2, 2024
74651ac
Update result.ref
ESROAMER Nov 2, 2024
b67c43c
Fix wrong parameters in integrate test
ESROAMER Nov 2, 2024
0cb9cbb
Update result.ref
ESROAMER Nov 2, 2024
2ba948c
Update result.ref
ESROAMER Nov 2, 2024
58cc693
Update result.ref
ESROAMER Nov 2, 2024
6513db5
Update result.ref
ESROAMER Nov 2, 2024
0fc246b
Update result.ref
ESROAMER Nov 2, 2024
0721fbb
Update result.ref
ESROAMER Nov 2, 2024
63e59b5
Update result.ref
ESROAMER Nov 2, 2024
22058e3
Update result.ref
ESROAMER Nov 2, 2024
ced029a
add exx when istep>0
maki49 Nov 2, 2024
7740356
Merge pull request #8 from maki49/new_loop
1041176461 Nov 3, 2024
d15217c
Merge pull request #7 from 1041176461/new_loop
1041176461 Nov 3, 2024
8d454ab
Merge branch 'new_loop' into LC_Exx-new
1041176461 Nov 4, 2024
9847e76
update version v3.8.2 (#5400)
Nov 4, 2024
628bdc6
Fix cal_edm_tddft (#5396)
ESROAMER Nov 4, 2024
5f9a1c6
Feature: Add `CG` algorithm to `pyabacus.hsolver` (#5398)
a1henu Nov 4, 2024
d9984c8
Docs: Add Chinese wiki page link to README (#5382)
Cstandardlib Nov 4, 2024
e5768ec
LRCG (#5399)
maki49 Nov 4, 2024
2755221
Merge branch 'develop' into develop
1041176461 Nov 4, 2024
9b7df7d
Update dos.py
1041176461 Nov 4, 2024
a8a9051
Update esolver_sdft_pw.cpp
1041176461 Nov 4, 2024
ba09ba9
Update lcao_before_scf.cpp
1041176461 Nov 4, 2024
f5734d4
Update Exx_LRI_interface.h
1041176461 Nov 4, 2024
cacaf93
Update Exx_LRI_interface.hpp
1041176461 Nov 4, 2024
894cb25
Fix: compile error
1041176461 Nov 4, 2024
7c54ec6
Fix: compile error
1041176461 Nov 4, 2024
8c7c0e6
Fix: change HSE relax/md result.ref for new framework
1041176461 Nov 5, 2024
535c7f9
Fix: disable the XC in LibXC in which nonlocal dispersion correction …
kirk0830 Nov 5, 2024
ddf990f
Feature: Optimized memory management on DSP (#5361)
Critsium-xy Nov 5, 2024
edfa4c1
Feature: build-in DFTD3 parameters (#5378)
kirk0830 Nov 5, 2024
312761c
Merge branch 'develop' into LC_Exx-new
1041176461 Nov 5, 2024
efd8594
Fix: not build useless library without ENABLE_LCAO (#5412)
Nov 6, 2024
27075c1
wrap exx-routine in iter_finish (#5413)
maki49 Nov 6, 2024
dd862ea
Refactor: remove useless functions in esolver (#5416)
YuLiu98 Nov 6, 2024
3df2804
Merge branch 'pr/1041176461/9' into develop
1041176461 Nov 6, 2024
9a820d2
Fix: compile error
1041176461 Nov 6, 2024
ebfdadc
compatible with exx_iter_finish
1041176461 Nov 6, 2024
d533ad5
Fix: update the example of vdwd3 acoording to the latest impl. (#5418)
kirk0830 Nov 6, 2024
cc9d759
Refactor: modify EXX realx/md calculation framework (#5403)
1041176461 Nov 6, 2024
0d455cb
Feature: enable ABACUS can finish SCF if charge density oscillation i…
WHUweiqingzhou Nov 7, 2024
eca5f43
Merge branch 'deepmodeling:develop' into develop
ESROAMER Nov 7, 2024
bac726b
Add files via upload
ESROAMER Nov 7, 2024
ec4ccb0
Merge branch 'develop' into LC_Exx-new
1041176461 Nov 8, 2024
6965e9e
Update esolver_ks_lcao_tddft.h
ESROAMER Nov 8, 2024
09aa1a1
Update esolver_ks_lcao_tddft.cpp
ESROAMER Nov 8, 2024
2373c13
Merge pull request #10 from ESROAMER/no_force
1041176461 Nov 8, 2024
70092e6
Merge branch 'develop' into LC_Exx-new
1041176461 Nov 8, 2024
c1b7e0c
Merge branch 'hytd' into LC_Exx-new
ESROAMER Nov 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
uses: actions/checkout@v4
- name: Install Requirements for Coverage Testing
run: |
apt update && apt install -y lcov
apt update && apt install -y lcov gpg
- name: Building
run: |
cmake -B build -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DBUILD_TESTING=ON -DENABLE_COVERAGE=ON
cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_DEEPKS=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_PAW=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON
cmake --build build -j`nproc`
cmake --install build
- name: Testing
Expand Down
62 changes: 39 additions & 23 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ option(ENABLE_RAPIDJSON "Enable rapid-json usage." OFF)
option(ENABLE_CNPY "Enable cnpy usage." OFF)
option(ENABLE_PEXSI "Enable support for PEXSI." OFF)
option(ENABLE_CUSOLVERMP "Enable cusolvermp." OFF)
option(USE_DSP "Enable DSP usage." OFF)

# enable json support
if(ENABLE_RAPIDJSON)
Expand Down Expand Up @@ -119,6 +120,12 @@ elseif(ENABLE_LCAO AND NOT ENABLE_MPI)
set(ABACUS_BIN_NAME abacus_serial)
endif()

if (USE_DSP)
set(USE_ELPA OFF)
set(ENABLE_LCAO OFF)
set(ABACUS_BIN_NAME abacus_dsp)
endif()

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

if(ENABLE_COVERAGE)
Expand Down Expand Up @@ -240,6 +247,11 @@ if(ENABLE_MPI)
list(APPEND math_libs MPI::MPI_CXX)
endif()

if (USE_DSP)
target_link_libraries(${ABACUS_BIN_NAME} ${DIR_MTBLAS_LIBRARY})
add_compile_definitions(__DSP)
endif()

find_package(Threads REQUIRED)
target_link_libraries(${ABACUS_BIN_NAME} Threads::Threads)

Expand Down Expand Up @@ -436,22 +448,6 @@ if(ENABLE_FLOAT_FFTW)
endif()

if(ENABLE_DEEPKS)
# Torch uses outdated components to detect CUDA arch, causing failure on
# latest CUDA kits. Set CMake variable TORCH_CUDA_ARCH_LIST in the form of
# "major.minor" if required.
find_package(Torch REQUIRED)
if(NOT Torch_VERSION VERSION_LESS "2.1.0")
set_if_higher(CMAKE_CXX_STANDARD 17)
elseif(NOT Torch_VERSION VERSION_LESS "1.5.0")
set_if_higher(CMAKE_CXX_STANDARD 14)
endif()
include_directories(${TORCH_INCLUDE_DIRS})
if(MKL_FOUND)
list(PREPEND math_libs ${TORCH_LIBRARIES})
else()
list(APPEND math_libs ${TORCH_LIBRARIES})
endif()
add_compile_options(${TORCH_CXX_FLAGS})
target_link_libraries(${ABACUS_BIN_NAME} deepks)

find_path(libnpy_SOURCE_DIR npy.hpp HINTS ${libnpy_INCLUDE_DIR})
Expand All @@ -470,6 +466,25 @@ if(ENABLE_DEEPKS)
add_compile_definitions(__DEEPKS)
endif()

# Torch uses outdated components to detect CUDA arch, causing failure on
# latest CUDA kits. Set CMake variable TORCH_CUDA_ARCH_LIST in the form of
# "major.minor" if required.
if(ENABLE_DEEPKS OR DEFINED Torch_DIR)
find_package(Torch REQUIRED)
if(NOT Torch_VERSION VERSION_LESS "2.1.0")
set_if_higher(CMAKE_CXX_STANDARD 17)
elseif(NOT Torch_VERSION VERSION_LESS "1.5.0")
set_if_higher(CMAKE_CXX_STANDARD 14)
endif()
include_directories(${TORCH_INCLUDE_DIRS})
if(MKL_FOUND)
list(PREPEND math_libs ${TORCH_LIBRARIES})
else()
list(APPEND math_libs ${TORCH_LIBRARIES})
endif()
add_compile_options(${TORCH_CXX_FLAGS})
endif()

if (ENABLE_CNPY)
find_path(cnpy_SOURCE_DIR
cnpy.h
Expand Down Expand Up @@ -590,13 +605,14 @@ if(DEFINED DeePMD_DIR)
add_compile_definitions(__DPMDC)
else()
target_link_libraries(${ABACUS_BIN_NAME} DeePMD::deepmd_cc)
if(NOT DEFINED TensorFlow_DIR)
set(TensorFlow_DIR ${DeePMD_DIR})
endif()
find_package(TensorFlow REQUIRED)
if(TensorFlow_FOUND)
target_link_libraries(${ABACUS_BIN_NAME} TensorFlow::tensorflow_cc)
endif()
endif()
endif()

if(DEFINED TensorFlow_DIR)
find_package(TensorFlow REQUIRED)
include_directories(${TensorFlow_DIR}/include)
if(TensorFlow_FOUND)
target_link_libraries(${ABACUS_BIN_NAME} TensorFlow::tensorflow_cc)
endif()
endif()

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@

# About ABACUS

ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of norm-conserving pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, etc.) in molecular and material simulations.
ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source package based on density functional theory (DFT). The package utilizes both plane wave and numerical atomic basis sets with the usage of norm-conserving pseudopotentials to describe the interactions between nuclear ions and valence electrons. ABACUS supports LDA, GGA, meta-GGA, and hybrid functionals. Apart from single-point calculations, the package allows geometry optimizations and ab-initio molecular dynamics with various ensembles. The package also provides a variety of advanced functionalities for simulating materials, including the DFT+U, VdW corrections, and implicit solvation model, etc. In addition, ABACUS strives to provide a general infrastructure to facilitate the developments and applications of novel machine-learning-assisted DFT methods (DeePKS, DP-GEN, DeepH, DeePTB etc.) in molecular and material simulations.

# Online Documentation
For detailed documentation, please refer to [our documentation website](https://abacus.deepmodeling.com/).

See our [Github Pages](https://mcresearch.github.io/abacus-user-guide/) for more tutorials and developer guides.
2 changes: 1 addition & 1 deletion docs/CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The following references are required to be cited when using ABACUS. Specificall

- **If DeePKS is used:**

Wenfei Li, Qi Ou, et al. "DeePKS+ABACUS as a Bridge between Expensive Quantum Mechanical Models and Machine Learning Potentials." <https://arxiv.org/abs/2206.10093>.
Wenfei Li, Qi Ou, et al. "DeePKS+ABACUS as a Bridge between Expensive Quantum Mechanical Models and Machine Learning Potentials." J. Phys. Chem. A 126.49 (2022): 9154-9164.

- **If hybrid functional is used:**

Expand Down
6 changes: 4 additions & 2 deletions docs/advanced/acceleration/cuda.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@ To compile and use ABACUS in CUDA mode, you currently need to have an NVIDIA GPU

Check the [Advanced Installation Options](https://abacus-rtd.readthedocs.io/en/latest/advanced/install.html#build-with-cuda-support) for the installation of CUDA version support.

When the compilation parameter USE_ELPA is ON (which is the default value) and USE_CUDA is also set to ON, the ELPA library needs to [enable GPU support](https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md) at compile time.
Setting both USE_ELPA and USE_CUDA to ON does not automatically enable ELPA to run on GPUs. ELPA support for GPUs needs to be enabled when ELPA is compiled. [enable GPU support](https://github.com/marekandreas/elpa/blob/master/documentation/INSTALL.md).

The ABACUS program will automatically determine whether the current ELPA supports GPU based on the elpa/elpa_configured_options.h header file. Users can also check this header file to determine the GPU support of ELPA in their environment. ELPA introduced a new API elpa_setup_gpu in version 2023.11.001. So if you want to enable ELPA GPU in ABACUS, the ELPA version must be greater than or equal to 2023.11.001.

## Run with the GPU support by editing the INPUT script:

In `INPUT` file we need to set the input parameter [device](../input_files/input-main.md#device) to `gpu`. If this parameter is not set, ABACUS will try to determine if there are available GPUs.
- Set `ks_solver`: For the PW basis, CG, BPCG and Davidson methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg` or `dav`. For the LCAO basis, `cusolver` and `elpa` is supported on GPU.
- Set `ks_solver`: For the PW basis, CG, BPCG and Davidson methods are supported on GPU; set the input parameter [ks_solver](../input_files/input-main.md#ks_solver) to `cg`, `bpcg` or `dav`. For the LCAO basis, `cusolver`, `cusolvermp` and `elpa` is supported on GPU.
- **multi-card**: ABACUS allows for multi-GPU acceleration. If you have multiple GPU cards, you can run ABACUS with several MPI processes, and each process will utilize one GPU card. For example, the command `mpirun -n 2 abacus` will by default launch two GPUs for computation. If you only have one card, this command will only start one GPU.

## Examples
Expand Down
6 changes: 4 additions & 2 deletions docs/advanced/elec_properties/Berry_phase.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pseudo_dir ../../../tests/PP_ORB //the path to locate the pesudopotential
orbital_dir ../../../tests/PP_ORB //the path to locate the numerical orbital files
ntype 3
ecutwfc 50 // Ry
symmetry 0 // turn off symmetry
symmetry -1 // turn off symmetry
calculation nscf // non-self-consistent calculation
basis_type lcao // atomic basis
init_chg file // read charge from files
Expand Down Expand Up @@ -70,4 +70,6 @@ The results are shown as follows:
P = 0.8906925 (mod 2.1748536) ( 0.0000000, 0.0000000, 0.8906925) C/m^2
```

The electric polarization **P** is multivalued, which modulo a quantum e**R**/V~cell~. Note: the values in parentheses are the components of the **P** along the c axis in the x, y, z Cartesian coordinates when set gdir = 3 in INPUT file.
The electric polarization **P** is multivalued, which modulo a quantum e**R**/V~cell~.

Note: The vectors R1, R2, and R3 refer to the three lattice vectors of the unit cell. When gdir=3, the calculated polarization is along the R3 direction. The three values in parentheses represent the re-projection of the polarization along the R3 direction onto the Cartesian coordinate system (i.e., the xyz coordinate system). To obtain the full polarization components in the Cartesian system, you need to calculate the polarization for R1, R2, and R3 separately, and then sum their respective x, y, and z components.
Loading