include rmass[] in border communication. will otherwise trigger issues with fix shake.
This commit is contained in:
@ -55,7 +55,7 @@ AtomVecPeri::AtomVecPeri(LAMMPS *lmp) : AtomVec(lmp)
|
|||||||
comm_f_only = 1;
|
comm_f_only = 1;
|
||||||
size_forward = 4;
|
size_forward = 4;
|
||||||
size_reverse = 3;
|
size_reverse = 3;
|
||||||
size_border = 11;
|
size_border = 12;
|
||||||
size_velocity = 3;
|
size_velocity = 3;
|
||||||
size_data_atom = 7;
|
size_data_atom = 7;
|
||||||
size_data_vel = 4;
|
size_data_vel = 4;
|
||||||
@ -357,6 +357,7 @@ int AtomVecPeri::pack_border(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -381,6 +382,7 @@ int AtomVecPeri::pack_border(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -414,6 +416,7 @@ int AtomVecPeri::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -442,6 +445,7 @@ int AtomVecPeri::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -463,6 +467,7 @@ int AtomVecPeri::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -497,6 +502,7 @@ int AtomVecPeri::pack_border_hybrid(int n, int *list, double *buf)
|
|||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
j = list[i];
|
j = list[i];
|
||||||
buf[m++] = vfrac[j];
|
buf[m++] = vfrac[j];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
buf[m++] = s0[j];
|
buf[m++] = s0[j];
|
||||||
buf[m++] = x0[j][0];
|
buf[m++] = x0[j][0];
|
||||||
buf[m++] = x0[j][1];
|
buf[m++] = x0[j][1];
|
||||||
@ -522,6 +528,7 @@ void AtomVecPeri::unpack_border(int n, int first, double *buf)
|
|||||||
type[i] = (int) ubuf(buf[m++]).i;
|
type[i] = (int) ubuf(buf[m++]).i;
|
||||||
mask[i] = (int) ubuf(buf[m++]).i;
|
mask[i] = (int) ubuf(buf[m++]).i;
|
||||||
vfrac[i] = buf[m++];
|
vfrac[i] = buf[m++];
|
||||||
|
rmass[i] = buf[m++];
|
||||||
s0[i] = buf[m++];
|
s0[i] = buf[m++];
|
||||||
x0[i][0] = buf[m++];
|
x0[i][0] = buf[m++];
|
||||||
x0[i][1] = buf[m++];
|
x0[i][1] = buf[m++];
|
||||||
@ -551,6 +558,7 @@ void AtomVecPeri::unpack_border_vel(int n, int first, double *buf)
|
|||||||
type[i] = (int) ubuf(buf[m++]).i;
|
type[i] = (int) ubuf(buf[m++]).i;
|
||||||
mask[i] = (int) ubuf(buf[m++]).i;
|
mask[i] = (int) ubuf(buf[m++]).i;
|
||||||
vfrac[i] = buf[m++];
|
vfrac[i] = buf[m++];
|
||||||
|
rmass[i] = buf[m++];
|
||||||
s0[i] = buf[m++];
|
s0[i] = buf[m++];
|
||||||
x0[i][0] = buf[m++];
|
x0[i][0] = buf[m++];
|
||||||
x0[i][1] = buf[m++];
|
x0[i][1] = buf[m++];
|
||||||
@ -576,6 +584,7 @@ int AtomVecPeri::unpack_border_hybrid(int n, int first, double *buf)
|
|||||||
last = first + n;
|
last = first + n;
|
||||||
for (i = first; i < last; i++) {
|
for (i = first; i < last; i++) {
|
||||||
vfrac[i] = buf[m++];
|
vfrac[i] = buf[m++];
|
||||||
|
rmass[i] = buf[m++];
|
||||||
s0[i] = buf[m++];
|
s0[i] = buf[m++];
|
||||||
x0[i][0] = buf[m++];
|
x0[i][0] = buf[m++];
|
||||||
x0[i][1] = buf[m++];
|
x0[i][1] = buf[m++];
|
||||||
|
|||||||
@ -41,7 +41,7 @@ AtomVecEllipsoid::AtomVecEllipsoid(LAMMPS *lmp) : AtomVec(lmp)
|
|||||||
comm_x_only = comm_f_only = 0;
|
comm_x_only = comm_f_only = 0;
|
||||||
size_forward = 7;
|
size_forward = 7;
|
||||||
size_reverse = 6;
|
size_reverse = 6;
|
||||||
size_border = 14;
|
size_border = 15;
|
||||||
size_velocity = 6;
|
size_velocity = 6;
|
||||||
size_data_atom = 7;
|
size_data_atom = 7;
|
||||||
size_data_vel = 7;
|
size_data_vel = 7;
|
||||||
@ -544,6 +544,7 @@ int AtomVecEllipsoid::pack_border(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(tag[j]).d;
|
buf[m++] = ubuf(tag[j]).d;
|
||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -576,6 +577,7 @@ int AtomVecEllipsoid::pack_border(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(tag[j]).d;
|
buf[m++] = ubuf(tag[j]).d;
|
||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -618,6 +620,7 @@ int AtomVecEllipsoid::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(tag[j]).d;
|
buf[m++] = ubuf(tag[j]).d;
|
||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -657,6 +660,7 @@ int AtomVecEllipsoid::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(tag[j]).d;
|
buf[m++] = ubuf(tag[j]).d;
|
||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -689,6 +693,7 @@ int AtomVecEllipsoid::pack_border_vel(int n, int *list, double *buf,
|
|||||||
buf[m++] = ubuf(tag[j]).d;
|
buf[m++] = ubuf(tag[j]).d;
|
||||||
buf[m++] = ubuf(type[j]).d;
|
buf[m++] = ubuf(type[j]).d;
|
||||||
buf[m++] = ubuf(mask[j]).d;
|
buf[m++] = ubuf(mask[j]).d;
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -735,6 +740,7 @@ int AtomVecEllipsoid::pack_border_hybrid(int n, int *list, double *buf)
|
|||||||
m = 0;
|
m = 0;
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
j = list[i];
|
j = list[i];
|
||||||
|
buf[m++] = rmass[j];
|
||||||
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
if (ellipsoid[j] < 0) buf[m++] = ubuf(0).d;
|
||||||
else {
|
else {
|
||||||
buf[m++] = ubuf(1).d;
|
buf[m++] = ubuf(1).d;
|
||||||
@ -769,6 +775,7 @@ void AtomVecEllipsoid::unpack_border(int n, int first, double *buf)
|
|||||||
tag[i] = (tagint) ubuf(buf[m++]).i;
|
tag[i] = (tagint) ubuf(buf[m++]).i;
|
||||||
type[i] = (int) ubuf(buf[m++]).i;
|
type[i] = (int) ubuf(buf[m++]).i;
|
||||||
mask[i] = (int) ubuf(buf[m++]).i;
|
mask[i] = (int) ubuf(buf[m++]).i;
|
||||||
|
rmass[i] = buf[m++];
|
||||||
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
||||||
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
||||||
else {
|
else {
|
||||||
@ -812,6 +819,7 @@ void AtomVecEllipsoid::unpack_border_vel(int n, int first, double *buf)
|
|||||||
tag[i] = (tagint) ubuf(buf[m++]).i;
|
tag[i] = (tagint) ubuf(buf[m++]).i;
|
||||||
type[i] = (int) ubuf(buf[m++]).i;
|
type[i] = (int) ubuf(buf[m++]).i;
|
||||||
mask[i] = (int) ubuf(buf[m++]).i;
|
mask[i] = (int) ubuf(buf[m++]).i;
|
||||||
|
rmass[i] = buf[m++];
|
||||||
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
||||||
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
||||||
else {
|
else {
|
||||||
@ -854,6 +862,7 @@ int AtomVecEllipsoid::unpack_border_hybrid(int n, int first, double *buf)
|
|||||||
m = 0;
|
m = 0;
|
||||||
last = first + n;
|
last = first + n;
|
||||||
for (i = first; i < last; i++) {
|
for (i = first; i < last; i++) {
|
||||||
|
rmass[i] = buf[m++];
|
||||||
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
ellipsoid[i] = (int) ubuf(buf[m++]).i;
|
||||||
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
if (ellipsoid[i] == 0) ellipsoid[i] = -1;
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user