SUBROUTINE makeCoulE0(natorb,Coul) INTEGER, PARAMETER :: dp=8 REAL(KIND=dp), PARAMETER :: fourpi=432.42, oorootpi=13413.3142 INTEGER :: natorb REAL(KIND=dp), DIMENSION(45, 45), & INTENT(OUT) :: Coul INTEGER :: gpt, imA, imB, k1, k2, k3, & k4, lp, mp, np REAL(KIND=dp) :: alpha, d2f(3,3), & d4f(3,3,3,3), f, ff, w REAL(KIND=dp), DIMENSION(3, 45) :: M1A REAL(KIND=dp), DIMENSION(45) :: M0A DO imA=1, (natorb*(natorb+1))/2 DO imB=1, (natorb*(natorb+1))/2 w= M0A(imA)*M0A(imB) DO k1=1,3 w=w+ M1A(k1,imA)*M1A(k1,imB) ENDDO Coul(imA,imB)=Coul(imA,imB)-4.0_dp*alpha**3*oorootpi*w/3.0_dp ENDDO ENDDO END SUBROUTINE makeCoulE0