-
Notifications
You must be signed in to change notification settings - Fork 479
SAPT(DFT) External Potential #3257
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
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Jonathon Misiewicz <jpmisiewicz@vt.edu>
|
If you want tests to pass, you'll need to borrow this line from one of Lori's PRs. |
|
Also, please go back and actually fix the merge conflict. The |
I handled the merge conflict in sapt_proc.py; however, I overlooked the .gitignore conflict. Looking back at this branch from your comment, I realized I never cleaned up fisapt.cc to remove debugging related changes, so I have corrected that as well now. |
|
SAPT DFT tests aren't passing. Please fix. |
I have updated the tests and added an explicit test for SAPT(HF) == FISAPT0 for the external potential case ABC. |
Description
The objective of this PR is to enable external potentials to be used for both SAPT(DFT) and SAPT(HF).
User API & Changelog headlines
psi4.energy('sapt(dft)', external_potential=<EXT_POTENTIAL>)and acquire SAPT(HF) and SAPT(DFT) energies in the presence of an external potential.Dev notes & details
scf_helper()external_potential logic to generate and re-use the jk-object to obtain the correct SAPT external potential energies; however, this does not re-use the logic of FISAPT's external potential code. Another ongoing implementation of external potentials in SAPT(DFT) can be found on this branch for long term goals of migrating FI-SAPT functionality into SAPT(DFT).Questions
scf_helper()route of re-using jk-objects? Most of the logic in FISAPT0 that is neglected is for handling FI-SAPT. While FI-SAPT exernal potential setup calls are abstracted to be used for SAPT(DFT) if desired in the future, SAPT(DFT) implements electrostatic embedding through the ExternalPotential class on the python side.Checklist
./tests/pytests/test_saptdft.pywith specificallytest_sapthf_external_potential()corresponding to the FISAPT0 test locatedpsi4/tests/fsapt-ext/input.dat.Status