git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@11026 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2013-11-20 15:36:26 +00:00
parent cd11570fed
commit 5ec8a7c930
17 changed files with 57 additions and 80 deletions

View File

@ -595,7 +595,6 @@ int AtomVecDipole::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = q[i];
@ -681,7 +680,6 @@ int AtomVecDipole::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -547,7 +547,6 @@ int AtomVecAngle::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = molecule[i];
@ -670,7 +669,6 @@ int AtomVecAngle::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -526,7 +526,6 @@ int AtomVecBond::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = molecule[i];
@ -633,7 +632,6 @@ int AtomVecBond::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -616,7 +616,6 @@ int AtomVecFull::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = q[i];
@ -778,7 +777,6 @@ int AtomVecFull::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -604,7 +604,6 @@ int AtomVecMolecular::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = molecule[i];
@ -764,7 +763,6 @@ int AtomVecMolecular::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -600,7 +600,6 @@ int AtomVecPeri::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = vfrac[i];
@ -689,7 +688,6 @@ int AtomVecPeri::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -707,7 +707,6 @@ int AtomVecWavepacket::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = q[i];
@ -799,7 +798,6 @@ int AtomVecWavepacket::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -611,7 +611,6 @@ int AtomVecElectron::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = q[i];
buf[m++] = spin[i];
@ -693,7 +692,6 @@ int AtomVecElectron::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -616,7 +616,6 @@ int AtomVecMeso::pack_exchange(int i, double *buf) {
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = rho[i];
buf[m++] = e[i];
@ -701,7 +700,6 @@ int AtomVecMeso::pack_restart(int i, double *buf) {
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -114,6 +114,14 @@ class AtomVec : protected Pointers {
int deform_vremap; // local copy of domain properties
int deform_groupbit;
double *h_rate;
union ubuf {
double d;
int64_t i;
ubuf(double arg) : d(arg) {}
ubuf(int64_t arg) : i(arg) {}
ubuf(int arg) : i(arg) {}
};
};
}

View File

@ -457,7 +457,6 @@ int AtomVecAtomic::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
if (atom->nextra_grow)
@ -531,7 +530,6 @@ int AtomVecAtomic::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -976,7 +976,6 @@ int AtomVecBody::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = rmass[i];
@ -1120,7 +1119,6 @@ int AtomVecBody::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -498,7 +498,6 @@ int AtomVecCharge::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = q[i];
@ -576,7 +575,6 @@ int AtomVecCharge::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -895,7 +895,6 @@ int AtomVecEllipsoid::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = rmass[i];
@ -1014,7 +1013,6 @@ int AtomVecEllipsoid::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -773,7 +773,6 @@ int AtomVecLine::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = molecule[i];
@ -880,7 +879,6 @@ int AtomVecLine::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];

View File

