-
Notifications
You must be signed in to change notification settings - Fork 145
Refactor: modify EXX realx/md calculation framework #5403
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
Conversation
|
For EXX relax/md Integration Test, |
|
@1041176461 You can change the reference results of the related cases. |
|
@maki49 Thanks! I changed "result.ref" of tests "285_NO_KP_RE_HSE", "286_NO_KP_CR_HSE", "385_NO_GO_RE_S1_HSE" and "386_NO_GO_MD_S1_HSE". I guess density matrix extrapolation may be a good way to reduce the difference, and corresponding implementations are planned. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I notice you change the ref. I think these changes should be reviewed by more relevant developers. Could you make a review @PeizeLin ?
Since all the Integration Tests are unconverged, the older refs are meaningless when the loop is changed. |
* Use template to reconstruct parse_expression * Feature: output R matrix at each MD step * Modify'matrix_HS' to 'matrix' for R matrix output * Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop * Fix: modify index in parse_expression * Fix: add regfree for parse_expression * Doc: update phonopy doc * Doc: update phonopy doc * fix tdos plot for nspin=2 * optimize dosplot for nspin=2 * fix legend for dosplot * Refactor: modify exx loop for relax/md * add exx when istep>0 * Update dos.py * Update esolver_sdft_pw.cpp * Update lcao_before_scf.cpp * Update Exx_LRI_interface.h * Update Exx_LRI_interface.hpp * Fix: compile error * Fix: compile error * Fix: change HSE relax/md result.ref for new framework * Fix: compile error * compatible with exx_iter_finish --------- Co-authored-by: jiyuang <[email protected]> Co-authored-by: Qianrui <[email protected]> Co-authored-by: maki49 <[email protected]>
The new EXX relax/md framework does not need to repeat the PBE calculation to build the density matrix for subsequent ion steps except step 0. Instead, it directly reads the density matrix of the previous step to perform EXX self-consistent calculation, reducing unnecessary self-consistent calculations.
Here are some comparsion
For relax,

exx_separate_loop 1, left -> new, right -> oldFor relax,

exx_separate_loop 0, left -> new, right -> oldFor md,

exx_separate_loop 1, left -> new, right -> oldFor md,

exx_separate_loop 0, left -> new, right -> old