1 SUBROUTINE REPP(NI,NJ,RIJ,RI,CORE)
2 C***********************************************************************
4 C..VECTOR VERSION WRITTEN BY ERNEST R. DAVIDSON, INDIANA UNIVERSITY
7 C REPP CALCULATES THE TWO-ELECTRON REPULSION INTEGRALS AND THE
8 C NUCLEAR ATTRACTION INTEGRALS.
10 C ON INPUT RIJ = INTERATOMIC DISTANCE
11 C NI = ATOM NUMBER OF FIRST ATOM
12 C NJ = ATOM NUMBER OF SECOND ATOM
13 C (REF) ADD = ARRAY OF GAMMA, OR TWO-ELECTRON ONE-CENTER,
15 C (REF) TORE = ARRAY OF NUCLEAR CHARGES OF THE ELEMENTS
16 C (REF) DD = ARRAY OF DIPOLE CHARGE SEPARATIONS
17 C (REF) QQ = ARRAY OF QUADRUPOLE CHARGE SEPARATIONS
19 C THE COMMON BLOCKS ARE INITIALIZED IN BLOCK-DATA, AND NEVER CHANGED
21 C ON OUTPUT RI = ARRAY OF TWO-ELECTRON REPULSION INTEGRALS
22 C CORE = 4 X 2 ARRAY OF ELECTRON-CORE ATTRACTION
26 C *** THIS ROUTINE COMPUTES THE TWO-CENTRE REPULSION INTEGRALS AND THE
27 C *** NUCLEAR ATTRACTION INTEGRALS.
28 C *** THE TWO-CENTRE REPULSION INTEGRALS (OVER LOCAL COORDINATES) ARE
29 C *** STORED AS FOLLOWS (WHERE P-SIGMA = O, AND P-PI = P AND P* )
30 C (SS/SS)=1, (SO/SS)=2, (OO/SS)=3, (PP/SS)=4, (SS/OS)=5,
31 C (SO/SO)=6, (SP/SP)=7, (OO/SO)=8, (PP/SO)=9, (PO/SP)=10,
32 C (SS/OO)=11, (SS/PP)=12, (SO/OO)=13, (SO/PP)=14, (SP/OP)=15,
33 C (OO/OO)=16, (PP/OO)=17, (OO/PP)=18, (PP/PP)=19, (PO/PO)=20,
34 C (PP/P*P*)=21, (P*P/P*P)=22.
35 C *** THE STORAGE OF THE NUCLEAR ATTRACTION INTEGRALS CORE(KL/IJ) IS
36 C (SS/)=1, (SO/)=2, (OO/)=3, (PP/)=4
37 C WHERE IJ=1 IF THE ORBITALS CENTRED ON ATOM I, =2 IF ON ATOM J.
38 C *** NI AND NJ ARE THE ATOMIC NUMBERS OF THE TWO ELEMENTS.
40 C***********************************************************************
41 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
43 COMMON /MULTIP/ DD(107),QQ(107),ADD(107,3)
44 COMMON /CORE/ TORE(107)
45 COMMON /NATORB/ NATORB(107)
46 DIMENSION RI(22),CORE(4,2)
47 DIMENSION ARG(72),SQR(72)
50 DATA A0/0.529167D0/ ,EV/27.21D0/, EV1/13.605D0/, EV2/6.8025D0/,
51 1 EV3/3.40125D0/, EV4/1.700625D0/
53 C ATOMIC UNITS ARE USED IN THE CALCULATION,
54 C FINAL RESULTS ARE CONVERTED TO EV
58 SI = (NATORB(NI).GE.3)
59 SJ = (NATORB(NJ).GE.3)
61 IF ((.NOT.SI) .AND. (.NOT.SJ)) THEN
63 C HYDROGEN - HYDROGEN (SS/SS)
65 AEE = PP/ADD(NI,1) + PP/ADD(NJ,1)
67 RI(1) = EV/SQRT(R*R+AEE)
68 CORE(1,1 )= TORE(NJ)*RI(1)
69 CORE(1,2) = TORE(NI)*RI(1)
71 ELSE IF (SI .AND. (.NOT.SJ)) THEN
73 C HEAVY ATOM - HYDROGEN
75 AEE = PP/ADD(NI,1) + PP/ADD(NJ,1)
79 ADE = PP/ADD(NI,2) + PP/ADD(NJ,1)
81 AQE = PP/ADD(NI,3) + PP/ADD(NJ,1)
86 ARG(2) = XXX*XXX + ADE
88 ARG(3) = XXX*XXX + ADE
90 ARG(4) = XXX*XXX + AQE
92 ARG(5) = XXX*XXX + AQE
94 ARG(7) = ARG(6) + QA*QA
101 RI(2) = EV1/SQR(2) - EV1/SQR(3)
102 RI(3) = EE + EV2/SQR(4) + EV2/SQR(5) - EV1/SQR(6)
103 RI(4) = EE + EV1/SQR(7) - EV1/SQR(6)
104 CORE(1,1) = TORE(NJ)*RI(1)
105 CORE(1,2) = TORE(NI)*RI(1)
106 CORE(2,1) = TORE(NJ)*RI(2)
107 CORE(3,1) = TORE(NJ)*RI(3)
108 CORE(4,1) = TORE(NJ)*RI(4)
110 ELSE IF ((.NOT.SI).AND.SJ) THEN
112 C HYDROGEN - HEAVY ATOM
114 AEE = PP/ADD(NI,1) + PP/ADD(NJ,1)
118 AED = PP/ADD(NI,1) + PP/ADD(NJ,2)
120 AEQ = PP/ADD(NI,1) + PP/ADD(NJ,3)
125 ARG(2) = XXX*XXX + AED
127 ARG(3) = XXX*XXX + AED
129 ARG(4) = XXX*XXX + AEQ
131 ARG(5) = XXX*XXX + AEQ
133 ARG(7) = ARG(6) + QB*QB
136 SQR(I) = SQRT(ARG(I))
140 RI(5) = EV1/SQR(2) - EV1/SQR(3)
141 RI(11) = EE + EV2/SQR(4) + EV2/SQR(5) - EV1/SQR(6)
142 RI(12) = EE + EV1/SQR(7) - EV1/SQR(6)
143 CORE(1,1) = TORE(NJ)*RI(1)
144 CORE(1,2) = TORE(NI)*RI(1)
145 CORE(2,2) = TORE(NI)*RI(5)
146 CORE(3,2) = TORE(NI)*RI(11)
147 CORE(4,2) = TORE(NI)*RI(12)
151 C HEAVY ATOM - HEAVY ATOM
153 C DEFINE CHARGE SEPARATIONS.
159 AEE = PP/ADD(NI,1) + PP/ADD(NJ,1)
162 ADE = PP/ADD(NI,2) + PP/ADD(NJ,1)
164 AQE = PP/ADD(NI,3) + PP/ADD(NJ,1)
166 AED = PP/ADD(NI,1) + PP/ADD(NJ,2)
168 AEQ = PP/ADD(NI,1) + PP/ADD(NJ,3)
170 AXX = PP/ADD(NI,2) + PP/ADD(NJ,2)
172 ADQ = PP/ADD(NI,2) + PP/ADD(NJ,3)
174 AQD = PP/ADD(NI,3) + PP/ADD(NJ,2)
176 AQQ = PP/ADD(NI,3) + PP/ADD(NJ,3)
181 ARG(2) = XXX * XXX + ADE
183 ARG(3) = XXX*XXX + ADE
185 ARG(4) = XXX*XXX + AQE
187 ARG(5) = XXX*XXX + AQE
189 ARG(7) = ARG(6) + QA*QA
191 ARG(8) = XXX*XXX + AED
193 ARG(9) = XXX*XXX + AED
195 ARG(10) = XXX*XXX + AEQ
197 ARG(11) = XXX*XXX + AEQ
199 ARG(13) = ARG(12) + QB*QB
201 ARG(14) = RSQ + AXX + XXX*XXX
203 ARG(15) = RSQ + AXX + XXX*XXX
205 ARG(16) = XXX*XXX + AXX
207 ARG(17) = XXX*XXX + AXX
209 ARG(18) = XXX*XXX + AXX
211 ARG(19) = XXX*XXX + AXX
213 ARG(20) = XXX*XXX + ADQ
214 ARG(21) = ARG(20) + QB*QB
216 ARG(22) = XXX*XXX + ADQ
217 ARG(23) = ARG(22) + QB*QB
219 ARG(24) = XXX*XXX + AQD
220 ARG(25) = ARG(24) + QA*QA
222 ARG(26) = XXX*XXX + AQD
223 ARG(27) = ARG(26) + QA*QA
225 ARG(28) = XXX*XXX + ADQ
227 ARG(29) = XXX*XXX + ADQ
229 ARG(30) = XXX*XXX + ADQ
231 ARG(31) = XXX*XXX + ADQ
233 ARG(32) = XXX*XXX + AQD
235 ARG(33) = XXX*XXX + AQD
237 ARG(34) = XXX*XXX + AQD
239 ARG(35) = XXX*XXX + AQD
242 ARG(37) = ARG(36) + XXX*XXX
244 ARG(38) = ARG(36) + XXX*XXX
245 ARG(39) = ARG(36) + QA*QA
246 ARG(40) = ARG(36) + QB*QB
247 ARG(41) = ARG(39) + QB*QB
249 ARG(42) = XXX*XXX + AQQ
250 ARG(43) = ARG(42) + QA*QA
252 ARG(44) = XXX*XXX + AQQ
253 ARG(45) = ARG(44) + QA*QA
255 ARG(46) = XXX*XXX + AQQ
256 ARG(47) = ARG(46) + QB*QB
258 ARG(48) = XXX*XXX + AQQ
259 ARG(49) = ARG(48) + QB*QB
261 ARG(50) = XXX*XXX + AQQ
263 ARG(51) = XXX*XXX + AQQ
265 ARG(52) = XXX*XXX + AQQ
267 ARG(53) = XXX*XXX + AQQ
278 ARG(54) = XXX + YYY + ADQ
279 ARG(55) = XXX + WWW + ADQ
280 ARG(56) = ZZZ + YYY + ADQ
281 ARG(57) = ZZZ + WWW + ADQ
290 ARG(58) = ZZZ + XXX + AQD
291 ARG(59) = WWW + XXX + AQD
292 ARG(60) = ZZZ + YYY + AQD
293 ARG(61) = WWW + YYY + AQD
296 ARG(62) = ARG(36) + TD*XXX
299 ARG(63) = ARG(36) + TD*YYY
300 ARG(64) = ARG(36) + TD*(QA*QA+QB*QB)
303 ARG(65) = ZZZ + XXX + AQQ
304 ARG(66) = ZZZ + YYY + AQQ
307 ARG(67) = ZZZ + XXX + AQQ
308 ARG(68) = ZZZ + YYY + AQQ
311 ARG(69) = ZZZ + XXX + AQQ
312 ARG(70) = ZZZ + YYY + AQQ
315 ARG(71) = ZZZ + XXX + AQQ
316 ARG(72) = ZZZ + YYY + AQQ
318 SQR(I) = SQRT(ARG(I))
321 DZE = -EV1/SQR(2) + EV1/SQR(3)
322 QZZE = EV2/SQR(4) + EV2/SQR(5) - EV1/SQR(6)
323 QXXE = EV1/SQR(7) - EV1/SQR(6)
324 EDZ = - EV1/SQR(8) + EV1/SQR(9)
325 EQZZ = EV2/SQR(10) + EV2/SQR(11) - EV1/SQR(12)
326 EQXX = EV1/SQR(13) - EV1/SQR(12)
327 DXDX = EV1/SQR(14) - EV1/SQR(15)
328 DZDZ = EV2/SQR(16) + EV2/SQR(17) - EV2/SQR(18) - EV2/SQR(19)
329 DZQXX = EV2/SQR(20) - EV2/SQR(21) - EV2/SQR(22) + EV2/SQR(23)
330 QXXDZ = EV2/SQR(24) - EV2/SQR(25) - EV2/SQR(26) + EV2/SQR(27)
331 DZQZZ = -EV3/SQR(28) + EV3/SQR(29) - EV3/SQR(30) + EV3/SQR(31)
332 1 - EV2/SQR(22) + EV2/SQR(20)
333 QZZDZ = -EV3/SQR(32) + EV3/SQR(33) - EV3/SQR(34) + EV3/SQR(35)
334 1 + EV2/SQR(24) - EV2/SQR(26)
335 QXXQXX = EV3/SQR(37) + EV3/SQR(38) - EV2/SQR(39) - EV2/SQR(40)
337 QXXQYY = EV2/SQR(41) - EV2/SQR(39) - EV2/SQR(40) + EV2/SQR(36)
338 QXXQZZ = EV3/SQR(43) + EV3/SQR(45) - EV3/SQR(42) - EV3/SQR(44)
339 1 - EV2/SQR(39) + EV2/SQR(36)
340 QZZQXX = EV3/SQR(47) + EV3/SQR(49) - EV3/SQR(46) - EV3/SQR(48)
341 1 - EV2/SQR(40) + EV2/SQR(36)
342 QZZQZZ = EV4/SQR(50) + EV4/SQR(51) + EV4/SQR(52) + EV4/SQR(53)
343 1 - EV3/SQR(48) - EV3/SQR(46) - EV3/SQR(42) - EV3/SQR(44)
345 DXQXZ = -EV2/SQR(54) + EV2/SQR(55) + EV2/SQR(56) - EV2/SQR(57)
346 QXZDX = -EV2/SQR(58) + EV2/SQR(59) + EV2/SQR(60) - EV2/SQR(61)
347 QXZQXZ = EV3/SQR(65) - EV3/SQR(67) - EV3/SQR(69) + EV3/SQR(71)
348 1 - EV3/SQR(66) + EV3/SQR(68) + EV3/SQR(70) - EV3/SQR(72)
364 RI(16) = EE +EQZZ +QZZE +QZZQZZ
365 RI(17) = EE +EQZZ +QXXE +QXXQZZ
366 RI(18) = EE +EQXX +QZZE +QZZQXX
367 RI(19) = EE +EQXX +QXXE +QXXQXX
369 RI(21) = EE +EQXX +QXXE +QXXQYY
370 RI(22) = PP * (QXXQXX -QXXQYY)
372 C CALCULATE CORE-ELECTRON ATTRACTIONS.
374 CORE(1,1) = TORE(NJ)*RI(1)
375 CORE(2,1) = TORE(NJ)*RI(2)
376 CORE(3,1) = TORE(NJ)*RI(3)
377 CORE(4,1) = TORE(NJ)*RI(4)
378 CORE(1,2) = TORE(NI)*RI(1)
379 CORE(2,2) = TORE(NI)*RI(5)
380 CORE(3,2) = TORE(NI)*RI(11)
381 CORE(4,2) = TORE(NI)*RI(12)