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

THC TDA #12

Merged
merged 65 commits into from
Aug 22, 2023
Merged

THC TDA #12

merged 65 commits into from
Aug 22, 2023

Conversation

mkakcl
Copy link
Contributor

@mkakcl mkakcl commented Aug 3, 2023

  • Adds thc.py introducing the new function of completing TDA calculations using THC integrals. Using this method should scale as N^3 in comparison to the previous Cholesky decomposition method (scales as N^4)
  • Current implementation requires the THC tensors to be calculated from a different source and then imported into the code. This is currently achieved within the ints.py. Future implementations will hopefully directly interface with a method to calculate THC ERIs.

@mkakcl mkakcl requested a review from obackhouse August 3, 2023 17:27
@obackhouse
Copy link
Contributor

obackhouse commented Aug 4, 2023

Plan after call:

  • thc_opts only additional keyword argument in BaseGW, for now only contains filepath
  • For now, just have momentGW/thc.py that contains a new Integrals and TDA class that inherit from the standard versions
  • Specify THC via polarizability i.e. polarizability="thc-dtda", which controls what is returned by GW.ao2mo and GW.build_se_moments
  • Move the fock.py Fock matrix building functions inside the Integrals classes - this allows us to also remove the calls to PySCF in build_se_static in place of these functions, so we can maintain scaling with THC
  • Ignore self-consistency, MPI for now

I think this should make everything interface nicely without chaning much existing code

@mkakcl mkakcl marked this pull request as ready for review August 7, 2023 14:33
@obackhouse
Copy link
Contributor

obackhouse commented Aug 9, 2023

I've changed some stuff around, made variable names more consistent with the DF implementation, and I think things are looking good. Still need tests, and to stress test the miscellaneous features in the GW solver. Then self-consistency and parallelism.

Not sure what our merge policy here is - perhaps this should just live in a development branch until we have a usable interface with the THC integral generation.

@obackhouse
Copy link
Contributor

Can we move the MPI stuff to a new branch? Then we can look to getting this PR merged this week, I think it's ready to go

@mkakcl
Copy link
Contributor Author

mkakcl commented Aug 17, 2023

Branched MPI changes and reverted to pre MPI

tests/test_thctdagw.py Outdated Show resolved Hide resolved
examples/07-thc.h5 Outdated Show resolved Hide resolved
@obackhouse
Copy link
Contributor

on second thought, maybe we want to get the self-consistency working before merging

@obackhouse
Copy link
Contributor

LGTM, great stuff @mkakcl

@obackhouse obackhouse merged commit d7a3b7a into main Aug 22, 2023
1 check passed
@obackhouse obackhouse deleted the dTDA_THC branch August 22, 2023 21:07
obackhouse added a commit to obackhouse/momentGW that referenced this pull request Aug 23, 2023
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.

2 participants