MRChemSoft / mrchem

MultiResolution Chemistry
GNU Lesser General Public License v3.0
27 stars 21 forks source link

Excited states solver #437

Open Gabrielgerez opened 1 year ago

Gabrielgerez commented 1 year ago

Implementing the Excited states solver. This is a re-make of #395 with better structure and is rebased on the changes introduced in #435, which needs to be merged before this one. I have Created an additional class called ExcitedStatesSolver to solve for the excited states. The functionality of this class is very similar to LinearResponseSolver so we might consider adding the excited states solver in the LinearResponseSolver in the future, or creating an entirely new class to hold different response solvers, or the future, HigherOrderResponseSolver.

TODO:

First step is almost ready as I create this draft PR.

Gabrielgerez commented 1 year ago

the latest commit introduces a bug, but commit edc857f will compute single excited states given a proper initial guess

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 31.04% and project coverage change: -1.34 :warning:

Comparison is base (57b33fb) 70.00% compared to head (0bf26fe) 68.67%.

:exclamation: Current head 0bf26fe differs from pull request most recent head 15b7814. Consider uploading reports for the commit 15b7814 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #437 +/- ## ========================================== - Coverage 70.00% 68.67% -1.34% ========================================== Files 183 185 +2 Lines 15593 15792 +199 ========================================== - Hits 10916 10845 -71 - Misses 4677 4947 +270 ``` | [Impacted Files](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft) | Coverage Δ | | |---|---|---| | [src/qmoperators/two\_electron/ExchangePotentialD2.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3Ftb3BlcmF0b3JzL3R3b19lbGVjdHJvbi9FeGNoYW5nZVBvdGVudGlhbEQyLmg=) | `50.00% <ø> (ø)` | | | [src/scf\_solver/ExcitedStatesSolver.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3NjZl9zb2x2ZXIvRXhjaXRlZFN0YXRlc1NvbHZlci5jcHA=) | `0.00% <0.00%> (ø)` | | | [src/scf\_solver/ExcitedStatesSolver.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3NjZl9zb2x2ZXIvRXhjaXRlZFN0YXRlc1NvbHZlci5o) | `0.00% <0.00%> (ø)` | | | [src/driver.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2RyaXZlci5jcHA=) | `67.12% <51.74%> (-5.49%)` | :arrow_down: | | [...c/qmoperators/two\_electron/ExchangePotentialD2.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3Ftb3BlcmF0b3JzL3R3b19lbGVjdHJvbi9FeGNoYW5nZVBvdGVudGlhbEQyLmNwcA==) | `44.55% <58.33%> (-1.00%)` | :arrow_down: | | [src/scf\_solver/GroundStateSolver.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3NjZl9zb2x2ZXIvR3JvdW5kU3RhdGVTb2x2ZXIuY3Bw) | `88.70% <62.50%> (-0.24%)` | :arrow_down: | | [...rc/qmoperators/two\_electron/CoulombPotentialD2.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3Ftb3BlcmF0b3JzL3R3b19lbGVjdHJvbi9Db3Vsb21iUG90ZW50aWFsRDIuY3Bw) | `53.84% <66.66%> (-1.71%)` | :arrow_down: | | [src/qmfunctions/density\_utils.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3FtZnVuY3Rpb25zL2RlbnNpdHlfdXRpbHMuY3Bw) | `95.16% <70.00%> (-0.71%)` | :arrow_down: | | [src/chemistry/Molecule.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2NoZW1pc3RyeS9Nb2xlY3VsZS5jcHA=) | `71.03% <100.00%> (+3.38%)` | :arrow_up: | | [src/chemistry/Molecule.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2NoZW1pc3RyeS9Nb2xlY3VsZS5o) | `86.20% <100.00%> (+0.49%)` | :arrow_up: | | ... and [5 more](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft) | | ... and [30 files with indirect coverage changes](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/437/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.