@ -546,9 +546,9 @@ int AtomVecSphere::pack_border(int n, int *list, double *buf,
buf[m++] = x[j][0];
buf[m++] = x[j][1];
buf[m++] = x[j][2];
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];
buf[m++] = ubuf(tag[j]).d;
buf[m++] = ubuf(type[j]).d;
buf[m++] = ubuf(mask[j]).d;
buf[m++] = radius[j];
buf[m++] = rmass[j];
}
@ -567,9 +567,9 @@ int AtomVecSphere::pack_border(int n, int *list, double *buf,
buf[m++] = x[j][0] + dx;
buf[m++] = x[j][1] + dy;
buf[m++] = x[j][2] + dz;
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];
buf[m++] = ubuf(tag[j]).d;
buf[m++] = ubuf(type[j]).d;
buf[m++] = ubuf(mask[j]).d;
buf[m++] = radius[j];
buf[m++] = rmass[j];
}
@ -597,9 +597,9 @@ int AtomVecSphere::pack_border_vel(int n, int *list, double *buf,
buf[m++] = x[j][0];
buf[m++] = x[j][1];
buf[m++] = x[j][2];
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];
buf[m++] = ubuf(tag[j]).d;
buf[m++] = ubuf(type[j]).d;
buf[m++] = ubuf(mask[j]).d;
buf[m++] = radius[j];
buf[m++] = rmass[j];
buf[m++] = v[j][0];
@ -625,9 +625,9 @@ int AtomVecSphere::pack_border_vel(int n, int *list, double *buf,
buf[m++] = x[j][0] + dx;
buf[m++] = x[j][1] + dy;
buf[m++] = x[j][2] + dz;
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];
buf[m++] = ubuf(tag[j]).d;
buf[m++] = ubuf(type[j]).d;
buf[m++] = ubuf(mask[j]).d;
buf[m++] = radius[j];
buf[m++] = rmass[j];
buf[m++] = v[j][0];
@ -646,9 +646,9 @@ int AtomVecSphere::pack_border_vel(int n, int *list, double *buf,
buf[m++] = x[j][0] + dx;
buf[m++] = x[j][1] + dy;
buf[m++] = x[j][2] + dz;
buf[m++] = tag[j];
buf[m++] = type[j];
buf[m++] = mask[j];
buf[m++] = ubuf(tag[j]).d;
buf[m++] = ubuf(type[j]).d;
buf[m++] = ubuf(mask[j]).d;
buf[m++] = radius[j];
buf[m++] = rmass[j];
if (mask[i] & deform_groupbit) {
@ -702,9 +702,9 @@ void AtomVecSphere::unpack_border(int n, int first, double *buf)
x[i][0] = buf[m++];
x[i][1] = buf[m++];
x[i][2] = buf[m++];
tag[i] = static_cast<int> (buf[m++]);
type[i] = static_cast<int> (buf[m++]);
mask[i] = static_cast<int> (buf[m++]);
tag[i] = (int) ubuf(buf[m++]).i;
type[i] = (int) ubuf(buf[m++]).i;
mask[i] = (int) ubuf(buf[m++]).i;
radius[i] = buf[m++];
rmass[i] = buf[m++];
}
@ -729,9 +729,9 @@ void AtomVecSphere::unpack_border_vel(int n, int first, double *buf)
x[i][0] = buf[m++];
x[i][1] = buf[m++];
x[i][2] = buf[m++];
tag[i] = static_cast<int> (buf[m++]);
type[i] = static_cast<int> (buf[m++]);
mask[i] = static_cast<int> (buf[m++]);
tag[i] = (int) ubuf(buf[m++]).i;
type[i] = (int) ubuf(buf[m++]).i;
mask[i] = (int) ubuf(buf[m++]).i;
radius[i] = buf[m++];
rmass[i] = buf[m++];
v[i][0] = buf[m++];
@ -777,11 +777,10 @@ int AtomVecSphere::pack_exchange(int i, double *buf)
buf[m++] = v[i][0];
buf[m++] = v[i][1];
buf[m++] = v[i][2];
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = ubuf(tag[i]).d;
buf[m++] = ubuf(type[i]).d;
buf[m++] = ubuf(mask[i]).d;
buf[m++] = ubuf(image[i]).d;
buf[m++] = radius[i];
buf[m++] = rmass[i];
@ -811,10 +810,10 @@ int AtomVecSphere::unpack_exchange(double *buf)
v[nlocal][0] = buf[m++];
v[nlocal][1] = buf[m++];
v[nlocal][2] = buf[m++];
tag[nlocal] = static_cast<int> (buf[m++]);
type[nlocal] = static_cast<int> (buf[m++]);
mask[nlocal] = static_cast<int> (buf[m++]);
image[nlocal] = *((tagint *) &buf[m++]);
tag[nlocal] = (int) ubuf(buf[m++]).i;
type[nlocal] = (int) ubuf(buf[m++]).i;
mask[nlocal] = (int) ubuf(buf[m++]).i;
image[nlocal] = (tagint) ubuf(buf[m++]).i;
radius[nlocal] = buf[m++];
rmass[nlocal] = buf[m++];
@ -863,11 +862,10 @@ int AtomVecSphere::pack_restart(int i, double *buf)
buf[m++] = x[i][0];
buf[m++] = x[i][1];
buf[m++] = x[i][2];
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = ubuf(tag[i]).d;
buf[m++] = ubuf(type[i]).d;
buf[m++] = ubuf(mask[i]).d;
buf[m++] = ubuf(image[i]).d;
buf[m++] = v[i][0];
buf[m++] = v[i][1];
buf[m++] = v[i][2];
@ -903,10 +901,10 @@ int AtomVecSphere::unpack_restart(double *buf)
x[nlocal][0] = buf[m++];
x[nlocal][1] = buf[m++];
x[nlocal][2] = buf[m++];
tag[nlocal] = static_cast<int> (buf[m++]);
type[nlocal] = static_cast<int> (buf[m++]);
mask[nlocal] = static_cast<int> (buf[m++]);
image[nlocal] = *((tagint *) &buf[m++]);
tag[nlocal] = (int) ubuf(buf[m++]).i;
type[nlocal] = (int) ubuf(buf[m++]).i;
mask[nlocal] = (int) ubuf(buf[m++]).i;
image[nlocal] = (tagint) ubuf(buf[m++]).i;
v[nlocal][0] = buf[m++];
v[nlocal][1] = buf[m++];
v[nlocal][2] = buf[m++];
@ -1063,8 +1061,8 @@ void AtomVecSphere::pack_data(double **buf)
{
int nlocal = atom->nlocal;
for (int i = 0; i < nlocal; i++) {
buf[i][0] = tag[i];
buf[i][1] = type[i];
buf[i][0] = ubuf(tag[i]).d;
buf[i][1] = ubuf(type[i]).d;
buf[i][2] = 2.0*radius[i];
if (radius[i] == 0.0) buf[i][3] = rmass[i];
else
@ -1072,9 +1070,9 @@ void AtomVecSphere::pack_data(double **buf)
buf[i][4] = x[i][0];
buf[i][5] = x[i][1];
buf[i][6] = x[i][2];
buf[i][7] = (image[i] & IMGMASK) - IMGMAX;
buf[i][8] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
buf[i][9] = (image[i] >> IMG2BITS) - IMGMAX;
buf[i][7] = ubuf((image[i] & IMGMASK) - IMGMAX).d;
buf[i][8] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d;
buf[i][9] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d;
}
}
@ -1098,10 +1096,11 @@ void AtomVecSphere::write_data(FILE *fp, int n, double **buf)
{
for (int i = 0; i < n; i++)
fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d\n",
(int) buf[i][0],(int) buf[i][1],
(int) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i,
buf[i][2],buf[i][3],
buf[i][4],buf[i][5],buf[i][6],
(int) buf[i][7],(int) buf[i][8],(int) buf[i][9]);
(int) ubuf(buf[i][7]).i,(int) ubuf(buf[i][8]).i,
(int) ubuf(buf[i][9]).i);
}
/* ----------------------------------------------------------------------
@ -1122,7 +1121,7 @@ void AtomVecSphere::pack_vel(double **buf)
{
int nlocal = atom->nlocal;
for (int i = 0; i < nlocal; i++) {
buf[i][0] = tag[i];
buf[i][0] = ubuf(tag[i]).d;
buf[i][1] = v[i][0];
buf[i][2] = v[i][1];
buf[i][3] = v[i][2];
@ -1152,7 +1151,7 @@ void AtomVecSphere::write_vel(FILE *fp, int n, double **buf)
{
for (int i = 0; i < n; i++)
fprintf(fp,"%d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e\n",
(int) buf[i][0],buf[i][1],buf[i][2],buf[i][3],
(int) ubuf(buf[i][0]).i,buf[i][1],buf[i][2],buf[i][3],
buf[i][4],buf[i][5],buf[i][6]);
}

View File

@ -1048,7 +1048,6 @@ int AtomVecTri::pack_exchange(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = molecule[i];
@ -1193,7 +1192,6 @@ int AtomVecTri::pack_restart(int i, double *buf)
buf[m++] = tag[i];
buf[m++] = type[i];
buf[m++] = mask[i];
buf[m] = 0.0; // for valgrind
*((tagint *) &buf[m++]) = image[i];
buf[m++] = v[i][0];
buf[m++] = v[i][1];