From 43b161eb3398fedce3cc5af0618abe520beae617 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 25 Oct 2012 16:24:52 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9007 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/RIGID/fix_rigid.cpp | 64 ++++++++--------------------------------- 1 file changed, 12 insertions(+), 52 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 5c0a7f816d..32a8b7478d 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -695,39 +695,20 @@ void FixRigid::setup(int vflag) tagint *image = atom->image; double **x = atom->x; - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - double xy = domain->xy; - double xz = domain->xz; - double yz = domain->yz; + double dx,dy,dz; + double unwrap[3]; for (ibody = 0; ibody < nbody; ibody++) for (i = 0; i < 6; i++) sum[ibody][i] = 0.0; - int xbox,ybox,zbox; - double xunwrap,yunwrap,zunwrap,dx,dy,dz; for (i = 0; i < nlocal; i++) { if (body[i] < 0) continue; ibody = body[i]; - xbox = (image[i] & IMGMASK) - IMGMAX; - ybox = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; - zbox = (image[i] >> IMG2BITS) - IMGMAX; - - if (triclinic == 0) { - xunwrap = x[i][0] + xbox*xprd; - yunwrap = x[i][1] + ybox*yprd; - zunwrap = x[i][2] + zbox*zprd; - } else { - xunwrap = x[i][0] + xbox*xprd + ybox*xy + zbox*xz; - yunwrap = x[i][1] + ybox*yprd + zbox*yz; - zunwrap = x[i][2] + zbox*zprd; - } - - dx = xunwrap - xcm[ibody][0]; - dy = yunwrap - xcm[ibody][1]; - dz = zunwrap - xcm[ibody][2]; + domain->unmap(x[i],image[i],unwrap); + dx = unwrap[0] - xcm[ibody][0]; + dy = unwrap[1] - xcm[ibody][1]; + dz = unwrap[2] - xcm[ibody][2]; if (rmass) massone = rmass[i]; else massone = mass[type[i]]; @@ -929,17 +910,9 @@ void FixRigid::final_integrate() double **f = atom->f; int nlocal = atom->nlocal; - double xprd = domain->xprd; - double yprd = domain->yprd; - double zprd = domain->zprd; - if (triclinic) { - xy = domain->xy; - xz = domain->xz; - yz = domain->yz; - } + double dx,dy,dz; + double unwrap[3]; - int xbox,ybox,zbox; - double xunwrap,yunwrap,zunwrap,dx,dy,dz; for (ibody = 0; ibody < nbody; ibody++) for (i = 0; i < 6; i++) sum[ibody][i] = 0.0; @@ -951,23 +924,10 @@ void FixRigid::final_integrate() sum[ibody][1] += f[i][1]; sum[ibody][2] += f[i][2]; - xbox = (image[i] & IMGMASK) - IMGMAX; - ybox = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; - zbox = (image[i] >> IMG2BITS) - IMGMAX; - - if (triclinic == 0) { - xunwrap = x[i][0] + xbox*xprd; - yunwrap = x[i][1] + ybox*yprd; - zunwrap = x[i][2] + zbox*zprd; - } else { - xunwrap = x[i][0] + xbox*xprd + ybox*xy + zbox*xz; - yunwrap = x[i][1] + ybox*yprd + zbox*yz; - zunwrap = x[i][2] + zbox*zprd; - } - - dx = xunwrap - xcm[ibody][0]; - dy = yunwrap - xcm[ibody][1]; - dz = zunwrap - xcm[ibody][2]; + domain->unmap(x[i],image[i],unwrap); + dx = unwrap[0] - xcm[ibody][0]; + dy = unwrap[1] - xcm[ibody][1]; + dz = unwrap[2] - xcm[ibody][2]; sum[ibody][3] += dy*f[i][2] - dz*f[i][1]; sum[ibody][4] += dz*f[i][0] - dx*f[i][2];