1      SUBROUTINE GOVER(NI,NJ,XI,XJ,R,SG)
2************************************************************************
3*                                                                      *
4*   GOVER CALCULATES THE OVERLAP INTEGRALS USING A GAUSSIAN EXPANSION  *
5*         STO-6G BY R.F. STEWART, J. CHEM. PHYS., 52 431-438, 1970     *
6*                                                                      *
7*         ON INPUT   NI   =  ATOMIC NUMBER OF FIRST ATOM               *
8*                    NJ   =  ATOMIC NUMBER OF SECOND ATOM              *
9*                    R    =  INTERATOMIC DISTANCE IN ANGSTROMS         *
10*         ON EXIT    S    =  9X9 ARRAY OF OVERLAPS, IN ORDER S,PX,PY,  *
11*                            PZ                                        *
12*                                                                      *
13************************************************************************
14      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
15      INCLUDE 'SIZES'
16      COMMON /NATYPE/ NZTYPE(107), MTYPE(30),LTYPE
17      COMMON /TEMP/  C(60,6), Z(60,6)
18      COMMON /NATORB/ NATORB(107)
19      DIMENSION S(6,6), XI(3),XJ(3), SG(9,9)
20      SAVE NGAUSS
21      DATA NGAUSS/6/
22C
23C    FIND START AND END OF GAUSSIAN
24C
25      IFA=NZTYPE(NI)*4-3
26      IF(C(IFA+1,1).NE.0.D0)THEN
27         ILA=IFA+3
28      ELSE
29         ILA=IFA
30      ENDIF
31      IFB=NZTYPE(NJ)*4-3
32      IF(C(IFB+1,1).NE.0.D0)THEN
33         ILB=IFB+3
34      ELSE
35         ILB=IFB
36      ENDIF
37C
38C  CONVERT R INTO AU
39C
40      R=R/0.529167D0
41      R = R**2
42      KA=0
43      DO 80 I=IFA,ILA
44         KA=KA+1
45         NAT=KA-1
46         KB=0
47         DO 80 J=IFB,ILB
48            KB=KB+1
49            NBT=KB-1
50C
51C         DECIDE IS IT AN S-S, S-P, P-S, OR P-P OVERLAP
52C
53            IF(NAT.GT.0.AND.NBT.GT.0) THEN
54C    P-P
55               IS=4
56               TOMB=(XI(NAT)-XJ(NAT))*(XI(NBT)
57     1-XJ(NBT))*3.5711928576D0
58            ELSEIF(NAT.GT.0) THEN
59C    P-S
60               IS=3
61               TOMB=(XI(NAT)-XJ(NAT))*1.88976D0
62            ELSEIF(NBT.GT.0) THEN
63C    S-P
64               IS=2
65               TOMB=(XI(NBT)-XJ(NBT))*1.88976D0
66            ELSE
67C    S-S
68               IS=1
69            ENDIF
70            DO 60 K=1,NGAUSS
71               DO 60 L=1,NGAUSS
72                  S(K,L)=0.0D0
73                  AMB=Z(I,K)+Z(J,L)
74                  APB=Z(I,K)*Z(J,L)
75                  ADB=APB/AMB
76C
77C           CHECK OF OVERLAP IS NON-ZERO BEFORE STARTING
78C
79                  IF((ADB*R).LT.90.D0) THEN
80                     ABN=1.0D0
81                     GO TO(50,10,20,30),IS
82   10                ABN=2.D0*TOMB*Z(I,K)*SQRT(Z(J,L))/AMB
83                     GO TO 50
84   20                ABN=-2.D0*TOMB*Z(J,L)*SQRT(Z(I,K))/AMB
85                     GO TO 50
86   30                ABN=-ADB*TOMB
87                     IF(NAT.EQ.NBT) ABN=ABN+0.5D0
88   40                ABN=4.0D0*ABN*SQRT(APB)/AMB
89   50                S(K,L)=SQRT((2.D0*SQRT(APB)/AMB)**3)*EXP(-ADB*R)*
90     .                      ABN
91                  ENDIF
92   60       CONTINUE
93            SG(KA,KB)=0.0D0
94            DO 70 K=1,NGAUSS
95               DO 70 L=1,NGAUSS
96   70       SG(KA,KB)=SG(KA,KB)+S(K,L)*C(I,K)*C(J,L)
97   80 CONTINUE
98      RETURN
99      END
100