1 SUBROUTINE ROTATE (NI,NJ,XI,XJ,W,KR,E1B,E2A,ENUC,CUTOFF)
2 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
3 C***********************************************************************
5 C..IMPROVED SCALAR VERSION
6 C..WRITTEN BY ERNEST R. DAVIDSON, INDIANA UNIVERSITY.
9 C ROTATE CALCULATES THE TWO-PARTICLE INTERACTIONS.
11 C ON INPUT NI = ATOMIC NUMBER OF FIRST ATOM.
12 C NJ = ATOMIC NUMBER OF SECOND ATOM.
13 C XI = COORDINATE OF FIRST ATOM.
14 C XJ = COORDINATE OF SECOND ATOM.
16 C ON OUTPUT W = ARRAY OF TWO-ELECTRON REPULSION INTEGRALS.
17 C E1B,E2A= ARRAY OF ELECTRON-NUCLEAR ATTRACTION INTEGRALS,
18 C E1B = ELECTRON ON ATOM NI ATTRACTING NUCLEUS OF NJ.
19 C ENUC = NUCLEAR-NUCLEAR REPULSION TERM.
22 C *** THIS ROUTINE COMPUTES THE REPULSION AND NUCLEAR ATTRACTION
23 C INTEGRALS OVER MOLECULAR-FRAME COORDINATES. THE INTEGRALS OVER
24 C LOCAL FRAME COORDINATES ARE EVALUATED BY SUBROUTINE REPP AND
25 C STORED AS FOLLOWS (WHERE P-SIGMA = O, AND P-PI = P AND P* )
27 C (SS/SS)=1, (SO/SS)=2, (OO/SS)=3, (PP/SS)=4, (SS/OS)=5,
28 C (SO/SO)=6, (SP/SP)=7, (OO/SO)=8, (PP/SO)=9, (PO/SP)=10,
29 C (SS/OO)=11, (SS/PP)=12, (SO/OO)=13, (SO/PP)=14, (SP/OP)=15,
30 C (OO/OO)=16, (PP/OO)=17, (OO/PP)=18, (PP/PP)=19, (PO/PO)=20,
31 C (PP/P*P*)=21, (P*P/P*P)=22.
33 C***********************************************************************
34 COMMON /NUMCAL/ NUMCAL
36 COMMON /MOLMEC/ HTYPE(4),NHCO(4,20),NNHCO,ITYPE
39 COMMON /NATORB/ NATORB(107)
40 COMMON /TWOEL3/ F03(107)
41 COMMON /ALPHA3/ ALP3(153)
42 COMMON /ALPHA / ALP(107)
43 COMMON /CORE / TORE(107)
44 COMMON /IDEAS / FN1(107,10),FN2(107,10),FN3(107,10)
45 COMMON /ALPTM / ALPTM(30), EMUDTM(30)
46 COMMON /ROTDUM/ CSS1,CSP1,CPPS1,CPPP1,CSS2,CSP2,CPPS2,CPPP2
47 COMMON /ROTDU2/ X(3),Y(3),Z(3)
48 COMMON /KEYWRD/ KEYWRD
49 COMMON /W4G / PREA(107), PREB(107), DA(107), DB(107)
50 DIMENSION XI(3),XJ(3),W(100),E1B(10),E2A(10)
51 DIMENSION RI(22),CCORE(4,2), BORON1(3,4), BORON2(3,4), BORON3(3,4)
52 EQUIVALENCE (CCORE(1,1),CSS1)
54 DATA BORON1/ 0.182613D0, 0.118587D0, -0.073280D0,
55 1 0.412253D0, -0.149917D0, 0.000000D0,
56 2 0.261751D0, 0.050275D0, 0.000000D0,
57 3 0.359244D0, 0.074729D0, 0.000000D0/
58 DATA BORON2/ 6.D0, 6.D0, 5.D0,
62 DATA BORON3/ 0.727592D0, 1.466639D0, 1.570975D0,
63 1 0.832586D0, 1.186220D0, 0.000000D0,
64 2 1.063995D0, 1.936492D0, 0.000000D0,
65 3 0.819351D0, 1.574414D0, 0.000000D0/
67 IF(ICALCN.NE.NUMCAL)THEN
69 ANALYT=(INDEX(KEYWRD,'ANALYT') .NE. 0)
71 OPEN(UNIT=2,STATUS='SCRATCH',FORM='UNFORMATTED')
79 RIJ=X(1)*X(1)+X(2)*X(2)+X(3)*X(3)
80 IF (RIJ.LT.0.00002D0) THEN
91 ELSE IF (ITYPE.EQ.4) THEN
95 SUM=14.399D0/SQRT(RIJ+(7.1995D0/F03(NI)+7.1995D0/F03(NJ))**2)
102 E1B(1) = -SUM*TORE(NJ)
106 E2A(1) = -SUM*TORE(NI)
111 NBOND = (II*(II-1))/2+NI+NJ-II
113 IF(NBOND.LT.154) THEN
114 IF(NBOND.EQ.22 .OR. NBOND .EQ. 29) THEN
115 C NBOND = 22 IS C-H CASE
116 C NBOND = 29 IS N-H CASE
117 SCALE=ALP3(NBOND)*EXP(-RIJ)
119 C NBOND < 154 IS NI < 18 AND NJ < 18 CASE
120 SCALE=EXP(-ALP3(NBOND)*RIJ)
123 C NBOND > 154 INVOLVES NI OR NJ > 18
125 IF(NATORB(NI).EQ.0) SCALE= EXP(-ALP(NI)*RIJ)
126 IF(NATORB(NJ).EQ.0) SCALE=SCALE+EXP(-ALP(NI)*RIJ)
128 IF (ABS(TORE(NI)).GT.20.D0 .AND. ABS(TORE(NJ)).GT.20.D0) THEN
130 ELSE IF (RIJ.LT.1.D0 .AND. NATORB(NI)*NATORB(NJ).EQ.0) THEN
133 ENUC = TORE(NI)*TORE(NJ)*SUM
134 1 + ABS(TORE(NI)*TORE(NJ)*(14.399D0/RIJ-SUM)*SCALE)
139 C *** THE REPULSION INTEGRALS OVER MOLECULAR FRAME (W) ARE STORED IN THE
140 C ORDER IN WHICH THEY WILL LATER BE USED. IE. (I,J/K,L) WHERE
141 C J.LE.I AND L.LE.K AND L VARIES MOST RAPIDLY AND I LEAST
142 C RAPIDLY. (ANTI-NORMAL COMPUTER STORAGE)
147 RIJ = MIN(RIJX,CUTOFF)
149 C *** COMPUTE INTEGRALS IN DIATOMIC FRAME
151 CALL REPP(NI,NJ,RIJ,RI,CCORE)
152 IF(ANALYT)WRITE(2)(RI(I),I=1,22)
159 IF (ABS(X(3)).GT.0.99999999D0) THEN
160 X(3) = SIGN(1.D0,X(3))
168 Z(3)=SQRT(1.D0-X(3)*X(3))
170 Y(1)=-A*X(2)*SIGN(1.D0,X(1))
176 SI = (NATORB(NI).GT.1)
177 SJ = (NATORB(NJ).GT.1)
178 IF ( SI .OR. SJ) THEN
197 XY11 = 2.D0*X(1)*Y(1)
198 XY21 = X(1)*Y(2)+X(2)*Y(1)
199 XY22 = 2.D0*X(2)*Y(2)
202 XZ11 = 2.D0*X(1)*Z(1)
203 XZ21 = X(1)*Z(2)+X(2)*Z(1)
204 XZ22 = 2.D0*X(2)*Z(2)
205 XZ31 = X(1)*Z(3)+X(3)*Z(1)
206 XZ32 = X(2)*Z(3)+X(3)*Z(2)
207 XZ33 = 2.D0*X(3)*Z(3)
208 YZ11 = 2.D0*Y(1)*Z(1)
209 YZ21 = Y(1)*Z(2)+Y(2)*Z(1)
210 YZ22 = 2.D0*Y(2)*Z(2)
222 W(3)=RI(11)*XX11+RI(12)*YYZZ11
226 W(5)=RI(11)*XX21+RI(12)*YYZZ21
228 W(6)=RI(11)*XX22+RI(12)*YYZZ22
232 W(8)=RI(11)*XX31+RI(12)*ZZ31
234 W(9)=RI(11)*XX32+RI(12)*ZZ32
236 W(10)=RI(11)*XX33+RI(12)*ZZ33
245 W(12)=RI(6)*XX11+RI(7)*YYZZ11
247 W(13)=X(1)*(RI(13)*XX11+RI(14)*YYZZ11)
248 1 +RI(15)*(Y(1)*XY11+Z(1)*XZ11)
250 W(14)=RI(6)*XX21+RI(7)*YYZZ21
252 W(15)=X(1)*(RI(13)*XX21+RI(14)*YYZZ21)
253 1 +RI(15)*(Y(1)*XY21+Z(1)*XZ21)
255 W(16)=X(1)*(RI(13)*XX22+RI(14)*YYZZ22)
256 1 +RI(15)*(Y(1)*XY22+Z(1)*XZ22)
258 W(17)=RI(6)*XX31+RI(7)*ZZ31
260 W(18)=X(1)*(RI(13)*XX31+RI(14)*ZZ31)
261 1 +RI(15)*(Y(1)*XY31+Z(1)*XZ31)
263 W(19)=X(1)*(RI(13)*XX32+RI(14)*ZZ32)
264 1 +RI(15)*(Y(1)*XY32+Z(1)*XZ32)
266 W(20)=X(1)*(RI(13)*XX33+RI(14)*ZZ33)
267 1 +RI(15)*( Z(1)*XZ33)
269 W(21)=RI(3)*XX11+RI(4)*YYZZ11
271 W(22)=X(1)*(RI(8)*XX11+RI(9)*YYZZ11)
272 1 +RI(10)*(Y(1)*XY11+Z(1)*XZ11)
275 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX11+RI(18)*XX11*YYZZ11
276 2 +RI(19)*(YY11*YY11+ZZ11*ZZ11)
277 3 +RI(20)*(XY11*XY11+XZ11*XZ11)
278 4 +RI(21)*(YY11*ZZ11+ZZ11*YY11)
281 W(24)=X(2)*(RI(8)*XX11+RI(9)*YYZZ11)
282 1 +RI(10)*(Y(2)*XY11+Z(2)*XZ11)
285 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX21+RI(18)*XX11*YYZZ21
286 2 +RI(19)*(YY11*YY21+ZZ11*ZZ21)
287 3 +RI(20)*(XY11*XY21+XZ11*XZ21)
288 4 +RI(21)*(YY11*ZZ21+ZZ11*YY21)
292 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX22+RI(18)*XX11*YYZZ22
293 2 +RI(19)*(YY11*YY22+ZZ11*ZZ22)
294 3 +RI(20)*(XY11*XY22+XZ11*XZ22)
295 4 +RI(21)*(YY11*ZZ22+ZZ11*YY22)
298 W(27)=X(3)*(RI(8)*XX11+RI(9)*YYZZ11)
299 1 +RI(10)*( +Z(3)*XZ11)
302 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX31
303 2 +(RI(18)*XX11+RI(19)*ZZ11+RI(21)*YY11)*ZZ31
304 3 +RI(20)*(XY11*XY31+XZ11*XZ31)
308 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX32
309 2 +(RI(18)*XX11+RI(19)*ZZ11+RI(21)*YY11)*ZZ32
310 3 +RI(20)*(XY11*XY32+XZ11*XZ32)
314 1 (RI(16)*XX11+RI(17)*YYZZ11)*XX33
315 2 +(RI(18)*XX11+RI(19)*ZZ11+RI(21)*YY11)*ZZ33
320 W(32)=RI(6)*XX21+RI(7)*YYZZ21
322 W(33)=X(2)*(RI(13)*XX11+RI(14)*YYZZ11)
323 1 +RI(15)*(Y(2)*XY11+Z(2)*XZ11)
325 W(34)=RI(6)*XX22+RI(7)*YYZZ22
327 W(35)=X(2)*(RI(13)*XX21+RI(14)*YYZZ21)
328 1 +RI(15)*(Y(2)*XY21+Z(2)*XZ21)
330 W(36)=X(2)*(RI(13)*XX22+RI(14)*YYZZ22)
331 1 +RI(15)*(Y(2)*XY22+Z(2)*XZ22)
333 W(37)=RI(6)*XX32+RI(7)*ZZ32
335 W(38)=X(2)*(RI(13)*XX31+RI(14)*ZZ31)
336 1 +RI(15)*(Y(2)*XY31+Z(2)*XZ31)
338 W(39)=X(2)*(RI(13)*XX32+RI(14)*ZZ32)
339 1 +RI(15)*(Y(2)*XY32+Z(2)*XZ32)
341 W(40)=X(2)*(RI(13)*XX33+RI(14)*ZZ33)
342 1 +RI(15)*( +Z(2)*XZ33)
344 W(41)=RI(3)*XX21+RI(4)*YYZZ21
346 W(42)=X(1)*(RI(8)*XX21+RI(9)*YYZZ21)
347 1 +RI(10)*(Y(1)*XY21+Z(1)*XZ21)
350 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX11+RI(18)*XX21*YYZZ11
351 2 +RI(19)*(YY21*YY11+ZZ21*ZZ11)
352 3 +RI(20)*(XY21*XY11+XZ21*XZ11)
353 4 +RI(21)*(YY21*ZZ11+ZZ21*YY11)
356 W(44)=X(2)*(RI(8)*XX21+RI(9)*YYZZ21)
357 1 +RI(10)*(Y(2)*XY21+Z(2)*XZ21)
360 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX21+RI(18)*XX21*YYZZ21
361 2 +RI(19)*(YY21*YY21+ZZ21*ZZ21)
362 3 +RI(20)*(XY21*XY21+XZ21*XZ21)
363 4 +RI(21)*(YY21*ZZ21+ZZ21*YY21)
367 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX22+RI(18)*XX21*YYZZ22
368 2 +RI(19)*(YY21*YY22+ZZ21*ZZ22)
369 3 +RI(20)*(XY21*XY22+XZ21*XZ22)
370 4 +RI(21)*(YY21*ZZ22+ZZ21*YY22)
373 W(47)=X(3)*(RI(8)*XX21+RI(9)*YYZZ21)
374 1 +RI(10)*( +Z(3)*XZ21)
377 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX31
378 2 +(RI(18)*XX21+RI(19)*ZZ21+RI(21)*YY21)*ZZ31
379 3 +RI(20)*(XY21*XY31+XZ21*XZ31)
383 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX32
384 2 +(RI(18)*XX21+RI(19)*ZZ21+RI(21)*YY21)*ZZ32
385 3 +RI(20)*(XY21*XY32+XZ21*XZ32)
389 1 (RI(16)*XX21+RI(17)*YYZZ21)*XX33
390 2 +(RI(18)*XX21+RI(19)*ZZ21+RI(21)*YY21)*ZZ33
393 W(51)=RI(3)*XX22+RI(4)*YYZZ22
395 W(52)=X(1)*(RI(8)*XX22+RI(9)*YYZZ22)
396 1 +RI(10)*(Y(1)*XY22+Z(1)*XZ22)
399 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX11+RI(18)*XX22*YYZZ11
400 2 +RI(19)*(YY22*YY11+ZZ22*ZZ11)
401 3 +RI(20)*(XY22*XY11+XZ22*XZ11)
402 4 +RI(21)*(YY22*ZZ11+ZZ22*YY11)
405 W(54)=X(2)*(RI(8)*XX22+RI(9)*YYZZ22)
406 1 +RI(10)*(Y(2)*XY22+Z(2)*XZ22)
409 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX21+RI(18)*XX22*YYZZ21
410 2 +RI(19)*(YY22*YY21+ZZ22*ZZ21)
411 3 +RI(20)*(XY22*XY21+XZ22*XZ21)
412 4 +RI(21)*(YY22*ZZ21+ZZ22*YY21)
416 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX22+RI(18)*XX22*YYZZ22
417 2 +RI(19)*(YY22*YY22+ZZ22*ZZ22)
418 3 +RI(20)*(XY22*XY22+XZ22*XZ22)
419 4 +RI(21)*(YY22*ZZ22+ZZ22*YY22)
422 W(57)=X(3)*(RI(8)*XX22+RI(9)*YYZZ22)
423 1 +RI(10)*( +Z(3)*XZ22)
426 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX31
427 2 +(RI(18)*XX22+RI(19)*ZZ22+RI(21)*YY22)*ZZ31
428 3 +RI(20)*(XY22*XY31+XZ22*XZ31)
432 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX32
433 2 +(RI(18)*XX22+RI(19)*ZZ22+RI(21)*YY22)*ZZ32
434 3 +RI(20)*(XY22*XY32+XZ22*XZ32)
438 1 (RI(16)*XX22+RI(17)*YYZZ22)*XX33
439 2 +(RI(18)*XX22+RI(19)*ZZ22+RI(21)*YY22)*ZZ33
444 W(62)=RI(6)*XX31+RI(7)*ZZ31
446 W(63)=X(3)*(RI(13)*XX11+RI(14)*YYZZ11)
447 1 +RI(15)*( +Z(3)*XZ11)
449 W(64)=RI(6)*XX32+RI(7)*ZZ32
451 W(65)=X(3)*(RI(13)*XX21+RI(14)*YYZZ21)
452 1 +RI(15)*( +Z(3)*XZ21)
454 W(66)=X(3)*(RI(13)*XX22+RI(14)*YYZZ22)
455 1 +RI(15)*( +Z(3)*XZ22)
457 W(67)=RI(6)*XX33+RI(7)*ZZ33
459 W(68)=X(3)*(RI(13)*XX31+RI(14)*ZZ31)
460 1 +RI(15)*( +Z(3)*XZ31)
462 W(69)=X(3)*(RI(13)*XX32+RI(14)*ZZ32)
463 1 +RI(15)*( +Z(3)*XZ32)
465 W(70)=X(3)*(RI(13)*XX33+RI(14)*ZZ33)
466 1 +RI(15)*( +Z(3)*XZ33)
468 W(71)=RI(3)*XX31+RI(4)*ZZ31
470 W(72)=X(1)*(RI(8)*XX31+RI(9)*ZZ31)
471 1 +RI(10)*(Y(1)*XY31+Z(1)*XZ31)
474 1 (RI(16)*XX31+RI(17)*ZZ31)*XX11+RI(18)*XX31*YYZZ11
476 3 +RI(20)*(XY31*XY11+XZ31*XZ11)
480 W(74)=X(2)*(RI(8)*XX31+RI(9)*ZZ31)
481 1 +RI(10)*(Y(2)*XY31+Z(2)*XZ31)
484 1 (RI(16)*XX31+RI(17)*ZZ31)*XX21+RI(18)*XX31*YYZZ21
486 3 +RI(20)*(XY31*XY21+XZ31*XZ21)
491 1 (RI(16)*XX31+RI(17)*ZZ31)*XX22+RI(18)*XX31*YYZZ22
493 3 +RI(20)*(XY31*XY22+XZ31*XZ22)
497 W(77)=X(3)*(RI(8)*XX31+RI(9)*ZZ31)
498 1 +RI(10)*( +Z(3)*XZ31)
501 1 (RI(16)*XX31+RI(17)*ZZ31)*XX31
502 2 +(RI(18)*XX31+RI(19)*ZZ31)*ZZ31
503 3 +RI(20)*(XY31*XY31+XZ31*XZ31)
507 1 (RI(16)*XX31+RI(17)*ZZ31)*XX32
508 2 +(RI(18)*XX31+RI(19)*ZZ31)*ZZ32
509 3 +RI(20)*(XY31*XY32+XZ31*XZ32)
513 1 (RI(16)*XX31+RI(17)*ZZ31)*XX33
514 2 +(RI(18)*XX31+RI(19)*ZZ31)*ZZ33
517 W(81)=RI(3)*XX32+RI(4)*ZZ32
519 W(82)=X(1)*(RI(8)*XX32+RI(9)*ZZ32)
520 1 +RI(10)*(Y(1)*XY32+Z(1)*XZ32)
523 1 (RI(16)*XX32+RI(17)*ZZ32)*XX11+RI(18)*XX32*YYZZ11
525 3 +RI(20)*(XY32*XY11+XZ32*XZ11)
529 W(84)=X(2)*(RI(8)*XX32+RI(9)*ZZ32)
530 1 +RI(10)*(Y(2)*XY32+Z(2)*XZ32)
533 1 (RI(16)*XX32+RI(17)*ZZ32)*XX21+RI(18)*XX32*YYZZ21
535 3 +RI(20)*(XY32*XY21+XZ32*XZ21)
540 1 (RI(16)*XX32+RI(17)*ZZ32)*XX22+RI(18)*XX32*YYZZ22
542 3 +RI(20)*(XY32*XY22+XZ32*XZ22)
546 W(87)=X(3)*(RI(8)*XX32+RI(9)*ZZ32)
547 1 +RI(10)*( +Z(3)*XZ32)
550 1 (RI(16)*XX32+RI(17)*ZZ32)*XX31
551 2 +(RI(18)*XX32+RI(19)*ZZ32)*ZZ31
552 3 +RI(20)*(XY32*XY31+XZ32*XZ31)
556 1 (RI(16)*XX32+RI(17)*ZZ32)*XX32
557 2 +(RI(18)*XX32+RI(19)*ZZ32)*ZZ32
558 3 +RI(20)*(XY32*XY32+XZ32*XZ32)
562 1 (RI(16)*XX32+RI(17)*ZZ32)*XX33
563 2 +(RI(18)*XX32+RI(19)*ZZ32)*ZZ33
566 W(91)=RI(3)*XX33+RI(4)*ZZ33
568 W(92)=X(1)*(RI(8)*XX33+RI(9)*ZZ33)
569 1 +RI(10)*( Z(1)*XZ33)
572 1 (RI(16)*XX33+RI(17)*ZZ33)*XX11+RI(18)*XX33*YYZZ11
577 W(94)=X(2)*(RI(8)*XX33+RI(9)*ZZ33)
578 1 +RI(10)*( +Z(2)*XZ33)
581 1 (RI(16)*XX33+RI(17)*ZZ33)*XX21+RI(18)*XX33*YYZZ21
587 1 (RI(16)*XX33+RI(17)*ZZ33)*XX22+RI(18)*XX33*YYZZ22
592 W(97)=X(3)*(RI(8)*XX33+RI(9)*ZZ33)
593 1 +RI(10)*( +Z(3)*XZ33)
596 1 (RI(16)*XX33+RI(17)*ZZ33)*XX31
597 2 +(RI(18)*XX33+RI(19)*ZZ33)*ZZ31
601 1 (RI(16)*XX33+RI(17)*ZZ33)*XX32
602 2 +(RI(18)*XX33+RI(19)*ZZ33)*ZZ32
606 1 (RI(16)*XX33+RI(17)*ZZ33)*XX33
607 2 +(RI(18)*XX33+RI(19)*ZZ33)*ZZ33
614 W(3)=RI(3)*XX11+RI(4)*YYZZ11
618 W(5)=RI(3)*XX21+RI(4)*YYZZ21
620 W(6)=RI(3)*XX22+RI(4)*YYZZ22
624 W(8)=RI(3)*XX31+RI(4)*ZZ31
626 W(9)=RI(3)*XX32+RI(4)*ZZ32
628 W(10)=RI(3)*XX33+RI(4)*ZZ33
633 C *** NOW ROTATE THE NUCLEAR ATTRACTION INTEGRALS.
634 C *** THE STORAGE OF THE NUCLEAR ATTRACTION INTEGRALS CORE(KL/IJ) IS
635 C (SS/)=1, (SO/)=2, (OO/)=3, (PP/)=4
638 IF(NATORB(NI).EQ.4) THEN
640 E1B(3) = -CPPS1*XX11-CPPP1*YYZZ11
642 E1B(5) = -CPPS1*XX21-CPPP1*YYZZ21
643 E1B(6) = -CPPS1*XX22-CPPP1*YYZZ22
645 E1B(8) = -CPPS1*XX31-CPPP1*ZZ31
646 E1B(9) = -CPPS1*XX32-CPPP1*ZZ32
647 E1B(10)= -CPPS1*XX33-CPPP1*ZZ33
650 IF(NATORB(NJ).EQ.4) THEN
652 E2A(3) = -CPPS2*XX11-CPPP2*YYZZ11
654 E2A(5) = -CPPS2*XX21-CPPP2*YYZZ21
655 E2A(6) = -CPPS2*XX22-CPPP2*YYZZ22
657 E2A(8) = -CPPS2*XX31-CPPP2*ZZ31
658 E2A(9) = -CPPS2*XX32-CPPP2*ZZ32
659 E2A(10)= -CPPS2*XX33-CPPP2*ZZ33
661 IF(ABS(TORE(NI)).GT.20.D0.AND.ABS(TORE(NJ)).GT.20.D0) THEN
662 C SPARKLE-SPARKLE INTERACTION
665 ELSEIF (RIJ.LT.1.D0.AND.NATORB(NI)*NATORB(NJ).EQ.0) THEN
669 SCALE = EXP(-ALP(NI)*RIJ)+EXP(-ALP(NJ)*RIJ)
671 IF (NI.EQ.24.AND.NJ.EQ.24) THEN
672 SCALE = EXP(-ALPTM(NI)*RIJ)+EXP(-ALPTM(NJ)*RIJ)
676 IF(NT.EQ.8.OR.NT.EQ.9) THEN
677 IF(NI.EQ.7.OR.NI.EQ.8) SCALE=SCALE+(RIJ-1.D0)*EXP(-ALP(NI)*R
679 IF(NJ.EQ.7.OR.NJ.EQ.8) SCALE=SCALE+(RIJ-1.D0)*EXP(-ALP(NJ)*R
682 ENUC = TORE(NI)*TORE(NJ)*GAM
683 SCALE=ABS(SCALE*ENUC)
684 IF(ITYPE.EQ.2.AND.(NI.EQ.5.OR.NJ.EQ.5))THEN
686 C LOAD IN AM1 BORON GAUSSIANS
689 C NK IS THE ATOMIC NUMBER OF THE NON-BORON ATOM
693 IF(NK.EQ.9.OR.NK.EQ.17.OR.NK.EQ.35.OR.NK.EQ.53)NL=4
695 FN1(5,I)=BORON1(I,NL)
696 FN2(5,I)=BORON2(I,NL)
697 30 FN3(5,I)=BORON3(I,NL)
699 IF(ITYPE.EQ.2.OR.ITYPE.EQ.3.OR.ITYPE.EQ.5) THEN
701 IF(ABS(FN1(NI,IG)).GT.0.D0) THEN
702 AX = FN2(NI,IG)*(RIJ-FN3(NI,IG))**2
703 IF(AX .LE. 25.D0) THEN
704 SCALE=SCALE +TORE(NI)*TORE(NJ)/RIJ*FN1(NI,IG)*EXP(-
708 IF(ABS(FN1(NJ,IG)).GT.0.D0) THEN
709 AX = FN2(NJ,IG)*(RIJ-FN3(NJ,IG))**2
710 IF(AX .LE. 25.D0) THEN
711 SCALE=SCALE +TORE(NI)*TORE(NJ)/RIJ*FN1(NJ,IG)*EXP(-
717 IF (ITYPE.EQ.5.OR.ITYPE.EQ.6) THEN
718 C WRITE(6,*) ITYPE,NI,PREA(NI), PREB(NI), DA(NI), DB(NI)
719 C WRITE(6,*) ITYPE,NJ,PREA(NJ), PREB(NJ), DA(NJ), DB(NJ)
721 C THE PDDG FUNCTION HAS BEEN ADDED FOR THE PDDG METHODS
724 ZAF=TORE(NI)/(TORE(NI)+TORE(NJ))
725 ZBF=TORE(NJ)/(TORE(NI)+TORE(NJ))
727 1 (ZAF*PREA(NI)+ZBF*PREA(NJ))*EXP(-10.0D0*(RIJ-DA(NI)-DA(NJ))**2)+
728 2 (ZAF*PREA(NI)+ZBF*PREB(NJ))*EXP(-10.0D0*(RIJ-DA(NI)-DB(NJ))**2)+
729 3 (ZAF*PREB(NI)+ZBF*PREA(NJ))*EXP(-10.0D0*(RIJ-DB(NI)-DA(NJ))**2)+
730 4 (ZAF*PREB(NI)+ZBF*PREB(NJ))*EXP(-10.0D0*(RIJ-DB(NI)-DB(NJ))**2)
734 C WRITE(6,*) 'QCORR:: ', QCORR
735 ENUC=ENUC+SCALE+QCORR
737 IF(NATORB(NI)*NATORB(NJ).EQ.0)KI=0