forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9007 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
6f4bba7edf
commit
43b161eb33
|
@ -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];
|
||||
|
|
Loading…
Reference in New Issue