Constructing molecular integrals with derivative on the r_inv operator by partial integration
In quantum chemstry integrals of the following form are sometimes needed:
Fa=⟨ϕi|∇ar−1|ϕj⟩But these integrals are often not directly available.
What instead is available is integrals of the form:
fa=⟨∇aϕi|r−1|ϕj⟩ fa,b=⟨∇aϕi|r−1|∇bϕj⟩Let us therefore trb to formulate Fa in terms of fa and fa,b. Now switching the integral notation to the more “regular” notation:
Fa=∫Ωϕiϕj∇ar−1drDoing integration by parts:
Fa=[ϕiϕj∇a−1r−1]∂Ω−∫Ω∇(ϕiϕj)∇a−1r−1drThe wave function goes to zero at infinity, therefore the first term is zero:
Fa=−∫Ω∇ϕiϕj∇a−1r−1dr−∫Ωϕi∇ϕj∇a−1r−1drDoing integration by parts again:
Fa=−([∇ϕiϕj∇a−2r−1]∂Ω−∫Ω∇(∇ϕiϕj)∇a−2r−1dr)−([ϕi∇ϕj∇a−2r−1]∂Ω−∫Ω∇(ϕi∇ϕj)∇a−2r−1dr)The wave function goes to zero at infinity, therefore the first term is zero:
Fa=−(−∫Ω∇2ϕiϕj∇a−2r−1dr−∫Ω∇ϕi∇ϕj∇a−2r−1dr)−(−∫Ω∇ϕi∇ϕj∇a−2r−1dr−∫Ωϕi∇2ϕj∇a−2r−1dr)Simplifying:
Fa=∫Ω∇2ϕiϕj∇a−2r−1dr+∫Ωϕi∇2ϕj∇a−2r−1dr+2∫Ω∇ϕi∇ϕj∇a−2r−1drWe therefore now have:
F1=⟨ϕi|∇r−1|ϕj⟩=−∫Ω∇ϕiϕjr−1dr−∫Ωϕi∇ϕjr−1drand,
F2=⟨ϕi|∇2r−1|ϕj⟩=∫Ω∇2ϕiϕjr−1dr+∫Ωϕi∇2ϕjr−1dr+2∫Ω∇ϕi∇ϕjr−1drI.e. the integrals have been constructed without taking the derivative of r−1. How to use these formulas with integrals available from PySCF can be seen here. If hihger derivatives are needed, simply just do partial integration again.
If you enjoyed this post you can donate a coffee , if you like :)