Use optimised global reduce for labelList

This commit is contained in:
Hrvoje Jasak 2016-10-08 19:05:25 +01:00
parent 52e99137eb
commit 0febbe5919

View file

@ -97,7 +97,7 @@ void Foam::ggiAMGInterface::initFastReduce() const
// Note: reduce with a comm will only be present on processors containing // Note: reduce with a comm will only be present on processors containing
// master or slave faces. Other processors created a dummy map above // master or slave faces. Other processors created a dummy map above
// HJ, 20/Sep/2016 // HJ, 20/Sep/2016
reduce(zoneProcID, maxOp<UList<label> >(), tag(), comm()); reduce(zoneProcID, maxOp<labelList>(), tag(), comm());
// Find out where my zone data is coming from // Find out where my zone data is coming from
labelList nRecv(Pstream::nProcs(), 0); labelList nRecv(Pstream::nProcs(), 0);
@ -739,8 +739,8 @@ Foam::ggiAMGInterface::ggiAMGInterface
// Optimised comm: Wait for info from previous processor, add your // Optimised comm: Wait for info from previous processor, add your
// number of coarse faces and pass to next processor // number of coarse faces and pass to next processor
reduce(nCoarseFacesPerProc, sumOp<UList<label> >(), tag(), comm()); reduce(nCoarseFacesPerProc, sumOp<List<label> >(), tag(), comm());
Pout<< "nCoarseFacesPerProc: " << nCoarseFacesPerProc << endl;
// Coarse global face zone is assembled by adding all faces from proc0, // Coarse global face zone is assembled by adding all faces from proc0,
// followed by all faces from proc1 etc. // followed by all faces from proc1 etc.
// Therefore, on procN, my master offset // Therefore, on procN, my master offset