Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor: namespace Conv_Coulomb_Pot_K #3446

Merged
merged 3 commits into from
Jan 18, 2024
Merged

Refactor: namespace Conv_Coulomb_Pot_K #3446

merged 3 commits into from
Jan 18, 2024

Conversation

PeizeLin
Copy link
Collaborator

@PeizeLin PeizeLin commented Jan 5, 2024

All the unique parameters for various Coulomb potentials should be moved to std::map<std::string,double> ccp_parameter.

Copy link
Collaborator

@dyzheng dyzheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, can you add more description for this PR or add more annotations in .h/.hpp code for others to understand your changes?

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Copy link
Collaborator

@dyzheng dyzheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only related to module_ri, LGTM.

@dyzheng dyzheng merged commit 5692438 into deepmodeling:develop Jan 18, 2024
Flying-dragon-boxing added a commit to Flying-dragon-boxing/abacus-develop that referenced this pull request Jan 28, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
mohanchen added a commit that referenced this pull request May 15, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Docs: added docs for pexsi inputs

* Fix unit test issues in input_conv

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Jul 15, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Docs: added docs for pexsi inputs

* Fix unit test issues in input_conv

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Aug 9, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…4858)

* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Docs: added docs for pexsi inputs

* Fix unit test issues in input_conv

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Mar 7, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…amilt2density (#5973)

* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Docs: added docs for pexsi inputs

* Fix unit test issues in input_conv

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* Updates with latest

* Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in hamilt2density

* Fix: make files in consistent with upstream

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 10, 2025
…amilt2density (deepmodeling#5973)

* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Docs: added docs for pexsi inputs

* Fix unit test issues in input_conv

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* Updates with latest

* Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in hamilt2density

* Fix: make files in consistent with upstream

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Mar 10, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Mar 11, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Revert "Tests: one integrate test for exx pw, only for verifying whether exx pw works"

This reverts commit e7b606f.

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 13, 2025
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 13, 2025
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Revert "Tests: one integrate test for exx pw, only for verifying whether exx pw works"

This reverts commit e7b606f.

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 14, 2025
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 14, 2025
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Revert "Tests: one integrate test for exx pw, only for verifying whether exx pw works"

This reverts commit e7b606f.

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Mar 14, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
…pw works (#5994)

* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
kluophysics pushed a commit to kluophysics/abacus-develop that referenced this pull request Mar 17, 2025
…pw works (deepmodeling#5994)

* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (deepmodeling#2)

* run INPUT.Default() in every process in InputParaTest (deepmodeling#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (deepmodeling#3497)

* more unittest of QO: towards orbital selection (deepmodeling#3499)

* Fix: fix bug in mulliken charge calculation (deepmodeling#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (deepmodeling#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (deepmodeling#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (deepmodeling#3506)

* Build: add ccache to accelerate the testing process (deepmodeling#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (deepmodeling#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (deepmodeling#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (deepmodeling#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (deepmodeling#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (deepmodeling#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (deepmodeling#3523)

* Fix : unit test of module_xc (deepmodeling#3524)

* Fix: omit small magnetic moments to avoid numerical instability (deepmodeling#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (deepmodeling#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (deepmodeling#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (deepmodeling#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (deepmodeling#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (deepmodeling#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (deepmodeling#3537)

* Feature: enable restart charge density mixing during SCF (deepmodeling#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (deepmodeling#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (deepmodeling#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (deepmodeling#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (deepmodeling#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (deepmodeling#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
mohanchen added a commit that referenced this pull request Mar 24, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
* feat pexsi

* fix : diag not completed

* feat

* feat: pexsi hsolver

* CMake building implemented

* Works

* adapt to the new container

* Turn off USE_PEXSI

* Update LibRI to 553c91c

* modify include files

* namespace-ize

* new inputs added

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Modify inputs and update to latest version (#2)

* run INPUT.Default() in every process in InputParaTest (#3490)

Co-authored-by: kirk0830 <[email protected]>

* add blas support for FindLAPACK.cmake (#3497)

* more unittest of QO: towards orbital selection (#3499)

* Fix: fix bug in mulliken charge calculation (#3503)

* fix phase

* fix case test

* Refactor: namespace Conv_Coulomb_Pot_K (#3446)

* Refactor: namespace Conv_Coulomb_Pot_K

* Refactor: namespace Conv_Coulomb_Pot_K

---------

Co-authored-by: wqzhou <[email protected]>

* enable the computation of all zeros in one function call (#3449)

Co-authored-by: wqzhou <[email protected]>

* replace ios.eof() by ios.good() to avoid meeting badbit and failbit in reading STRU (#3506)

* Build: add ccache to accelerate the testing process (#3509)

* Build: add ccache to accelerate the testing process

* Update test.yml

* Update test.yml

* Update test.yml

* Docs: to avoid the misunderstanding in docs (#3518)

* to avoid the misunderstanding in docs

* Update docs/quick_start/hands_on.md

Co-authored-by: Chun Cai <[email protected]>

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: fix a missing depencency in conda build env (#3508)

* Feature: Add ENABLE_RAPIDJSON option to control the output of abacus.json (#3519)

Add ENABLE_RAPIDJSON option to control the output of abacus.json

* Feature: add python wrapper for math sphbes (#3475)

* recommit for review

* add python wrapper

* remove timer since performace tests add

* Feature: support segment split in kline mode in KPT file and `out_band` band output precision control, `8` as default (#3493)

* add precision control

* correct serial version of nscf_band function

* fix issue 3482

* update unit and integrated test

* update document

* correct unittest and make compatible with false and true

* fix: bug in Autotest.sh when result.ref has no totaltimeref (#3523)

* Fix : unit test of module_xc (#3524)

* Fix: omit small magnetic moments to avoid numerical instability (#3530)

* update deltalambda

* avoid numerical error in orbMulP

* add constrain on Mi

* change case reference value

* Fix: fix multiple compiler warnings (#3515)

* Fix: add noreturn attribute to warning_quit

* Add type conversion

* fix string literal

* fix small number trunctuation

* Fix system call returned value not checked

* fix missing braket

* Refactor parameter_pool.cpp and parameter_pool.h

* remove duplicated return statements

* Change WARNING_QUIT occurances in tests

* Add warning message to help debug UT

* output the default precision flag (#3496)

Co-authored-by: kirk0830 <[email protected]>

* Build: Improving CMake performance for finding LibXC and ELPA (#3478)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

---------

Co-authored-by: Chun Cai <[email protected]>

* Docs: correct some docs about mp2 smearing method (#3533)

* correct some docs about mp2 smearing method

* add docs about mv method

* Feature : printing band density (#3501)

Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: wqzhou <[email protected]>

* add some docs for PR#3501 (#3537)

* Feature: enable restart charge density mixing during SCF (#3542)

* add a new parameter mixing_restart

* do not update rho if iter==mixing_restart

* do not update rho if iter==mixing_restart-1

* reset mix and rho_mdata if iter==mixing_restart

* fix SCF exit directly since drho=0 if iter=GlobalV::MIXING_RESTART

* re-set_mixing in eachiterinit for PW and LCAO

* enable SCF restarts in esolver_ks::RUN

* add some UnitTests

* add some Docs

* new inputs added

* Update input-main.md (#3551)

Solve the format problem mentioned in issue 3543

* Build: fix compatibility issue against toolchain install (#3540)

* Fix for finding LibXC and ELPA

* For compatibility to previous routines

* syntax fix for FindELPA.cmake

* Update cmake/FindELPA.cmake

Co-authored-by: Chun Cai <[email protected]>

* Using CMake interface as default for finding LibXC

* update docs

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* fix for FindLibxc: changing imcompatible if statement

* update docs for installing pkg-config

* Update FindLibxc.cmake

* Update FindLibxc.cmake

* remove previous LibXC routine in CMakeLists.txt

Co-authored-by: Chun Cai <[email protected]>

* Update easy_install.md with Makefile-built LibXC supported

* Update easy_install.md to include different behavior in different version on finding ELPA

* fix compatibility issue against toolchain

* Change default ELPA install routine to old one

---------

Co-authored-by: Chun Cai <[email protected]>

* Test: Configure performance tests for math libraries (#3511)

* add performace test of sphbes functions.

* fix benchmark cmake errors

* add dependencies for docker

* update docs

* add performance tests for sphbes

* add google benchmark

* rewrite benchmark tests in fixtures

* disable internal testing in benchmark

* merge benchmark into integration test

---------

Co-authored-by: StarGrys <[email protected]>

* Configure Makefile Compiling, fix typos

* Fix Makefile Intel toolchains compile errors

* Fix even more PEXSI related Makefile compiling issues

* Update hsolver_pw.cpp (#3556)

when use_uspp==false, overlap matrix should be E.

* Fix: cuda build target (#3276)

* Fix: cuda buid target

* Update CMakeLists.txt

---------

Co-authored-by: Denghui Lu <[email protected]>

---------

Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>

* Revert "Modify inputs and update to latest version"

* Update FindPEXSI.cmake to fix Comments

* Fix CI errors

* Fix CI Errors and Merge with Upstream

* Resolve Pull Request Reviews

* Fix parallel communication related issue

* Fix vars in Makefile.vars, add input tests and comments for pexsi vars

* Fix nspin > 1 cases

* Improvement: take calculated mu as new initial guess, may slightly improve performance

* Fix mistakes in the last commit

* Fix: params and features
- set default pexsi_temp
- fix md in pexsi

* fix empty lines

* Fix: move params to pexsi_solver, rename USE_PEXSI to ENABLE_PEXSI

* Tests: Modify Dockerfile and GitHub Workflows

* Fix: wrong abacus link for dockerfile

* Docs: added docs for pexsi inputs

* Tests: three tests added for pexsi

* Fix unit test issues in input_conv

* Very good unit test, making my laptop fan spin

* Change default pexsi_npole from 80 to 40

* Place pexsi_EDM in DensityMatrix, set size of pexsi_dm = 1 when GlobalV::NSPIN==4, and add comments for dmToRho

* An unit test added for DiagoPexsi

* modify for changed gint interface

* correct nspin related behaviors

* add efermi passthrough

* Revert "add efermi passthrough"

This reverts commit d7b402d.

* commits to resolve conversations related to codes

* DM and EDM pointers in pexsi now handled by diagopexsi, and copying h s matrices no longer needed

* add pexsi examples

* fix pexsi unit test (original version shouldn't run)

* add building docs for pexsi

* set cxx standard to c++14, which is required in make_unique

* Fix: Fix typo related to pexsi

* update to PPEXSIDFTDriver2

* default npoints to 1, so single core pexsi will work

* Feature: exx operator for pw basis, single kpt

* apply pexsi changes(?)

* q-e style exx_div

* Correct exxdiv

* Fix Compile errors

* refactor to abandon `pdiagh`

* Fix mu_buffer and nspin

* HSE examples

* Feature: Multi-K exx

* Feature: Multi-K exx

* Updates with latest

* Remove redundant global vars

* Update to v3.9.0

* Update to v3.9.0, now code works

* Remove Redundant cal_exx_energy in esolver_ks_pw.cpp

* Some mess

* Minor Fixes

* Fix separate loop and screening

* Add EXX stress

* EXX Energy???

* Multi-K is broken???

* Fix: Multi-K and stress

* Feature: ACE for single-K

* Feature: ACE should work for multi-K, but not for sure

* Feature: ACE works. Next step is ACE energy.

* Fix: adapt to the latest instruction for variable `conv_esolver`

* Reconstruct: move exx_helper to hamilt_pwdft

* Fix: Now EXX PW doesn't depend on LibRI

* Fix: Add input constraints for EXX PW

* Fix: Remove redundant mpi barrier

* Fix: Clean irrelevant files

* Fix: Clean irrelevant files

* Feature: add ace flag, exit on using gpu

* Refactor: Phase 1 for refactoring exx energy

* Feature: now ace calculates energy

* Feature: enable exx energy

* Fix: fix makefile compilation error

* Fix: One minor fix for a segmentation fault

* Tests: one integrate test for exx pw, only for verifying whether exx pw works

* Revert "Tests: one integrate test for exx pw, only for verifying whether exx pw works"

This reverts commit e7b606f.

* Fix: EXX PW ACE open only when separate_loop is on

---------

Co-authored-by: zhangzhihao <[email protected]>
Co-authored-by: zhangzh-pku <[email protected]>
Co-authored-by: wqzhou <[email protected]>
Co-authored-by: kirk0830 <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Zhao Tianqi <[email protected]>
Co-authored-by: PeizeLin <[email protected]>
Co-authored-by: jinzx10 <[email protected]>
Co-authored-by: Chun Cai <[email protected]>
Co-authored-by: Peng Xingliang <[email protected]>
Co-authored-by: Jie Li <[email protected]>
Co-authored-by: Wenfei Li <[email protected]>
Co-authored-by: Denghui Lu <[email protected]>
Co-authored-by: YI Zeping <[email protected]>
Co-authored-by: wenfei-li <[email protected]>
Co-authored-by: jingan-181 <[email protected]>
Co-authored-by: StarGrys <[email protected]>
Co-authored-by: Haozhi Han <[email protected]>
Co-authored-by: Mohan Chen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants