1c
2c $Id$
3c
4
5      SUBROUTINE ewald_excl(iii,rij,rijsq,jbeg,jend,ewald3)
6
7      implicit none
8
9      include 'p_array.inc'
10      include 'p_const.inc'
11      include 'cm_atom.inc'
12      include 'cm_ewld.inc'
13      include 'cm_cuto.inc'
14      include 'cm_elst.inc'
15
16      integer iii,i,j,k
17      integer jbeg,jend,iatm,jatm
18
19      real*8 rij,drij,arij,rijsq
20      real*8 ewald3,erfxc,force
21
22      dimension rij(mxnlist,3),rijsq(mxnlist)
23
24      ewald3=0.0
25      k=0
26      iatm=atmtype(iii)
27
28      do i=jbeg,jend
29
30       j=elist(i)
31       jatm=atmtype(j)
32       k=k+1
33
34       if(rijsq(k).lt.rcutsq)then
35
36        drij=sqrt(rijsq(k))
37        arij=alpha*drij
38
39        ewald3=ewald3-convfct1*typchge(iatm)*typchge(jatm)
40     $       *(1-erfxc(arij))/drij
41
42        force=-convfct1*typchge(iatm)*typchge(jatm)*
43     $       ((1-erfxc(arij))-2*arij/sqrpi*exp(-arij*arij))
44     $       /(drij*rijsq(k))
45
46        fff(iii,1)=fff(iii,1)+convfct2*force*rij(k,1)
47        fff(iii,2)=fff(iii,2)+convfct2*force*rij(k,2)
48        fff(iii,3)=fff(iii,3)+convfct2*force*rij(k,3)
49
50        fff(j,1)=fff(j,1)-convfct2*force*rij(k,1)
51        fff(j,2)=fff(j,2)-convfct2*force*rij(k,2)
52        fff(j,3)=fff(j,3)-convfct2*force*rij(k,3)
53
54       endif
55
56      enddo
57
58      return
59
60      END
61