Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
5572872
Merge pull request #10 from Flying-dragon-boxing/develop
Flying-dragon-boxing Mar 31, 2024
aec57c0
An unit test added for DiagoPexsi
Flying-dragon-boxing Mar 31, 2024
a4efc59
Merge branch 'develop' into develop
mohanchen Apr 8, 2024
2167ba5
Merge branch 'develop' into develop
Flying-dragon-boxing Apr 9, 2024
70f9a54
modify for changed gint interface
Flying-dragon-boxing Apr 9, 2024
e7088f7
Merge pull request #11 from Flying-dragon-boxing/develop
Flying-dragon-boxing Apr 9, 2024
5a891f7
correct nspin related behaviors
Flying-dragon-boxing Apr 9, 2024
d7b402d
add efermi passthrough
Flying-dragon-boxing Apr 9, 2024
76774f6
Revert "add efermi passthrough"
Flying-dragon-boxing Apr 9, 2024
9f8532a
Merge branch 'develop' into resolve_conflict
Flying-dragon-boxing Apr 13, 2024
9e8c724
commits to resolve conversations related to codes
Flying-dragon-boxing Apr 13, 2024
569269b
DM and EDM pointers in pexsi now handled by diagopexsi, and copying h…
Flying-dragon-boxing Apr 13, 2024
f8352cb
add pexsi examples
Flying-dragon-boxing Apr 13, 2024
b0ef9ad
fix pexsi unit test (original version shouldn't run)
Flying-dragon-boxing Apr 13, 2024
5b53d6f
add building docs for pexsi
Flying-dragon-boxing Apr 17, 2024
3e5fea8
Merge branch 'develop' into resolve_conflict
Flying-dragon-boxing Apr 17, 2024
69b774a
Merge branch 'develop' into resolve_conflict
Flying-dragon-boxing Apr 18, 2024
110e5b0
set cxx standard to c++14, which is required in make_unique
Flying-dragon-boxing Apr 18, 2024
1ced552
Merge branch 'develop' into resolve_conflict
Flying-dragon-boxing May 3, 2024
e874a84
Merge branch 'develop' into resolve_conflict
Flying-dragon-boxing May 11, 2024
696d01c
Merge branch 'develop' into resolve_conflict
mohanchen May 12, 2024
04db1c1
Merge branch 'develop' into resolve_conflict
WHUweiqingzhou May 14, 2024
29f1efc
Merge branch 'develop' into resolve_conflict
mohanchen May 14, 2024
2a0b367
Merge pull request #12 from deepmodeling/develop
Flying-dragon-boxing May 15, 2024
a832159
Merge pull request #13 from Flying-dragon-boxing/resolve_conflict
Flying-dragon-boxing May 15, 2024
d1b62c4
Merge pull request #15 from deepmodeling/develop
Flying-dragon-boxing Jul 15, 2024
20cb2ae
Fix: Fix typo related to pexsi
Flying-dragon-boxing Jul 15, 2024
5308568
update to PPEXSIDFTDriver2
Flying-dragon-boxing Jul 18, 2024
8d75717
default npoints to 1, so single core pexsi will work
Flying-dragon-boxing Jul 22, 2024
8306447
Feature: exx operator for pw basis, single kpt
Flying-dragon-boxing Jul 22, 2024
dcad001
apply pexsi changes(?)
Flying-dragon-boxing Jul 23, 2024
b9e9844
q-e style exx_div
Flying-dragon-boxing Aug 1, 2024
cda67e6
Correct exxdiv
Flying-dragon-boxing Aug 7, 2024
dc367da
Merge pull request #16 from deepmodeling/develop
Flying-dragon-boxing Aug 7, 2024
c8b7221
Fix Compile errors
Flying-dragon-boxing Aug 7, 2024
aa6dc7d
refactor to abandon `pdiagh`
Flying-dragon-boxing Aug 8, 2024
7ee641a
Merge branch 'develop' into develop
Flying-dragon-boxing Aug 8, 2024
a05f3a6
Fix mu_buffer and nspin
Flying-dragon-boxing Aug 8, 2024
b92e6c5
Merge branch 'develop' into develop
Flying-dragon-boxing Aug 8, 2024
58a2297
HSE examples
Flying-dragon-boxing Sep 2, 2024
1f97745
Feature: Multi-K exx
Flying-dragon-boxing Sep 3, 2024
f672456
Feature: Multi-K exx
Flying-dragon-boxing Sep 23, 2024
998b19f
Updates with latest
Flying-dragon-boxing Sep 23, 2024
bd474b2
Merge branch 'develop' of https://github.com/deepmodeling/abacus-deve…
Flying-dragon-boxing Oct 9, 2024
c1626f4
Updates with latest
Flying-dragon-boxing Oct 11, 2024
140e361
Remove redundant global vars
Flying-dragon-boxing Oct 18, 2024
8bad499
Merge remote-tracking branch 'upstream/develop' into exx_pw
Flying-dragon-boxing Feb 4, 2025
69beb4c
Update to v3.9.0
Flying-dragon-boxing Feb 18, 2025
3405c7a
Update to v3.9.0, now code works
Flying-dragon-boxing Feb 19, 2025
d4e3bf9
Merge remote-tracking branch 'upstream/develop' into exx_pw
Flying-dragon-boxing Feb 19, 2025
a6aa3c7
Remove Redundant cal_exx_energy in esolver_ks_pw.cpp
Flying-dragon-boxing Feb 18, 2025
d9ed5b9
Some mess
Flying-dragon-boxing Feb 19, 2025
988b2ef
Minor Fixes
Flying-dragon-boxing Feb 19, 2025
1ecbb09
Fix separate loop and screening
Flying-dragon-boxing Feb 20, 2025
323e05c
Add EXX stress
Flying-dragon-boxing Feb 21, 2025
247ab5c
EXX Energy???
Flying-dragon-boxing Feb 24, 2025
eb8e92a
Multi-K is broken???
Flying-dragon-boxing Feb 24, 2025
6de3f9d
Fix: Multi-K and stress
Flying-dragon-boxing Feb 25, 2025
2e742a2
Feature: ACE for single-K
Flying-dragon-boxing Feb 27, 2025
08d92dd
Feature: ACE should work for multi-K, but not for sure
Flying-dragon-boxing Feb 28, 2025
1c6c47e
Feature: ACE works. Next step is ACE energy.
Flying-dragon-boxing Feb 28, 2025
412df28
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Mar 7, 2025
36b7f71
Fix: adapt to the latest instruction for variable `conv_esolver`
Flying-dragon-boxing Mar 7, 2025
155f47a
Reconstruct: move exx_helper to hamilt_pwdft
Flying-dragon-boxing Mar 7, 2025
fb8b16f
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Mar 7, 2025
9dc2a36
Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in h…
Flying-dragon-boxing Mar 7, 2025
3fd4dc6
Fix: make files in consistent with upstream
Flying-dragon-boxing Mar 7, 2025
4ce66ba
Fix: Now EXX PW doesn't depend on LibRI
Flying-dragon-boxing Mar 7, 2025
f8ea0ed
Fix: Add input constraints for EXX PW
Flying-dragon-boxing Mar 7, 2025
a8b7af0
Fix: Remove redundant mpi barrier
Flying-dragon-boxing Mar 7, 2025
8178ff2
Fix: Clean irrelevant files
Flying-dragon-boxing Mar 7, 2025
eaac855
Fix: Clean irrelevant files
Flying-dragon-boxing Mar 7, 2025
5fb70bb
Feature: add ace flag, exit on using gpu
Flying-dragon-boxing Mar 10, 2025
56e4cc5
Refactor: Phase 1 for refactoring exx energy
Flying-dragon-boxing Mar 10, 2025
3d6ab83
Feature: now ace calculates energy
Flying-dragon-boxing Mar 10, 2025
1edd234
Feature: enable exx energy
Flying-dragon-boxing Mar 10, 2025
6b9280c
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Mar 10, 2025
6728fd2
Fix: fix makefile compilation error
Flying-dragon-boxing Mar 10, 2025
1d2a260
Fix: One minor fix for a segmentation fault
Flying-dragon-boxing Mar 11, 2025
6b0a77c
Merge remote-tracking branch 'origin/exx_pw' into exx_pw
Flying-dragon-boxing Mar 11, 2025
0ba28dd
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Mar 11, 2025
e7b606f
Tests: one integrate test for exx pw, only for verifying whether exx …
Flying-dragon-boxing Mar 11, 2025
8c0bb5c
Revert "Tests: one integrate test for exx pw, only for verifying whet…
Flying-dragon-boxing Mar 11, 2025
fd8224f
Merge with upstream
Flying-dragon-boxing Mar 22, 2025
3111b09
Fix: EXX PW ACE open only when separate_loop is on
Flying-dragon-boxing Mar 22, 2025
d1430a0
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Mar 22, 2025
04307bf
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Mar 23, 2025
0ba2760
add timer
Flying-dragon-boxing Apr 2, 2025
abb6549
Feature: Double Grid method of EXX PW
Flying-dragon-boxing Apr 2, 2025
7e20895
Feature: Double Grid method of EXX PW Stress
Flying-dragon-boxing Apr 2, 2025
9e0b9c3
Fix: Double Grid method of EXX PW Stress
Flying-dragon-boxing Apr 2, 2025
5e1f823
Feature: add double grid variable
Flying-dragon-boxing Apr 2, 2025
297808b
Feature: add double grid variable
Flying-dragon-boxing Apr 2, 2025
86e1eb7
Fis: HSE stress
Flying-dragon-boxing Apr 2, 2025
ef23a19
Fix: HSE Stress
Flying-dragon-boxing Apr 2, 2025
0ca2b77
Fix: Timer
Flying-dragon-boxing Apr 3, 2025
d502509
Fix: Timer
Flying-dragon-boxing Apr 3, 2025
52e75a5
Merge pull request #19 from deepmodeling/develop
Flying-dragon-boxing Apr 3, 2025
7a68932
Merge remote-tracking branch 'upstream/develop' into exx_pw
Flying-dragon-boxing Apr 7, 2025
2758160
For non mp sampling, disable extrapolation
Flying-dragon-boxing Apr 7, 2025
9966efa
Modify test
Flying-dragon-boxing Apr 7, 2025
5446405
Modify mp
Flying-dragon-boxing Apr 7, 2025
eaa1b5c
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Apr 7, 2025
97d078d
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Apr 8, 2025
7f433e0
Format
Flying-dragon-boxing Apr 8, 2025
4fd697c
Merge remote-tracking branch 'origin/exx_pw' into exx_pw
Flying-dragon-boxing Apr 8, 2025
53792cb
Format
Flying-dragon-boxing Apr 8, 2025
8ab5358
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Apr 8, 2025
60a14cb
Merge remote-tracking branch 'upstream' into exx_pw
Flying-dragon-boxing Apr 14, 2025
fd88664
Feature: nspin == 2 scf
Flying-dragon-boxing Apr 14, 2025
22d3166
Fix: nspin == 2 scf
Flying-dragon-boxing Apr 15, 2025
b718a52
Merge remote-tracking branch 'upstream' into exx_pw
Flying-dragon-boxing Jun 2, 2025
c5e0837
Docs: EXX PW Docs
Flying-dragon-boxing Jun 2, 2025
e38c94f
Feature: EXX PW for nspin=2
Flying-dragon-boxing Jun 2, 2025
2113b23
Docs: EXX PW Docs
Flying-dragon-boxing Jun 2, 2025
6134e3e
Docs: EXX PW Docs
Flying-dragon-boxing Jun 2, 2025
596de5b
Docs: EXX PW Docs, minor fixes
Flying-dragon-boxing Jun 2, 2025
b80c6a8
Merge remote-tracking branch 'upstream/develop' into exx_pw
Flying-dragon-boxing Jun 2, 2025
a9e9ecd
Merge
Flying-dragon-boxing Jun 3, 2025
89f2cc1
Refactor
Flying-dragon-boxing Jun 3, 2025
f48ea9b
Refactor
Flying-dragon-boxing Jun 3, 2025
ae10873
Refactor
Flying-dragon-boxing Jun 3, 2025
88eec25
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 3, 2025
d060712
Refactor
Flying-dragon-boxing Jun 3, 2025
bb55801
Refactor
Flying-dragon-boxing Jun 3, 2025
d5183d8
Refactor: fix unit test
Flying-dragon-boxing Jun 3, 2025
23ed59a
Refactor: fix unit test
Flying-dragon-boxing Jun 3, 2025
a80ec81
Refactor: fix unit test
Flying-dragon-boxing Jun 3, 2025
7756c96
Refactor: fix unit test
Flying-dragon-boxing Jun 4, 2025
009964b
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 5, 2025
4801e6d
Merge remote-tracking branch 'upstream/develop' into exx_pw
Flying-dragon-boxing Jun 6, 2025
6dc3de4
Bump version v3.9.0.7
Flying-dragon-boxing Jun 6, 2025
4737f8a
Refactor: Remove set kvec funcs in `K_Vectors`
Flying-dragon-boxing Jun 9, 2025
bcd549f
Refactor: Remove final_scf
Flying-dragon-boxing Jun 9, 2025
f5cd794
Refactor: Fix kvecc2d/d2c
Flying-dragon-boxing Jun 9, 2025
bf01b41
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 9, 2025
ce796a9
Fix: Tests
Flying-dragon-boxing Jun 9, 2025
98f4c07
Fix: Tests
Flying-dragon-boxing Jun 9, 2025
8a41e6e
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 10, 2025
8493b5e
Fix: Tests
Flying-dragon-boxing Jun 10, 2025
5f8f70e
Fix: Tests
Flying-dragon-boxing Jun 10, 2025
e3dc6ca
Refactor: Final?
Flying-dragon-boxing Jun 10, 2025
c6353ef
Fix
Flying-dragon-boxing Jun 10, 2025
2ef53b7
Fix
Flying-dragon-boxing Jun 10, 2025
a22d396
Fix
Flying-dragon-boxing Jun 10, 2025
0afd3e1
Fix
Flying-dragon-boxing Jun 10, 2025
c2aa114
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 12, 2025
17e82b8
Merge branch 'develop' into develop
Flying-dragon-boxing Jun 13, 2025
5202d0b
Merge
Flying-dragon-boxing Jun 25, 2025
7fcd75f
GPU EXX PW Support
Flying-dragon-boxing Jun 26, 2025
95593c4
Merge
Flying-dragon-boxing Jun 26, 2025
36d7f7e
Fix: Compile Error on CUDA > 12.9
Flying-dragon-boxing Jun 26, 2025
964d4b6
Fix: Compile Error on CUDA > 12.9
Flying-dragon-boxing Jun 26, 2025
5dcfb20
NVTX3
Flying-dragon-boxing Jun 26, 2025
a1c7cb9
F***ing new version
Flying-dragon-boxing Jun 26, 2025
c50e4b7
F***ing new version
Flying-dragon-boxing Jun 26, 2025
0141d58
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Jul 9, 2025
d6b9da2
Feature: Support linear combination of coulomb_param for EXX PW
Flying-dragon-boxing Jul 9, 2025
6049913
Fix: Fix compile issue
Flying-dragon-boxing Jul 9, 2025
acc2839
F***ing new version
Flying-dragon-boxing Jul 19, 2025
3c07894
F***ing new version
Flying-dragon-boxing Jul 19, 2025
a0cbb24
F***ing new version
Flying-dragon-boxing Jul 19, 2025
f8b27d4
F***ing new version
Flying-dragon-boxing Jul 19, 2025
0d119e9
Uploading hybrid gauge tddft (#6369)
ESROAMER Jul 10, 2025
ec01e60
Improve md calculation stress output in running log (#6366)
lanshuyue Jul 10, 2025
954b5e6
Refactor: Remove redundant Input_para from ESolver Class (#6370)
sunliang98 Jul 10, 2025
a9b1917
Fix: Fix memory leak introduced by new gint module (#6375)
dzzz2001 Jul 10, 2025
1a3125d
refactor Exx_Opt_Orb (#6378)
linpeize Jul 12, 2025
f1196e5
Add use sw and fix Floating point exception (#6372)
A-006 Jul 12, 2025
efdeaa5
Update the output formats of rt-TDDFT (#6381)
mohanchen Jul 13, 2025
07a3824
[Refactor] Rename grid to module_grid and genelpa to module_genelpa (…
Critsium-xy Jul 14, 2025
f2e0f16
Update the outputs of geometry relaxation (#6387)
mohanchen Jul 14, 2025
2877670
Feature: support the output of matrix representation of symm_ops (#6390)
kirk0830 Jul 18, 2025
6a70de5
Feature: Output real space wavefunction and partial charge density wh…
AsTonyshment Jul 18, 2025
9674217
Optimize RT-TDDFT dipole output (#6393)
AsTonyshment Jul 18, 2025
ea5b326
Perf: support GPU version of cal_force_cc with LCAO basis (#6392)
dzzz2001 Jul 19, 2025
160ad95
[Refactor] Move module_lr to source_lcao and add a new folder module_…
Critsium-xy Jul 19, 2025
f80ef2e
Fix a bug for the output information after relaxation (#6395)
mohanchen Jul 19, 2025
6e6bbf5
bump version to 3.9.0.10 (#6397)
Cstandardlib Jul 20, 2025
f1e5cb3
Fix: fix exx_gamma_extrapolation error in MPI
Flying-dragon-boxing Jul 21, 2025
6bcb232
Fix: fix exx_gamma_extrapolation error in MPI
Flying-dragon-boxing Jul 21, 2025
0dc4140
Merge pull request #20 from deepmodeling/develop
Flying-dragon-boxing Jul 21, 2025
ebed51f
Merge branch 'develop' into develop
mohanchen Jul 21, 2025
f19607e
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Jul 22, 2025
1bed146
Merge pull request #21 from deepmodeling/develop
Flying-dragon-boxing Jul 23, 2025
0801fcc
Update lapack.cu
Flying-dragon-boxing Jul 23, 2025
43f8926
Merge branch 'develop' into develop
Flying-dragon-boxing Jul 26, 2025
b8cdb29
Refactor: Use LAPACK interfaces from ATen
Flying-dragon-boxing Jul 30, 2025
adc4fc1
Merge remote-tracking branch 'origin/exx_pw' into exx_pw
Flying-dragon-boxing Jul 30, 2025
26b7d00
Merge branch 'develop' into develop
Flying-dragon-boxing Jul 30, 2025
9c65553
Fix: Integrate test
Flying-dragon-boxing Jul 30, 2025
b5be1a4
Merge remote-tracking branch 'origin/develop' into develop
Flying-dragon-boxing Jul 30, 2025
ec5e8a0
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Jul 31, 2025
52925f5
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Jul 31, 2025
25aa53a
Fix: implement devinfo for potrf
Flying-dragon-boxing Jul 31, 2025
ba2b651
Fix: MPI and Makefile
Flying-dragon-boxing Jul 31, 2025
eb57368
Fix: get_potential
Flying-dragon-boxing Jul 31, 2025
0197961
Fix: ace
Flying-dragon-boxing Jul 31, 2025
f79e698
Merge
Flying-dragon-boxing Aug 4, 2025
6f89e08
Refactor
Flying-dragon-boxing Aug 4, 2025
8d62606
Refactor
Flying-dragon-boxing Aug 4, 2025
71180ba
Refactor
Flying-dragon-boxing Aug 5, 2025
fe13cba
Refactor
Flying-dragon-boxing Aug 5, 2025
905a5d6
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Aug 15, 2025
b798359
Refactor
Flying-dragon-boxing Aug 15, 2025
d2da506
Fix: conv
Flying-dragon-boxing Aug 19, 2025
af6e615
Revert "Fix: conv"
Flying-dragon-boxing Aug 19, 2025
08b73dc
Fix: conv
Flying-dragon-boxing Aug 19, 2025
56fb9a3
Fix: conv hard code thr for now
Flying-dragon-boxing Aug 19, 2025
a483df3
Fix: conv hard code thr for now
Flying-dragon-boxing Aug 20, 2025
b1160e9
Fix: conv hard code thr for now
Flying-dragon-boxing Aug 20, 2025
fd96f2b
Fix: conv hard code thr for now
Flying-dragon-boxing Aug 22, 2025
2245b25
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Sep 15, 2025
370aff9
Merge branch 'develop' into develop
Flying-dragon-boxing Sep 15, 2025
3c5411e
Refactor
Flying-dragon-boxing Sep 15, 2025
9bd01a4
Merge remote-tracking branch 'origin/develop' into develop
Flying-dragon-boxing Sep 15, 2025
e046090
Refactor
Flying-dragon-boxing Sep 15, 2025
2188e72
Refactor
Flying-dragon-boxing Sep 15, 2025
9381f8c
Refactor
Flying-dragon-boxing Sep 15, 2025
669fa7b
Refactor
Flying-dragon-boxing Sep 15, 2025
ad583f5
Merge branch 'develop' into develop
Flying-dragon-boxing Sep 15, 2025
90e73b9
Merge with develop
Flying-dragon-boxing Sep 16, 2025
67043a9
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Sep 17, 2025
82d9bfe
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Sep 20, 2025
a84dcbb
Mod
Flying-dragon-boxing Sep 24, 2025
1aba8e8
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Sep 24, 2025
0a87323
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Sep 25, 2025
3254445
Begin EXX KPAR
Flying-dragon-boxing Sep 25, 2025
47614dc
Begin EXX KPAR
Flying-dragon-boxing Sep 25, 2025
32dc099
Begin EXX KPAR
Flying-dragon-boxing Oct 3, 2025
31bfafc
Merge remote-tracking branch 'upstream/develop' into develop
Flying-dragon-boxing Oct 3, 2025
d0c936b
Begin EXX KPAR
Flying-dragon-boxing Oct 3, 2025
f3ace20
Begin EXX KPAR
Flying-dragon-boxing Oct 3, 2025
220a0c2
Begin EXX KPAR
Flying-dragon-boxing Oct 3, 2025
00e737c
EXX KPAR WORKS
Flying-dragon-boxing Oct 4, 2025
88902c6
EXX KPAR WORKS Alternative
Flying-dragon-boxing Oct 4, 2025
466bd30
Fix GPU, but so ugly...
Flying-dragon-boxing Oct 5, 2025
f7059d5
Merge branch 'exx_pw' of https://github.com/Flying-dragon-boxing/abac…
Flying-dragon-boxing Oct 7, 2025
a8d71b2
Undo cuda aware mpi
Flying-dragon-boxing Oct 9, 2025
aceeb16
Undo cuda aware mpi
Flying-dragon-boxing Oct 9, 2025
80fd973
Revert "Undo cuda aware mpi"
Flying-dragon-boxing Oct 26, 2025
54e445f
EXX KPAR WORKS on NSPIN=2
Flying-dragon-boxing Oct 27, 2025
dae5416
Merge with develop
Flying-dragon-boxing Oct 27, 2025
de4f539
Fix without MPI
Flying-dragon-boxing Oct 27, 2025
e6364da
Fix header
Flying-dragon-boxing Oct 27, 2025
9270df8
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Oct 27, 2025
458405f
Separate ecut for exx pw
Flying-dragon-boxing Oct 28, 2025
7406b9f
Merge branch 'develop' into exx_pw
Flying-dragon-boxing Oct 28, 2025
34f0f52
Documents related
Flying-dragon-boxing Oct 29, 2025
696f4a7
Documents related
Flying-dragon-boxing Oct 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions docs/advanced/input_files/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,9 @@
- [Exact Exchange (PW)](#exact-exchange-pw)
- [exxace](#exxace)
- [exx\_gamma\_extrapolation](#exx_gamma_extrapolation)
- [ecutexx](#ecutexx)
- [exx_thr_type](#exx_thr_type)
- [exx_ene_thr](#exx_ene_thr)
- [Molecular Dynamics](#molecular-dynamics)
- [md\_type](#md_type)
- [md\_nstep](#md_nstep)
Expand Down Expand Up @@ -3101,6 +3104,26 @@ These variables are relevant when using hybrid functionals with *[basis_type](#b
- **Description**: Whether to use the gamma point extrapolation method to calculate the Fock exchange operator. See [https://doi.org/10.1103/PhysRevB.79.205114](https://doi.org/10.1103/PhysRevB.79.205114) for details. Should be set to true most of the time.
- **Default**: True

### ecutexx
- **Type**: Real
- **Description**: The energy cutoff for EXX (Fock) exchange operator in plane wave basis calculations. Reducing `ecutexx` below `ecutrho` may significantly accelerate EXX computations. This speed improvement comes with a reduced numerical accuracy in the exchange energy calculation.
- **Default**: same as *[ecutrho](#ecutrho)*
- **Unit**: Ry

### exx_thr_type
- **Type**: String
- **Description**: The type of threshold used to judge whether the outer loop has converged in the separate loop EXX calculation.
- energy: use the change of exact exchange energy to judge convergence.
- density: if the change of charge density difference between two successive outer loop iterations is seen as converged according to *[scf_thr](#scf_thr)*, then the outer loop is seen as converged.
- **Default**: `density`

### exx_ene_thr
- **Type**: Real
- **Availability**: *[exx_thr_type](#exx_thr_type)*==`energy`
- **Description**: The threshold for the change of exact exchange energy to judge convergence of the outer loop in the separate loop EXX calculation.
- **Default**: 1e-5
- **Unit**: Ry

## Molecular dynamics

These variables are used to control molecular dynamics calculations. For more information, please refer to [md.md](../md.md#molecular-dynamics) in detail.
Expand Down
1 change: 1 addition & 0 deletions source/source_io/module_parameter/input_parameter.h
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,7 @@ struct Input_para
bool exx_gamma_extrapolation = true; // gamma point extrapolation for exx, https://doi.org/10.1103/PhysRevB.79.205114
std::string exx_thr_type = "density"; // threshold type for exx outer loop, energy or density
double exx_ene_thr = 1e-5; // threshold for exx outer loop when exx_thr_type = energy
double ecutexx = 0.0; // energy cutoff for exx calculation, Ry

// ==== #Parameters (23.XC external parameterization) ========
/*
Expand Down
12 changes: 12 additions & 0 deletions source/source_io/read_input_item_other.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,18 @@ void ReadInput::item_others()
};
this->add_item(item);
}
{
Input_Item item("ecutexx");
item.annotation = "energy cutoff for exx calculation, Ry";
read_sync_double(input.ecutexx);
item.check_value = [](const Input_Item& item, const Parameter& para) {
if (para.input.ecutexx < 0)
{
ModuleBase::WARNING_QUIT("ReadInput", "ecutexx must >= 0");
}
};
this->add_item(item);
}

}
} // namespace ModuleIO
11 changes: 9 additions & 2 deletions source/source_pw/module_pwdft/operator_pw/op_exx_pw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,22 @@ OperatorEXXPW<T, Device>::OperatorEXXPW(const int* isk_in,
tpiba = ucell->tpiba;
Real tpiba2 = tpiba * tpiba;

// initialize rhopw_dev
double ecut_exx = PARAM.inp.ecutexx;
if (ecut_exx == 0.0)
{
ecut_exx = PARAM.inp.ecutrho;
}

rhopw_dev = new ModulePW::PW_Basis(wfcpw->get_device(), rhopw->get_precision());
rhopw_dev->fft_bundle.setfft(wfcpw->get_device(), rhopw->get_precision());
#ifdef __MPI
rhopw_dev->initmpi(rhopw->poolnproc, rhopw->poolrank, rhopw->pool_world);
#endif
// here we can actually use different ecut to init the grids
rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, rhopw->gridecut_lat * rhopw->tpiba2);
rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, ecut_exx);
rhopw_dev->initgrids(rhopw->lat0, rhopw->latvec, rhopw->nx, rhopw->ny, rhopw->nz);
rhopw_dev->initparameters(rhopw->gamma_only, rhopw->ggecut * rhopw->tpiba2, rhopw->distribution_type, rhopw->xprime);
rhopw_dev->initparameters(rhopw->gamma_only, ecut_exx, rhopw->distribution_type, rhopw->xprime);
rhopw_dev->setuptransform();
rhopw_dev->collect_local_pw();

Expand Down
Loading