Fix potential integer overflow in PPPM

This commit is contained in:
Stan Moore
2024-01-10 16:23:58 -07:00
parent 0cfb6a058c
commit 4bc77bc4ab

View File

@ -1944,7 +1944,8 @@ void PPPM::poisson_ik()
// global energy and virial contribution
double scaleinv = 1.0/(nx_pppm*ny_pppm*nz_pppm);
bigint ngridtotal = (bigint) nx_pppm * ny_pppm * nz_pppm;
double scaleinv = 1.0/(ngridtotal);
double s2 = scaleinv*scaleinv;
if (eflag_global || vflag_global) {
@ -2145,7 +2146,8 @@ void PPPM::poisson_ad()
// global energy and virial contribution
double scaleinv = 1.0/(nx_pppm*ny_pppm*nz_pppm);
bigint ngridtotal = (bigint) nx_pppm * ny_pppm * nz_pppm;
double scaleinv = 1.0/(ngridtotal);
double s2 = scaleinv*scaleinv;
if (eflag_global || vflag_global) {
@ -3259,7 +3261,8 @@ void PPPM::poisson_groups(int AA_flag)
// keep everything in reciprocal space so
// no inverse FFTs needed
double scaleinv = 1.0/(nx_pppm*ny_pppm*nz_pppm);
bigint ngridtotal = (bigint) nx_pppm * ny_pppm * nz_pppm;
double scaleinv = 1.0/(ngridtotal);
double s2 = scaleinv*scaleinv;
// energy