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