@@ -1517,64 +1517,63 @@ SUBROUTINE dipole_force(la_max,npgfa,zeta,rpgfa,la_min,&
15171517
15181518 failure = .FALSE.
15191519 CPPrecondition(order==1 ,cp_failure_level,routineP,error,failure)
1520- IF ( .NOT. failure) THEN
1521- rab = rbc - rac
1522- rab2= SUM ( rab** 2 )
1523- dab = SQRT (rab2)
1520+
1521+ rab = rbc - rac
1522+ rab2= SUM ( rab** 2 )
1523+ dab = SQRT (rab2)
15241524
1525- lda_min = MAX ( 0 , la_min-1 )
1526- ldb_min = MAX ( 0 , lb_min-1 )
1527- lmax = MAX (la_max+1 ,lb_max+1 )
1528- lda = ncoset(la_max)* npgfa
1529- ldb = ncoset(lb_max)* npgfb
1530- ALLOCATE(difmab(lda,ldb,3 ))
1531- ALLOCATE(mab(npgfa* ncoset(la_max+1 ),npgfb* ncoset(lb_max+1 ),3 ))
1532- mab = 0.0_dp
1533- CALL moment(la_max+1 ,npgfa,zeta,rpgfa,lda_min,&
1534- lb_max+1 ,npgfb,zetb,rpgfb,1 ,rac,rbc,mab)
1525+ lda_min = MAX ( 0 , la_min-1 )
1526+ ldb_min = MAX ( 0 , lb_min-1 )
1527+ lmax = MAX (la_max+1 ,lb_max+1 )
1528+ lda = ncoset(la_max)* npgfa
1529+ ldb = ncoset(lb_max)* npgfb
1530+ ALLOCATE(difmab(lda,ldb,3 ))
1531+ ALLOCATE(mab(npgfa* ncoset(la_max+1 ),npgfb* ncoset(lb_max+1 ),3 ))
1532+ mab = 0.0_dp
1533+ CALL moment(la_max+1 ,npgfa,zeta,rpgfa,lda_min,&
1534+ lb_max+1 ,npgfb,zetb,rpgfb,1 ,rac,rbc,mab)
15351535
1536- DO imom = 1 ,3
1537- difmab = 0.0_dp
1538- CALL adbdr(la_max,npgfa,rpgfa,la_min,lb_max,npgfb,zetb,rpgfb,lb_min,&
1539- dab,mab(:,:,imom),difmab(:,:,1 ),difmab(:,:,2 ),difmab(:,:,3 ))
1540- na = 0
1541- DO ipgf= 1 ,npgfa
1542- nb = 0
1543- DO jpgf= 1 ,npgfb
1544- DO j= nb+ ncoset(lb_min-1 )+ 1 ,nb+ ncoset(lb_max)
1545- DO i= na+ ncoset(la_min-1 )+ 1 ,na+ ncoset(la_max)
1536+ DO imom = 1 ,3
1537+ difmab = 0.0_dp
1538+ CALL adbdr(la_max,npgfa,rpgfa,la_min,lb_max,npgfb,zetb,rpgfb,lb_min,&
1539+ dab,mab(:,:,imom),difmab(:,:,1 ),difmab(:,:,2 ),difmab(:,:,3 ))
1540+ na = 0
1541+ DO ipgf= 1 ,npgfa
1542+ nb = 0
1543+ DO jpgf= 1 ,npgfb
1544+ DO j= nb+ ncoset(lb_min-1 )+ 1 ,nb+ ncoset(lb_max)
1545+ DO i= na+ ncoset(la_min-1 )+ 1 ,na+ ncoset(la_max)
15461546 forceb(imom,1 ) = forceb(imom,1 ) + pab(i,j)* difmab(i,j,1 )
15471547 forceb(imom,2 ) = forceb(imom,2 ) + pab(i,j)* difmab(i,j,2 )
15481548 forceb(imom,3 ) = forceb(imom,3 ) + pab(i,j)* difmab(i,j,3 )
1549- END DO
1550- END DO
1551- nb = nb + ncoset(lb_max)
1552- END DO
1553- na = na + ncoset(la_max)
1554- END DO
1549+ END DO
1550+ END DO
1551+ nb = nb + ncoset(lb_max)
1552+ END DO
1553+ na = na + ncoset(la_max)
1554+ END DO
15551555
1556- difmab = 0.0_dp
1557- CALL dabdr(la_max,npgfa,zeta,rpgfa,la_min,lb_max,npgfb,rpgfb,lb_min,&
1558- dab,mab(:,:,imom),difmab(:,:,1 ),difmab(:,:,2 ),difmab(:,:,3 ))
1559- na = 0
1560- DO ipgf= 1 ,npgfa
1561- nb = 0
1562- DO jpgf= 1 ,npgfb
1563- DO j= nb+ ncoset(lb_min-1 )+ 1 ,nb+ ncoset(lb_max)
1564- DO i= na+ ncoset(la_min-1 )+ 1 ,na+ ncoset(la_max)
1565- forcea(imom,1 ) = forcea(imom,1 ) + pab(i,j)* difmab(i,j,1 )
1566- forcea(imom,2 ) = forcea(imom,2 ) + pab(i,j)* difmab(i,j,2 )
1567- forcea(imom,3 ) = forcea(imom,3 ) + pab(i,j)* difmab(i,j,3 )
1568- END DO
1556+ difmab = 0.0_dp
1557+ CALL dabdr(la_max,npgfa,zeta,rpgfa,la_min,lb_max,npgfb,rpgfb,lb_min,&
1558+ dab,mab(:,:,imom),difmab(:,:,1 ),difmab(:,:,2 ),difmab(:,:,3 ))
1559+ na = 0
1560+ DO ipgf= 1 ,npgfa
1561+ nb = 0
1562+ DO jpgf= 1 ,npgfb
1563+ DO j= nb+ ncoset(lb_min-1 )+ 1 ,nb+ ncoset(lb_max)
1564+ DO i= na+ ncoset(la_min-1 )+ 1 ,na+ ncoset(la_max)
1565+ forcea(imom,1 ) = forcea(imom,1 ) + pab(i,j)* difmab(i,j,1 )
1566+ forcea(imom,2 ) = forcea(imom,2 ) + pab(i,j)* difmab(i,j,2 )
1567+ forcea(imom,3 ) = forcea(imom,3 ) + pab(i,j)* difmab(i,j,3 )
15691568 END DO
1570- nb = nb + ncoset(lb_max)
1571- END DO
1572- na = na + ncoset(la_max)
1569+ END DO
1570+ nb = nb + ncoset(lb_max)
15731571 END DO
1572+ na = na + ncoset(la_max)
15741573 END DO
1574+ END DO
15751575
1576- DEALLOCATE(mab,difmab)
1577- END IF
1576+ DEALLOCATE(mab,difmab)
15781577
15791578 END SUBROUTINE dipole_force
15801579
0 commit comments