diff -Naur lammps-24Oct08/src/KSPACE/pair_lj_cut_coul_long_tip4p.cpp lammps-28Oct08/src/KSPACE/pair_lj_cut_coul_long_tip4p.cpp --- lammps-24Oct08/src/KSPACE/pair_lj_cut_coul_long_tip4p.cpp 2008-08-13 08:39:45.000000000 -0600 +++ lammps-28Oct08/src/KSPACE/pair_lj_cut_coul_long_tip4p.cpp 2008-10-28 14:37:03.000000000 -0600 @@ -64,7 +64,7 @@ int i,j,ii,jj,inum,jnum,itype,jtype,itable; int n,vlist[6]; int iH1,iH2,jH1,jH2; - double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; + double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul; double fraction,table; double delx1,dely1,delz1,delx2,dely2,delz2,delx3,dely3,delz3; double r,r2inv,r6inv,forcecoul,forcelj,cforce,negforce; diff -Naur lammps-24Oct08/src/create_atoms.cpp lammps-28Oct08/src/create_atoms.cpp --- lammps-24Oct08/src/create_atoms.cpp 2007-06-29 11:11:02.000000000 -0600 +++ lammps-28Oct08/src/create_atoms.cpp 2008-10-28 14:35:56.000000000 -0600 @@ -271,6 +271,14 @@ // and is shifted away from true boundary // which is where atoms are likely to be generated + double epsilon[3]; + if (triclinic) epsilon[0] = epsilon[1] = epsilon[2] = EPSILON; + else { + epsilon[0] = domain->prd[0] * EPSILON; + epsilon[1] = domain->prd[1] * EPSILON; + epsilon[2] = domain->prd[2] * EPSILON; + } + double sublo[3],subhi[3]; if (triclinic == 0) { @@ -284,16 +292,16 @@ } if (domain->xperiodic) { - if (comm->myloc[0] == 0) sublo[0] -= EPSILON; - if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] -= 2.0*EPSILON; + if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; + if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] -= 2.0*epsilon[0]; } if (domain->yperiodic) { - if (comm->myloc[1] == 0) sublo[1] -= EPSILON; - if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] -= 2.0*EPSILON; + if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; + if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] -= 2.0*epsilon[1]; } if (domain->zperiodic) { - if (comm->myloc[2] == 0) sublo[2] -= EPSILON; - if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] -= 2.0*EPSILON; + if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; + if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] -= 2.0*epsilon[2]; } // iterate on 3d periodic lattice of unit cells using loop bounds