diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/postProcessing/functionObjects/forces/forces/forces.C index fa8cfdcfc6b0d2fd28f9208d266eba8287d57b5f..1794a8b8898cee2bbe1bc9c6fb5efdcad771d70c 100644 --- a/src/postProcessing/functionObjects/forces/forces/forces.C +++ b/src/postProcessing/functionObjects/forces/forces/forces.C @@ -375,13 +375,14 @@ void Foam::forces::applyBins forAll(dd, i) { - label binI = floor(dd[i]/binDx_); - force_[0][binI] += fN[i]; - force_[1][binI] += fT[i]; - force_[2][binI] += fP[i]; - moment_[0][binI] += Md[i]^fN[i]; - moment_[1][binI] += Md[i]^fT[i]; - moment_[2][binI] += Md[i]^fP[i]; + label bini = min(max(floor(dd[i]/binDx_), 0), force_[0].size()); + + force_[0][bini] += fN[i]; + force_[1][bini] += fT[i]; + force_[2][bini] += fP[i]; + moment_[0][bini] += Md[i]^fN[i]; + moment_[1][bini] += Md[i]^fT[i]; + moment_[2][bini] += Md[i]^fP[i]; } } }