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

Add nuclear gradient functions #164

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Conversation

msricher
Copy link
Contributor

@msricher msricher commented Jan 24, 2024

This PR adds nuclear gradients for the overlap integrals, the core Hamiltonian ($\hat{T} + \hat{V}_{ne}$) integrals, and the electron repulsion integrals, in the AO basis.

I based this on pyscf pyscf/grad/rhf.py, although that code is for an optimized Hartree-Fock wave function (in the MO basis). Once I am able to test these, the code will be ready to merge.

Checklist

  • Write a good description of what the PR does.
  • Add tests for each unit of code added (e.g. function, class)
  • Update documentation
  • Squash commits that can be grouped together
  • Rebase onto master

Type of Changes

Type
✨ New feature

@PaulWAyers
Copy link
Member

I would start by adding a test for Cartesian Gaussian primitives. When you take the derivative of a Gaussian primitive with respect to its nuclear coordinate, you pull down a multiplicative factor of $-\alpha | \mathbf{r} - \mathbf{R}_A|$, so each component of the gradient has an extra factor of the corresponding Cartesian dimension. That's an easy test.

The contracted Gaussian functions are similar (just a sum over primitive contributions.

The final bit is the AO -> MO transformation which can be tested vs PYSCF I think.

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