Revert "pair_kim - no need to comm vatom() values"
This reverts commit 9962f941e6.
This commit is contained in:
@ -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]));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user