From 95cb2b97ddf09d9bfbae8e97967ceb006d2d7b87 Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Wed, 18 Aug 2021 10:29:17 +0100 Subject: [PATCH] BUG: ParticleCollector - corrected and simplified parallel reductions. See #2184 --- .../ParticleCollector/ParticleCollector.C | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C index 3764a682ac..5b99673d9d 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C @@ -419,8 +419,6 @@ void Foam::ParticleCollector::write() massTotal_[facei] += mass_[facei]; } - const label proci = Pstream::myProcNo(); - Info<< type() << " output:" << nl; Field faceMassTotal(mass_.size(), Zero); @@ -434,15 +432,11 @@ void Foam::ParticleCollector::write() scalar sumAverageMFR = 0.0; forAll(faces_, facei) { - scalarList allProcMass(Pstream::nProcs()); - allProcMass[proci] = massTotal_[facei]; - Pstream::gatherList(allProcMass); - faceMassTotal[facei] += sum(allProcMass); + faceMassTotal[facei] += + returnReduce(massTotal_[facei], sumOp()); - scalarList allProcMassFlowRate(Pstream::nProcs()); - allProcMassFlowRate[proci] = massFlowRate_[facei]; - Pstream::gatherList(allProcMassFlowRate); - faceMassFlowRate[facei] += sum(allProcMassFlowRate); + faceMassFlowRate[facei] += + returnReduce(massFlowRate_[facei], sumOp()); sumTotalMass += faceMassTotal[facei]; sumAverageMFR += faceMassFlowRate[facei];