45 globalNumbering_(stencil_.globalNumbering()),
84 stencil.updateStencil(
zone);
92 for (
const label celli : stencil.needsComm())
96 for (
const label gblIdx : stencil_[celli])
98 const label proci = globalNumbering_.whichProcID(gblIdx);
102 needed[proci].insert(gblIdx);
119 toProc << needed[proci].sortedToc();
123 pBufs.
finishedSends(sendConnections_, sendProcs_, recvProcs_);
125 for (
const int proci : pBufs.
allProcs())
127 send_[proci].clear();
132 fromProc >> send_[proci];
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
UPstream::rangeType allProcs() const noexcept
Range of ranks indices associated with PstreamBuffers.
label nProcs() const noexcept
Number of ranks associated with PstreamBuffers.
label recvDataCount(const label proci) const
void finishedSends(const bool wait=true)
Mark sends as done.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Inter-processor communications stream.
@ nonBlocking
"nonBlocking"
static bool & parRun() noexcept
Test if this a parallel run.
Mesh data needed to do the Finite Volume discretisation.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
Type * getObjectPtr(const word &name, const bool recursive=false) const
int myProcNo() const noexcept
Return processor number.
computes a cell point cell stencil in a narrow band. resizes in case of topological change
Class for parallel communication in a narrow band. It either provides a Map with the neighbouring val...
void updateStencil(const boolList &zone)
Updates stencil with boolList the size has to match mesh nCells.
void setUpCommforZone(const boolList &zone, bool updateStencil=true)
Update stencil with boolList the size has to match mesh nCells.
Base class for mesh zones.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.