don't apply modulus to doubles but integers

This commit is contained in:
Axel Kohlmeyer
2022-03-05 12:30:40 -05:00
parent 9a98817567
commit c24e46c547

View File

@ -372,13 +372,13 @@ void ComputePressureCartesian::compute_pressure_1d(double fpair, double xi, doub
xj -= (domain->boxhi[dir1] - domain->boxlo[dir1]); xj -= (domain->boxhi[dir1] - domain->boxlo[dir1]);
// Integrating contour from bin_s to bin_e // Integrating contour from bin_s to bin_e
bin_s = (int) lround(((xi - domain->boxlo[dir1]) / bin_width1)) % nbins1; bin_s = ((int) lround((xi - domain->boxlo[dir1]) / bin_width1)) % nbins1;
bin_e = (int) lround(((xj - domain->boxlo[dir1]) / bin_width1)) % nbins1; bin_e = ((int) lround((xj - domain->boxlo[dir1]) / bin_width1)) % nbins1;
// If not periodic in dir1 // If not periodic in dir1
if (domain->periodicity[dir1] == 0) { if (domain->periodicity[dir1] == 0) {
bin_s = (int) lround(((xi - domain->boxlo[dir1]) / bin_width1)); bin_s = ((int) lround((xi - domain->boxlo[dir1]) / bin_width1));
bin_e = (int) lround(((xj - domain->boxlo[dir1]) / bin_width1)); bin_e = ((int) lround((xj - domain->boxlo[dir1]) / bin_width1));
if (bin_e == nbins1) bin_e--; if (bin_e == nbins1) bin_e--;
if (bin_s == nbins1) bin_s--; if (bin_s == nbins1) bin_s--;