From 7605c01260fb53ff7e98f8d53d74328febef46bf Mon Sep 17 00:00:00 2001 From: mattijs Date: Thu, 22 Mar 2012 12:39:59 +0000 Subject: [PATCH] ENH: gAverage: (used in normFactor) : use single reduction --- .../db/IOstreams/Pstreams/PstreamReduceOps.H | 21 +++ .../fields/Fields/Field/FieldFunctions.C | 7 +- src/Pstream/dummy/UPstream.C | 9 ++ src/Pstream/mpi/UPstream.C | 138 +++++++++++++++++- 4 files changed, 171 insertions(+), 4 deletions(-) diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H index b04e77a514..f6f69bba9e 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H +++ b/src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H @@ -96,6 +96,20 @@ T returnReduce } +// Reduce with sum of both value and count (for averaging) +template +void sumReduce +( + T& Value, + label& Count, + const int tag = Pstream::msgType() +) +{ + reduce(Value, sumOp(), tag); + reduce(Count, sumOp