forked from abacusmodeling/abacus-develop
-
Notifications
You must be signed in to change notification settings - Fork 145
Feature: LR-TDDFT for open-shell systems #5312
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mohanchen
reviewed
Oct 21, 2024
mohanchen
approved these changes
Oct 22, 2024
16 tasks
Fisherd99
pushed a commit
to Fisherd99/abacus-BSE
that referenced
this pull request
Mar 31, 2025
* do not pass matrix in OperatorLRDiag * spin-up/down nocc, nvirt, npairs * spin up/down PotHxc * move the psi wrapper into LR_Util * refactor hsolver_lr * change X from Psi to pointer in dm_trans and AX * refactor HSolverLR and remove the inheritance of HamiltLR * read/write value tool funcs * store X with ct::Tensor instead of Psi * use const ref instead of pointer for Parallel_2D * key: ULR Hamilt & tear down HSolverLR * pass spin-type to PotHxc * rebase develop and update DM * traverse states outside of act() * fix a fatal bug of AX index * remove nspin_solve * openshell support for spectrum * add parameter lr_unrestricted * fix the parallel copy of eigenvectors * enable complex spin2 and fix a parameter bug * restrict DM size within orb_rcut * remove band-traverse and recover RI-benchmark * update LR cases: cover spin2 and dav_subspace * add a test case for open-shell solver * fix compile error * minor fixes --------- Co-authored-by: Mohan Chen <mohanchen@pku.edu.cn>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Features Needed
The features are indeed needed, and developers should have sophisticated knowledge
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the spin-conserving unrestricted LR-TDDFT, the eigenvectors X are expanded by spin-up/down particle-hole pairs, and the dimension of the A matrix will be doubled, consisting of 4 different operator(block)s.
To support this, The LR-TDDFT code is massively refactored:
HamiltLRno longer inherits theHamiltbase class. It has its ownhPsifunction.HSovlerLRhas been removed , leaving only thesolvefunction in namespaceLR::HSolver.Psitoct::Tensor, and the interfaces of density matrix calculation (dm and AX) are all changed to transfer bare pointers.act()interface to make the transition density matrix both "one-memory for multiple states" and "once-calculation for multiple operators".