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