102 SUBROUTINE overlap3(la_max_set, npgfa, zeta, rpgfa, la_min_set, &
103 lb_max_set, npgfb, zetb, rpgfb, lb_min_set, &
104 lc_max_set, npgfc, zetc, rpgfc, lc_min_set, &
105 rab, dab, rac, dac, rbc, dbc, sabc, &
106 sdabc, sabdc, int_abc_ext)
108 INTEGER,
INTENT(IN) :: la_max_set, npgfa
109 REAL(kind=
dp),
DIMENSION(:),
INTENT(IN) :: zeta, rpgfa
110 INTEGER,
INTENT(IN) :: la_min_set, lb_max_set, npgfb
111 REAL(kind=
dp),
DIMENSION(:),
INTENT(IN) :: zetb, rpgfb
112 INTEGER,
INTENT(IN) :: lb_min_set, lc_max_set, npgfc
113 REAL(kind=
dp),
DIMENSION(:),
INTENT(IN) :: zetc, rpgfc
114 INTEGER,
INTENT(IN) :: lc_min_set
115 REAL(kind=
dp),
DIMENSION(3),
INTENT(IN) :: rab
116 REAL(kind=
dp),
INTENT(IN) :: dab
117 REAL(kind=
dp),
DIMENSION(3),
INTENT(IN) :: rac
118 REAL(kind=
dp),
INTENT(IN) :: dac
119 REAL(kind=
dp),
DIMENSION(3),
INTENT(IN) :: rbc
120 REAL(kind=
dp),
INTENT(IN) :: dbc
121 REAL(kind=
dp),
DIMENSION(:, :, :),
INTENT(INOUT) :: sabc
122 REAL(kind=
dp),
DIMENSION(:, :, :, :), &
123 INTENT(INOUT),
OPTIONAL :: sdabc, sabdc
124 REAL(
dp),
INTENT(OUT),
OPTIONAL :: int_abc_ext
126 CHARACTER(len=*),
PARAMETER :: routinen =
'overlap3'
128 INTEGER :: ax, ay, az, bx, by, bz, coa, coax, coay, coaz, coc, cocx, cocy, cocz, cx, cy, cz, &
129 handle, i, ipgf, j, jpgf, k, kpgf, l, la, la_max, la_min, la_start, lai, lb, lb_max, &
130 lb_min, lc, lc_max, lc_min, lci, na, nb, nc, nda, ndc
131 REAL(kind=
dp) :: f0, f1, f2, f3, fcx, fcy, fcz, fx, fy, &
133 REAL(kind=
dp),
DIMENSION(3) :: rag, rbg, rcg, rcp
134 REAL(kind=
dp),
DIMENSION(:, :, :),
POINTER :: s
135 REAL(kind=
dp),
DIMENSION(:, :, :, :),
POINTER :: sda, sdc
139 CALL timeset(routinen, handle)
141 NULLIFY (s, sda, sdc)
146 IF (
PRESENT(sdabc)) lai = 1
147 IF (
PRESENT(sabdc)) lci = 1
149 la_max = la_max_set + lai
150 la_min = max(0, la_min_set - lai)
153 lc_max = lc_max_set + lci
154 lc_min = max(0, lc_min_set - lci)
158 IF (
PRESENT(sdabc))
THEN
162 IF (
PRESENT(sabdc))
THEN
166 IF (
PRESENT(int_abc_ext))
THEN
180 IF (rpgfa(ipgf) + rpgfb(jpgf) < dab)
THEN
181 sabc(na + 1:na +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
182 1:npgfc*
ncoset(lc_max_set)) = 0.0_dp
183 IF (
PRESENT(sdabc))
THEN
184 sdabc(nda + 1:nda +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
185 1:npgfc*
ncoset(lc_max_set), 1:3) = 0.0_dp
187 IF (
PRESENT(sabdc))
THEN
188 sabdc(na + 1:na +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
189 1:npgfc*
ncoset(lc_max_set), 1:3) = 0.0_dp
191 nb = nb +
ncoset(lb_max_set)
200 IF ((rpgfb(jpgf) + rpgfc(kpgf) < dbc) .OR. &
201 (rpgfa(ipgf) + rpgfc(kpgf) < dac))
THEN
202 sabc(na + 1:na +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
203 nc + 1:nc +
ncoset(lc_max_set)) = 0.0_dp
204 IF (
PRESENT(sdabc))
THEN
205 sdabc(nda + 1:nda +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
206 nc + 1:nc +
ncoset(lc_max_set), 1:3) = 0.0_dp
208 IF (
PRESENT(sabdc))
THEN
209 sabdc(na + 1:na +
ncoset(la_max_set), nb + 1:nb +
ncoset(lb_max_set), &
210 ndc + 1:ndc +
ncoset(lc_max_set), 1:3) = 0.0_dp
212 nc = nc +
ncoset(lc_max_set)
213 ndc = ndc +
ncoset(lc_max_set)
218 zetg = 1.0_dp/(zeta(ipgf) + zetb(jpgf) + zetc(kpgf))
219 zetp = 1.0_dp/(zeta(ipgf) + zetb(jpgf))
220 f0 = (
pi*zetg)**1.5_dp
223 rcp(:) = f1*rab(:) - rac(:)
224 rcp2 = rcp(1)*rcp(1) + rcp(2)*rcp(2) + rcp(3)*rcp(3)
227 s(1, 1, 1) = f0*exp(-(zeta(ipgf)*f1*dab*dab + zetc(kpgf)*zetg*rcp2/zetp))
235 rag(:) = zetg*(zetb(jpgf)*rab(:) + zetc(kpgf)*rac(:))
239 s(2, 1, 1) = rag(1)*s(1, 1, 1)
240 s(3, 1, 1) = rag(2)*s(1, 1, 1)
241 s(4, 1, 1) = rag(3)*s(1, 1, 1)
249 s(
coset(0, 0, la), 1, 1) = rag(3)*s(
coset(0, 0, la - 1), 1, 1) + &
250 f2*real(la - 1,
dp)*s(
coset(0, 0, la - 2), 1, 1)
255 s(
coset(0, 1, az), 1, 1) = rag(2)*s(
coset(0, 0, az), 1, 1)
259 s(
coset(0, ay, az), 1, 1) = rag(2)*s(
coset(0, ay - 1, az), 1, 1) + &
260 f2*real(ay - 1,
dp)*s(
coset(0, ay - 2, az), 1, 1)
267 s(
coset(1, ay, az), 1, 1) = rag(1)*s(
coset(0, ay, az), 1, 1)
271 f3 = f2*real(ax - 1,
dp)
274 s(
coset(ax, ay, az), 1, 1) = rag(1)*s(
coset(ax - 1, ay, az), 1, 1) + &
275 f3*s(
coset(ax - 2, ay, az), 1, 1)
287 rbg(:) = rag(:) - rab(:)
291 IF (lb_max == 1)
THEN
294 la_start = max(0, la_min - 1)
297 DO la = la_start, la_max - 1
301 coa =
coset(ax, ay, az)
302 coax =
coset(ax + 1, ay, az)
303 coay =
coset(ax, ay + 1, az)
304 coaz =
coset(ax, ay, az + 1)
305 s(
coset(ax, ay, az), 2, 1) = s(coax, 1, 1) - rab(1)*s(coa, 1, 1)
306 s(
coset(ax, ay, az), 3, 1) = s(coay, 1, 1) - rab(2)*s(coa, 1, 1)
307 s(
coset(ax, ay, az), 4, 1) = s(coaz, 1, 1) - rab(3)*s(coa, 1, 1)
318 DO ay = 0, la_max - ax
320 az = la_max - ax - ay
322 coa =
coset(ax, ay, az)
324 s(coa, 2, 1) = rbg(1)*s(coa, 1, 1)
326 s(coa, 2, 1) = rbg(1)*s(coa, 1, 1) + fx*s(
coset(ax - 1, ay, az), 1, 1)
329 s(coa, 3, 1) = rbg(2)*s(coa, 1, 1)
331 s(coa, 3, 1) = rbg(2)*s(coa, 1, 1) + fy*s(
coset(ax, ay - 1, az), 1, 1)
334 s(coa, 4, 1) = rbg(3)*s(coa, 1, 1)
336 s(coa, 4, 1) = rbg(3)*s(coa, 1, 1) + fz*s(
coset(ax, ay, az - 1), 1, 1)
349 IF (lb == lb_max)
THEN
352 la_start = max(0, la_min - 1)
355 DO la = la_start, la_max - 1
360 coa =
coset(ax, ay, az)
361 coax =
coset(ax + 1, ay, az)
362 coay =
coset(ax, ay + 1, az)
363 coaz =
coset(ax, ay, az + 1)
367 s(coa,
coset(0, 0, lb), 1) = &
368 s(coaz,
coset(0, 0, lb - 1), 1) - &
369 rab(3)*s(coa,
coset(0, 0, lb - 1), 1)
375 s(coa,
coset(0, by, bz), 1) = &
376 s(coay,
coset(0, by - 1, bz), 1) - &
377 rab(2)*s(coa,
coset(0, by - 1, bz), 1)
385 s(coa,
coset(bx, by, bz), 1) = &
386 s(coax,
coset(bx - 1, by, bz), 1) - &
387 rab(1)*s(coa,
coset(bx - 1, by, bz), 1)
403 DO ay = 0, la_max - ax
405 az = la_max - ax - ay
408 coa =
coset(ax, ay, az)
410 f3 = f2*real(lb - 1,
dp)
415 s(coa,
coset(0, 0, lb), 1) = &
416 rbg(3)*s(coa,
coset(0, 0, lb - 1), 1) + &
417 f3*s(coa,
coset(0, 0, lb - 2), 1)
419 coaz =
coset(ax, ay, az - 1)
420 s(coa,
coset(0, 0, lb), 1) = &
421 rbg(3)*s(coa,
coset(0, 0, lb - 1), 1) + &
422 fz*s(coaz,
coset(0, 0, lb - 1), 1) + &
423 f3*s(coa,
coset(0, 0, lb - 2), 1)
430 s(coa,
coset(0, 1, bz), 1) = &
431 rbg(2)*s(coa,
coset(0, 0, bz), 1)
434 f3 = f2*real(by - 1,
dp)
435 s(coa,
coset(0, by, bz), 1) = &
436 rbg(2)*s(coa,
coset(0, by - 1, bz), 1) + &
437 f3*s(coa,
coset(0, by - 2, bz), 1)
440 coay =
coset(ax, ay - 1, az)
442 s(coa,
coset(0, 1, bz), 1) = &
443 rbg(2)*s(coa,
coset(0, 0, bz), 1) + &
444 fy*s(coay,
coset(0, 0, bz), 1)
447 f3 = f2*real(by - 1,
dp)
448 s(coa,
coset(0, by, bz), 1) = &
449 rbg(2)*s(coa,
coset(0, by - 1, bz), 1) + &
450 fy*s(coay,
coset(0, by - 1, bz), 1) + &
451 f3*s(coa,
coset(0, by - 2, bz), 1)
460 s(coa,
coset(1, by, bz), 1) = &
461 rbg(1)*s(coa,
coset(0, by, bz), 1)
464 f3 = f2*real(bx - 1,
dp)
467 s(coa,
coset(bx, by, bz), 1) = &
468 rbg(1)*s(coa,
coset(bx - 1, by, bz), 1) + &
469 f3*s(coa,
coset(bx - 2, by, bz), 1)
473 coax =
coset(ax - 1, ay, az)
476 s(coa,
coset(1, by, bz), 1) = &
477 rbg(1)*s(coa,
coset(0, by, bz), 1) + &
478 fx*s(coax,
coset(0, by, bz), 1)
481 f3 = f2*real(bx - 1,
dp)
484 s(coa,
coset(bx, by, bz), 1) = &
485 rbg(1)*s(coa,
coset(bx - 1, by, bz), 1) + &
486 fx*s(coax,
coset(bx - 1, by, bz), 1) + &
487 f3*s(coa,
coset(bx - 2, by, bz), 1)
505 rbg(:) = -zetg*(zeta(ipgf)*rab(:) - zetc(kpgf)*rbc(:))
509 s(1, 2, 1) = rbg(1)*s(1, 1, 1)
510 s(1, 3, 1) = rbg(2)*s(1, 1, 1)
511 s(1, 4, 1) = rbg(3)*s(1, 1, 1)
519 s(1,
coset(0, 0, lb), 1) = rbg(3)*s(1,
coset(0, 0, lb - 1), 1) + &
520 f2*real(lb - 1,
dp)*s(1,
coset(0, 0, lb - 2), 1)
525 s(1,
coset(0, 1, bz), 1) = rbg(2)*s(1,
coset(0, 0, bz), 1)
529 s(1,
coset(0, by, bz), 1) = &
530 rbg(2)*s(1,
coset(0, by - 1, bz), 1) + &
531 f2*real(by - 1,
dp)*s(1,
coset(0, by - 2, bz), 1)
538 s(1,
coset(1, by, bz), 1) = rbg(1)*s(1,
coset(0, by, bz), 1)
542 f3 = f2*real(bx - 1,
dp)
545 s(1,
coset(bx, by, bz), 1) = rbg(1)*s(1,
coset(bx - 1, by, bz), 1) + &
546 f3*s(1,
coset(bx - 2, by, bz), 1)
562 rcg(:) = -zetg*(zeta(ipgf)*rac(:) + zetb(jpgf)*rbc(:))
566 s(1, 1, 2) = rcg(1)*s(1, 1, 1)
567 s(1, 1, 3) = rcg(2)*s(1, 1, 1)
568 s(1, 1, 4) = rcg(3)*s(1, 1, 1)
576 s(1, 1,
coset(0, 0, lc)) = rcg(3)*s(1, 1,
coset(0, 0, lc - 1)) + &
577 f2*real(lc - 1,
dp)*s(1, 1,
coset(0, 0, lc - 2))
582 s(1, 1,
coset(0, 1, cz)) = rcg(2)*s(1, 1,
coset(0, 0, cz))
586 s(1, 1,
coset(0, cy, cz)) = rcg(2)*s(1, 1,
coset(0, cy - 1, cz)) + &
587 f2*real(cy - 1,
dp)*s(1, 1,
coset(0, cy - 2, cz))
594 s(1, 1,
coset(1, cy, cz)) = rcg(1)*s(1, 1,
coset(0, cy, cz))
598 f3 = f2*real(cx - 1,
dp)
601 s(1, 1,
coset(cx, cy, cz)) = rcg(1)*s(1, 1,
coset(cx - 1, cy, cz)) + &
602 f3*s(1, 1,
coset(cx - 2, cy, cz))
616 coc =
coset(cx, cy, cz)
617 cocx =
coset(max(0, cx - 1), cy, cz)
618 cocy =
coset(cx, max(0, cy - 1), cz)
619 cocz =
coset(cx, cy, max(0, cz - 1))
621 fcx = f2*real(cx,
dp)
622 fcy = f2*real(cy,
dp)
623 fcz = f2*real(cz,
dp)
631 rag(:) = rcg(:) + rac(:)
635 s(2, 1, coc) = rag(1)*s(1, 1, coc) + fcx*s(1, 1, cocx)
636 s(3, 1, coc) = rag(2)*s(1, 1, coc) + fcy*s(1, 1, cocy)
637 s(4, 1, coc) = rag(3)*s(1, 1, coc) + fcz*s(1, 1, cocz)
647 s(
coset(0, 0, la), 1, coc) = &
648 rag(3)*s(
coset(0, 0, la - 1), 1, coc) + &
649 f2*real(la - 1,
dp)*s(
coset(0, 0, la - 2), 1, coc) + &
650 fcz*s(
coset(0, 0, la - 1), 1, cocz)
655 s(
coset(0, 1, az), 1, coc) = &
656 rag(2)*s(
coset(0, 0, az), 1, coc) + &
657 fcy*s(
coset(0, 0, az), 1, cocy)
661 s(
coset(0, ay, az), 1, coc) = &
662 rag(2)*s(
coset(0, ay - 1, az), 1, coc) + &
663 f2*real(ay - 1,
dp)*s(
coset(0, ay - 2, az), 1, coc) + &
664 fcy*s(
coset(0, ay - 1, az), 1, cocy)
671 s(
coset(1, ay, az), 1, coc) = &
672 rag(1)*s(
coset(0, ay, az), 1, coc) + &
673 fcx*s(
coset(0, ay, az), 1, cocx)
677 f3 = f2*real(ax - 1,
dp)
680 s(
coset(ax, ay, az), 1, coc) = &
681 rag(1)*s(
coset(ax - 1, ay, az), 1, coc) + &
682 f3*s(
coset(ax - 2, ay, az), 1, coc) + &
683 fcx*s(
coset(ax - 1, ay, az), 1, cocx)
695 rbg(:) = rag(:) - rab(:)
699 IF (lb_max == 1)
THEN
702 la_start = max(0, la_min - 1)
705 DO la = la_start, la_max - 1
709 coa =
coset(ax, ay, az)
710 coax =
coset(ax + 1, ay, az)
711 coay =
coset(ax, ay + 1, az)
712 coaz =
coset(ax, ay, az + 1)
713 s(coa, 2, coc) = s(coax, 1, coc) - rab(1)*s(coa, 1, coc)
714 s(coa, 3, coc) = s(coay, 1, coc) - rab(2)*s(coa, 1, coc)
715 s(coa, 4, coc) = s(coaz, 1, coc) - rab(3)*s(coa, 1, coc)
728 DO ay = 0, la_max - ax
730 az = la_max - ax - ay
732 coa =
coset(ax, ay, az)
734 s(coa, 2, coc) = rbg(1)*s(coa, 1, coc) + &
737 s(coa, 2, coc) = rbg(1)*s(coa, 1, coc) + &
738 fx*s(
coset(ax - 1, ay, az), 1, coc) + &
742 s(coa, 3, coc) = rbg(2)*s(coa, 1, coc) + &
745 s(coa, 3, coc) = rbg(2)*s(coa, 1, coc) + &
746 fy*s(
coset(ax, ay - 1, az), 1, coc) + &
750 s(coa, 4, coc) = rbg(3)*s(coa, 1, coc) + &
753 s(coa, 4, coc) = rbg(3)*s(coa, 1, coc) + &
754 fz*s(
coset(ax, ay, az - 1), 1, coc) + &
768 IF (lb == lb_max)
THEN
771 la_start = max(0, la_min - 1)
774 DO la = la_start, la_max - 1
779 coa =
coset(ax, ay, az)
780 coax =
coset(ax + 1, ay, az)
781 coay =
coset(ax, ay + 1, az)
782 coaz =
coset(ax, ay, az + 1)
787 s(coa,
coset(0, 0, lb), coc) = &
788 s(coaz,
coset(0, 0, lb - 1), coc) - &
789 rab(3)*s(coa,
coset(0, 0, lb - 1), coc)
796 s(coa,
coset(0, by, bz), coc) = &
797 s(coay,
coset(0, by - 1, bz), coc) - &
798 rab(2)*s(coa,
coset(0, by - 1, bz), coc)
807 s(coa,
coset(bx, by, bz), coc) = &
808 s(coax,
coset(bx - 1, by, bz), coc) - &
809 rab(1)*s(coa,
coset(bx - 1, by, bz), coc)
826 DO ay = 0, la_max - ax
828 az = la_max - ax - ay
831 coa =
coset(ax, ay, az)
832 coax =
coset(max(0, ax - 1), ay, az)
833 coay =
coset(ax, max(0, ay - 1), az)
834 coaz =
coset(ax, ay, max(0, az - 1))
836 f3 = f2*real(lb - 1,
dp)
842 s(coa,
coset(0, 0, lb), coc) = &
843 rbg(3)*s(coa,
coset(0, 0, lb - 1), coc) + &
844 f3*s(coa,
coset(0, 0, lb - 2), coc) + &
845 fcz*s(coa,
coset(0, 0, lb - 1), cocz)
847 s(coa,
coset(0, 0, lb), coc) = &
848 rbg(3)*s(coa,
coset(0, 0, lb - 1), coc) + &
849 fz*s(coaz,
coset(0, 0, lb - 1), coc) + &
850 f3*s(coa,
coset(0, 0, lb - 2), coc) + &
851 fcz*s(coa,
coset(0, 0, lb - 1), cocz)
859 s(coa,
coset(0, 1, bz), coc) = &
860 rbg(2)*s(coa,
coset(0, 0, bz), coc) + &
861 fcy*s(coa,
coset(0, 0, bz), cocy)
864 f3 = f2*real(by - 1,
dp)
865 s(coa,
coset(0, by, bz), coc) = &
866 rbg(2)*s(coa,
coset(0, by - 1, bz), coc) + &
867 f3*s(coa,
coset(0, by - 2, bz), coc) + &
868 fcy*s(coa,
coset(0, by - 1, bz), cocy)
872 s(coa,
coset(0, 1, bz), coc) = &
873 rbg(2)*s(coa,
coset(0, 0, bz), coc) + &
874 fy*s(coay,
coset(0, 0, bz), coc) + &
875 fcy*s(coa,
coset(0, 0, bz), cocy)
878 f3 = f2*real(by - 1,
dp)
879 s(coa,
coset(0, by, bz), coc) = &
880 rbg(2)*s(coa,
coset(0, by - 1, bz), coc) + &
881 fy*s(coay,
coset(0, by - 1, bz), coc) + &
882 f3*s(coa,
coset(0, by - 2, bz), coc) + &
883 fcy*s(coa,
coset(0, by - 1, bz), cocy)
893 s(coa,
coset(1, by, bz), coc) = &
894 rbg(1)*s(coa,
coset(0, by, bz), coc) + &
895 fcx*s(coa,
coset(0, by, bz), cocx)
898 f3 = f2*real(bx - 1,
dp)
901 s(coa,
coset(bx, by, bz), coc) = &
902 rbg(1)*s(coa,
coset(bx - 1, by, bz), coc) + &
903 f3*s(coa,
coset(bx - 2, by, bz), coc) + &
904 fcx*s(coa,
coset(bx - 1, by, bz), cocx)
910 s(coa,
coset(1, by, bz), coc) = &
911 rbg(1)*s(coa,
coset(0, by, bz), coc) + &
912 fx*s(coax,
coset(0, by, bz), coc) + &
913 fcx*s(coa,
coset(0, by, bz), cocx)
916 f3 = f2*real(bx - 1,
dp)
919 s(coa,
coset(bx, by, bz), coc) = &
920 rbg(1)*s(coa,
coset(bx - 1, by, bz), coc) + &
921 fx*s(coax,
coset(bx - 1, by, bz), coc) + &
922 f3*s(coa,
coset(bx - 2, by, bz), coc) + &
923 fcx*s(coa,
coset(bx - 1, by, bz), cocx)
941 rbg(:) = rcg(:) + rbc(:)
945 s(1, 2, coc) = rbg(1)*s(1, 1, coc) + fcx*s(1, 1, cocx)
946 s(1, 3, coc) = rbg(2)*s(1, 1, coc) + fcy*s(1, 1, cocy)
947 s(1, 4, coc) = rbg(3)*s(1, 1, coc) + fcz*s(1, 1, cocz)
957 s(1,
coset(0, 0, lb), coc) = &
958 rbg(3)*s(1,
coset(0, 0, lb - 1), coc) + &
959 f2*real(lb - 1,
dp)*s(1,
coset(0, 0, lb - 2), coc) + &
960 fcz*s(1,
coset(0, 0, lb - 1), cocz)
965 s(1,
coset(0, 1, bz), coc) = &
966 rbg(2)*s(1,
coset(0, 0, bz), coc) + &
967 fcy*s(1,
coset(0, 0, bz), cocy)
971 s(1,
coset(0, by, bz), coc) = &
972 rbg(2)*s(1,
coset(0, by - 1, bz), coc) + &
973 f2*real(by - 1,
dp)*s(1,
coset(0, by - 2, bz), coc) + &
974 fcy*s(1,
coset(0, by - 1, bz), cocy)
981 s(1,
coset(1, by, bz), coc) = &
982 rbg(1)*s(1,
coset(0, by, bz), coc) + &
983 fcx*s(1,
coset(0, by, bz), cocx)
987 f3 = f2*real(bx - 1,
dp)
990 s(1,
coset(bx, by, bz), coc) = &
991 rbg(1)*s(1,
coset(bx - 1, by, bz), coc) + &
992 f3*s(1,
coset(bx - 2, by, bz), coc) + &
993 fcx*s(1,
coset(bx - 1, by, bz), cocx)
1012 IF (
PRESENT(int_abc_ext))
THEN
1016 sabc(na + i, nb + j, nc + k) = s(i, j, k)
1017 int_abc_ext = max(int_abc_ext, abs(s(i, j, k)))
1025 sabc(na + i, nb + j, nc + k) = s(i, j, k)
1034 IF (
PRESENT(sdabc) .OR.
PRESENT(sabdc))
THEN
1035 CALL derivatives_overlap3(la_max_set, la_min_set, lb_max_set, lb_min_set, &
1036 lc_max_set, lc_min_set, zeta(ipgf), zetc(kpgf), &
1042 IF (
PRESENT(sdabc))
THEN
1044 DO l = 1,
ncoset(lc_max_set)
1045 DO j = 1,
ncoset(lb_max_set)
1046 DO i = 1,
ncoset(la_max_set)
1047 sdabc(nda + i, nb + j, nc + l, k) = sda(i, j, l, k)
1054 IF (
PRESENT(sabdc))
THEN
1056 DO l = 1,
ncoset(lc_max_set)
1057 DO j = 1,
ncoset(lb_max_set)
1058 DO i = 1,
ncoset(la_max_set)
1059 sabdc(na + i, nb + j, ndc + l, k) = sdc(i, j, l, k)
1066 nc = nc +
ncoset(lc_max_set)
1067 ndc = ndc +
ncoset(lc_max_set)
1073 na = na +
ncoset(la_max_set)
1074 nda = nda +
ncoset(la_max_set)
1078 IF (
PRESENT(sdabc))
THEN
1081 IF (
PRESENT(sabdc))
THEN
1085 CALL timestop(handle)