Fix issue with KSpace slab correction energy with non-neutral systems
This commit is contained in:
@ -2791,7 +2791,7 @@ void PPPMKokkos<DeviceType>::slabcorr()
|
||||
// compute corrections
|
||||
|
||||
const double e_slabcorr = MY_2PI*(dipole_all*dipole_all -
|
||||
qsum*dipole_r2 - qsum*qsum*zprd*zprd/12.0)/volume;
|
||||
qsum*dipole_r2 - qsum*qsum*zprd_slab*zprd_slab/12.0)/volume;
|
||||
qscale = qqrd2e * scale;
|
||||
|
||||
if (eflag_global) energy += qscale * e_slabcorr;
|
||||
@ -2833,7 +2833,7 @@ KOKKOS_INLINE_FUNCTION
|
||||
void PPPMKokkos<DeviceType>::operator()(TagPPPM_slabcorr3, const int &i) const
|
||||
{
|
||||
d_eatom[i] += efact * q[i]*(x(i,2)*dipole_all - 0.5*(dipole_r2 +
|
||||
qsum*x(i,2)*x(i,2)) - qsum*zprd*zprd/12.0);
|
||||
qsum*x(i,2)*x(i,2)) - qsum*zprd_slab*zprd_slab/12.0);
|
||||
}
|
||||
|
||||
template<class DeviceType>
|
||||
|
||||
Reference in New Issue
Block a user