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

@ -65,7 +65,7 @@ void SlabDipole::compute_corr(double qsum, int eflag_atom, int eflag_global, dou
// compute corrections
double const e_slabcorr = MY_2PI *
(dipole_all * dipole_all - qsum * dipole_r2 - qsum * qsum * zprd * zprd / 12.0) / volume;
(dipole_all * dipole_all - qsum * dipole_r2 - qsum * qsum * zprd_slab * zprd_slab / 12.0) / volume;
double const qscale = qqrd2e * scale;
if (eflag_global) energy += qscale * e_slabcorr;
@ -75,7 +75,7 @@ void SlabDipole::compute_corr(double qsum, int eflag_atom, int eflag_global, dou
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 * zprd_slab * zprd_slab / 12.0);
}
// add on force corrections