Revert "pair_kim - no need to comm vatom() values"

This reverts commit 9962f941e6.
This commit is contained in:
Ryan S. Elliott
2018-10-30 21:54:59 -05:00
parent 1b98c0e40d
commit 762a4b97ac

View File

@ -486,8 +486,8 @@ void PairKIM::init_style()
}
// make sure comm_reverse expects (at most) 3 values when newton is off
if (!lmps_using_newton) comm_reverse_off = 3;
// make sure comm_reverse expects (at most) 9 values when newton is off
if (!lmps_using_newton) comm_reverse_off = 9;
// request full neighbor
for (int i = 0; i < kim_number_of_neighbor_lists; ++i)
@ -553,7 +553,9 @@ int PairKIM::pack_reverse_comm(int n, int first, double *buf)
m = 0;
last = first + n;
if (kim_model_support_for_forces != notSupported)
if ((kim_model_support_for_forces != notSupported) &&
((vflag_atom == 0) ||
(kim_model_support_for_particleVirial == notSupported)))
{
for (i = first; i < last; i++)
{
@ -563,6 +565,42 @@ int PairKIM::pack_reverse_comm(int n, int first, double *buf)
}
return m;
}
else if ((kim_model_support_for_forces != notSupported) &&
(vflag_atom == 1) &&
(kim_model_support_for_particleVirial != notSupported))
{
double *va=&(vatom[0][0]);
for (i = first; i < last; i++)
{
buf[m++] = fp[3*i+0];
buf[m++] = fp[3*i+1];
buf[m++] = fp[3*i+2];
buf[m++] = va[6*i+0];
buf[m++] = va[6*i+1];
buf[m++] = va[6*i+2];
buf[m++] = va[6*i+3];
buf[m++] = va[6*i+4];
buf[m++] = va[6*i+5];
}
return m;
}
else if ((kim_model_support_for_forces == notSupported) &&
(vflag_atom == 1) &&
(kim_model_support_for_particleVirial != notSupported))
{
double *va=&(vatom[0][0]);
for (i = first; i < last; i++)
{
buf[m++] = va[6*i+0];
buf[m++] = va[6*i+1];
buf[m++] = va[6*i+2];
buf[m++] = va[6*i+3];
buf[m++] = va[6*i+4];
buf[m++] = va[6*i+5];
}
return m;
}
else
return 0;
}
@ -578,7 +616,9 @@ void PairKIM::unpack_reverse_comm(int n, int *list, double *buf)
fp = &(atom->f[0][0]);
m = 0;
if (kim_model_support_for_forces != notSupported)
if ((kim_model_support_for_forces != notSupported) &&
((vflag_atom == 0) ||
(kim_model_support_for_particleVirial == notSupported)))
{
for (i = 0; i < n; i++)
{
@ -588,6 +628,42 @@ void PairKIM::unpack_reverse_comm(int n, int *list, double *buf)
fp[3*j+2]+= buf[m++];
}
}
else if ((kim_model_support_for_forces != notSupported) &&
(vflag_atom == 1) &&
(kim_model_support_for_particleVirial != notSupported))
{
double *va=&(vatom[0][0]);
for (i = 0; i < n; i++)
{
j = list[i];
fp[3*j+0]+= buf[m++];
fp[3*j+1]+= buf[m++];
fp[3*j+2]+= buf[m++];
va[j*6+0]+=buf[m++];
va[j*6+1]+=buf[m++];
va[j*6+2]+=buf[m++];
va[j*6+3]+=buf[m++];
va[j*6+4]+=buf[m++];
va[j*6+5]+=buf[m++];
}
}
else if ((kim_model_support_for_forces == notSupported) &&
(vflag_atom == 1) &&
(kim_model_support_for_particleVirial != notSupported))
{
double *va=&(vatom[0][0]);
for (i = 0; i < n; i++)
{
j = list[i];
va[j*6+0]+=buf[m++];
va[j*6+1]+=buf[m++];
va[j*6+2]+=buf[m++];
va[j*6+3]+=buf[m++];
va[j*6+4]+=buf[m++];
va[j*6+5]+=buf[m++];
}
}
else
;// do nothing
@ -809,7 +885,7 @@ void PairKIM::set_argument_pointers()
}
else if (kim_model_support_for_particleVirial != notSupported)
{
kimerror = kimerror || pargs->SetArgumentPointer(partialParticleVirial,
kimerror = kimerror || pargs->SetArgumentPointer(partialParticleEnergy,
&(vatom[0][0]));
}