Fix issue with KSpace slab correction energy with non-neutral systems

This commit is contained in:
Stan Gerald Moore
2022-10-11 09:43:18 -06:00
parent 967c84cb69
commit 877f4e7e29
11 changed files with 24 additions and 24 deletions

View File

@ -8139,7 +8139,7 @@ void PPPMDisp::slabcorr(int /*eflag*/)
// 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;
const double qscale = force->qqrd2e * scale;
if (eflag_global) energy_1 += qscale * e_slabcorr;
@ -8150,7 +8150,7 @@ void PPPMDisp::slabcorr(int /*eflag*/)
double efact = qscale * MY_2PI/volume;
for (int i = 0; i < nlocal; i++)
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);
}
// add on force corrections