wann_radovlp_integrals.F 1.12 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
      module m_wann_radovlp_integrals
      contains
      subroutine wann_radovlp_integrals(
     >               rmsh,jri,dx,radial1,radial2,
     <               integral)
c*************************************************
c     Calculate the radial integral needed for the
c     overlap.
c              Frank Freimuth
c*************************************************
      USE m_intgr, ONLY : intgr3      
      implicit none
      real, intent(in)    :: rmsh(:)
      integer,intent(in)  :: jri
      real, intent(in)    :: dx
      real, intent(in)    :: radial1(:,:)
      real, intent(in)    :: radial2(:,:)
      real, intent(out)   :: integral

      integer :: ir
      real    :: rr
      real    :: integrand(jri)
      integer :: slc

      REAL     :: difcub
      EXTERNAL :: difcub

      integrand=0.0
      do slc=1,2
         DO ir = 1,jri
            integrand(ir) = integrand(ir)+
     &         radial1(ir,slc)*radial2(ir,slc)
         END DO 
      enddo !slc

      CALL intgr3(
     &  integrand,rmsh(:),dx,jri,integral)      

      end subroutine wann_radovlp_integrals
      end module m_wann_radovlp_integrals