Go to the documentation of this file.
49 Foam::zoneDistribute::coupledFacesPatch()
const
55 for (
const polyPatch& pp :
patches)
57 if (isA<processorPolyPatch>(pp))
59 nCoupled += pp.size();
65 for (
const polyPatch& pp :
patches)
67 if (isA<processorPolyPatch>(pp))
69 label facei = pp.start();
73 coupledFaces[nCoupled++] = facei++;
95 coupledBoundaryPoints_(coupledFacesPatch()().meshPoints()),
98 gblIdx_(stencil_.globalNumbering())
133 stencil.updateStencil(
zone);
142 for (
const label celli : comms)
146 for (
const label gblIdx : stencil_[celli])
148 if (!gblIdx_.isLocal(gblIdx))
150 const label procID = gblIdx_.whichProcID (gblIdx);
151 needed[procID].insert(gblIdx);
167 toDomain << needed[domain];
176 send_[domain].clear();
183 fromDomain >> send_[domain];
static autoPtr< T > New(Args &&... args)
Construct autoPtr of T with forwarding arguments.
List< label > labelList
A List of labels.
Type * getObjectPtr(const word &name, const bool recursive=false) const
virtual const pointField & points() const
Return raw points.
Output inter-processor communications stream operating on external buffer.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
Base class for mesh zones.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
#define forAll(list, i)
Loop across all elements in list.
void finishedSends(const bool block=true)
Mark all sends as having been done.
static zoneCPCStencil & New(const fvMesh &)
zoneDistribute(const fvMesh &)
Construct from fvMesh.
Mesh data needed to do the Finite Volume discretisation.
static zoneDistribute & New(const fvMesh &)
void setUpCommforZone(const boolList &zone, bool updateStencil=true)
Update stencil with boolList the size has to match mesh nCells.
void updateStencil(const boolList &zone)
Updates stencil with boolList the size has to match mesh nCells.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual const faceList & faces() const
Return raw faces.
static rangeType allProcs(const label communicator=worldComm)
Range of process indices for all processes.
static int myProcNo(const label communicator=worldComm)
Number of this process (starting from masterNo() = 0)
Class for parallel communication in a narrow band. It either provides a Map with the neighbouring val...
Inter-processor communications stream.
static bool & parRun() noexcept
Test if this a parallel run.
const polyBoundaryMesh & patches
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
Input inter-processor communications stream operating on external buffer.
defineTypeNameAndDebug(combustionModel, 0)
static label nProcs(const label communicator=worldComm)
Number of processes in parallel run, and 1 for serial run.
computes a cell point cell stencil in a narrow band. resizes in case of topological change