1 SUBROUTINE IJKL(CP, CF, NELEC, NMOS, DIJKL)
2 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
4 DIMENSION CP(NORBS,NMOS), CF(NORBS,NORBS),
5 1DIJKL(NORBS,NMOS,(NMOS*(NMOS+1))/2)
6 ************************************************************************
8 * IJKL FILLS THE XY ARRAY. XY HOLDS THE TWO-ELECTRON INTEGRALS OVER
9 * MOLECULAR ORBITALS IN THE ACTIVE SPACE.
10 * XY(I,J,K,L) = <IJ|1/R(1,2)|KL>
14 * CP = M.O.'S OVER C.I. ACTIVE SPACE (NORMALLY 1 TO 5 M.O.S)
15 * CF = ALL M.O.'S, INCLUDING THOSE IN CP
16 * NORBS = NUMBER OF ATOMIC ORBITALS
17 * NELEC = NUMBER OF OCCUPIED M.O.S NOT INVOLVED IN THE C.I.
18 * NMOS = NUMBER OF M.O.S INVOLVED IN THE C.I. (NORMALLY 1 TO 5 M.O.S)
19 * ALSO CALLED THE ACTIVE SPACE OF THE C.I.
21 * NOTE: THIS SUBROUTINE IS UNUSUAL IN THAT ONE FUNCTION IS TO
22 * FILL THE ARRAY XY WHICH IS NOT PASSED AS AN ARGUMENT,
23 * INSTEAD IT IS PASSED VIA COMMON BLOCK XYIJKL.
25 ************************************************************************
26 COMMON /MOLKST/ NUMAT,NAT(NUMATM),NFIRST(NUMATM),NMIDLE(NUMATM),
27 1 NLAST(NUMATM), NORBS, NELECS,NALPHA,NBETA,
28 2 NCLOSE,NOPEN,NDUMY,FRACT
29 COMMON /VECTOR/ DUMY1(MORB2+MAXORB), CIJ(10*MAXORB),
30 1WCIJ(10*MAXORB), DUMY(MORB2-19*MAXORB)
31 COMMON /XYIJKL/ XY(NMECI,NMECI,NMECI,NMECI)
32 DIMENSION CKL(10*MAXORB)
34 EQUIVALENCE (CKL, CIJ)
35 DATA NB /1,0,0,10,0,0,0,0,45/
37 C CALCULATE TWO-ELECTRON INTEGRALS FOR THE SET DIJKL(K,L,IJ)
38 C THE INDEX K RUNS OVER ALL M.O.'S, L OVER ACTIVE-SPACE M.O.'S,
39 C AND IJ OVER LOWER-HALF TRIANGLE OF ACTIVE-SPACE M.O.'S, J FASTER THAN
41 C ALL ACTIVE-SPACE INTERACTIONS ARE COPIED INTO THE ARRAY XY
49 DO 10 IP=NFIRST(II),NLAST(II)
50 DO 10 IQ=NFIRST(II),IP
52 10 CIJ(IPQ)=CP(IP,I)*CP(IQ,J)+CP(IP,J)*CP(IQ,I)
54 C CIJ HOLDS THE DENSITY DISTRIBUTION PSI(I)*PSI(J) OVER ATOMIC BASES
55 C I AND J ARE M.O. INDICES WITHIN THE ACTIVE SPACE. CIJ(M,N) IS FOR
56 C THE ATOMIC BASES M AND N FOR M.O.'S I AND J.
58 CALL PARTXY (CIJ,WCIJ)
60 C WCIJ HOLDS THE KET PART OF THE INTEGRAL <K,L|1/R(1,2)|I,J>
61 C THAT IS, |1/R(1,2)|I,J>. WCIJ(M,N) IS FOR THE ATOMIC BASES M AND N
68 C ABOUT TO CALCULATE <I,J|1/R(1,2)|K,L>
72 DO 30 IP=NFIRST(II),NLAST(II)
73 DO 30 IQ=NFIRST(II),IP
75 30 CKL(IPQ)=CF(IP,K)*CP(IQ,L)+CP(IP,L)*CF(IQ,K)
77 C CKL HOLDS THE DENSITY DISTRIBUTION PSI(K)*PSI(L) OVER ATOMIC BASES.
78 C K IS THE INDEX OF A M.O.; L IS AN INDEX OF A M.O. IN THE ACTIVE SPACE.
82 40 SUM=SUM+CKL(II)*WCIJ(II)
84 C SUM IS THE INTEGRAL <I,J|1/R(1,2)|K,L>
91 C NOW SPREAD THE INTEGRALS OVER THE XY ARRAY. XY IS ENTIRELY
97 C K IS A M.O. INDEX IN ACTIVE SPACE