mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 19:43:32 +01:00
24 lines
870 B
Fortran
24 lines
870 B
Fortran
double precision function coul_full_pq_r_1s(p,q,R,R_p,R_q)
|
|
implicit none
|
|
BEGIN_DOC
|
|
! coul_full_pq_r_1s(p,q,r) = \int d^3r phi_p(r) phi_q(r) 1/(r-R)
|
|
!
|
|
! where phi_q and phi_p are centered in R_q and R_p.
|
|
!
|
|
! WARNING :: works only for purely 1s extra basis !!
|
|
END_DOC
|
|
double precision, intent(in) :: R(3),R_p(3),R_q(3)
|
|
integer, intent(in) :: p,q
|
|
double precision :: coef,dist,P_pq(3),coefaos
|
|
coefaos= ao_extra_coef_normalized(p,1) * ao_extra_coef_normalized(q,1)
|
|
coef = inv_pi_gamma_pq_3_2_ao_extra(p,q) * E_pq_ao_extra(p,q)
|
|
P_pq = ao_extra_expo(p,1) * R_p + ao_extra_expo(q,1) * R_q
|
|
P_pq = P_pq * inv_gamma_pq_ao_extra(q,p)
|
|
dist = (P_pq(1)-R(1)) * (P_pq(1)-R(1))
|
|
dist+= (P_pq(2)-R(2)) * (P_pq(2)-R(2))
|
|
dist+= (P_pq(3)-R(3)) * (P_pq(3)-R(3))
|
|
dist = dsqrt(dist)
|
|
coul_full_pq_r_1s = coefaos * coef * derf(sqrt_gamma_pq_ao_extra(q,p) * dist)/dist
|
|
|
|
end
|