65 oldPatchStarts[patchi] = pbm[patchi].
start();
66 oldPatchNumPoints[patchi] = pbm[patchi].nPoints();
74 boundaryProcAddressing,
114 const fvMesh& baseMesh = *baseMeshPtr;
116 const label nNewPoints = baseMesh.
nPoints();
117 const label nNewFaces = baseMesh.
nFaces();
118 const label nNewCells = baseMesh.
nCells();
124 std::move(cellSubMap),
125 std::move(cellAddressing)
131 std::move(faceSubMap),
132 std::move(faceAddressing),
140 std::move(pointSubMap),
141 std::move(pointAddressing)
147 std::move(patchSubMap),
148 std::move(patchAddressing)
156 std::move(oldPatchStarts),
157 std::move(oldPatchNumPoints),
171 std::move(cellSubMap),
178 std::move(faceSubMap),
187 std::move(pointSubMap),
194 std::move(patchSubMap),
203 std::move(oldPatchStarts),
204 std::move(oldPatchNumPoints),
247 Info<<
"Reading (cell|face|point|boundary)ProcAddressing from "
251 ioAddr.
rename(
"cellProcAddressing");
254 ioAddr.
rename(
"faceProcAddressing");
257 ioAddr.
rename(
"pointProcAddressing");
260 ioAddr.
rename(
"boundaryProcAddressing");
272 <<
"Read addressing inconsistent with mesh sizes" <<
nl
275 <<
" size:" << cellProcAddressing.
size() <<
nl
278 <<
" size:" << faceProcAddressing.
size() <<
nl
281 <<
" size:" << pointProcAddressing.
size()
284 <<
" size:" << boundaryProcAddressing.
size()
295 boundaryProcAddressing
305 const bool decompose,
310 << (decompose ?
"decompose" :
"reconstruct")
311 <<
") procAddressing files to "
330 ioAddr.
rename(
"cellProcAddressing");
334 ioAddr.
rename(
"faceProcAddressing");
338 ioAddr.
rename(
"pointProcAddressing");
342 ioAddr.
rename(
"boundaryProcAddressing");
364 faceDistMap.mapDistributeBase::distribute
376 map.
patchMap().mapDistributeBase::distribute
402 faceDistMap.mapDistributeBase::reverseDistribute
415 map.
patchMap().mapDistributeBase::reverseDistribute
427 defaultHandler =
fileHandler(std::move(writeHandler));
430 const bool cellOk = cellMap.
write();
431 const bool faceOk =
faceMap.write();
432 const bool pointOk = pointMap.
write();
433 const bool patchOk = patchMap.
write();
437 writeHandler =
fileHandler(std::move(defaultHandler));
440 if (!cellOk || !faceOk || !pointOk || !patchOk)
443 <<
"Failed to write some of "
445 <<
faceMap.objectRelPath() <<
", "
Functions used by OpenFOAM that are specific to POSIX compliant operating systems and need to be repl...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
fileName objectRelPath() const
The object path relative to the root.
virtual void rename(const word &newName)
Rename the object.
A List with indirect addressing.
label nProcs() const noexcept
Number of ranks associated with PstreamBuffers.
static void gatherList(const List< commsStruct > &comms, List< T > &values, const int tag, const label comm)
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
void size(const label n)
Older name for setAddressableSize.
@ nonBlocking
"nonBlocking"
static constexpr int masterNo() noexcept
Process index of the master (always 0)
label size() const noexcept
The number of elements in the list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
virtual const objectRegistry & thisDb() const
Return the object registry - resolve conflict polyMesh/lduMesh.
bool constructHasFlip() const noexcept
Does constructMap include a sign.
bool subHasFlip() const noexcept
Does subMap include a sign.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
const mapDistribute & patchMap() const noexcept
Patch distribute map.
void distributeCellData(List< T > &values) const
Distribute list of cell data.
label nOldCells() const noexcept
Number of cells in mesh before distribution.
label nOldFaces() const noexcept
Number of faces in mesh before distribution.
const labelList & oldPatchSizes() const noexcept
List of the old patch sizes.
void distributePointData(List< T > &values) const
Distribute list of point data.
const mapDistribute & cellMap() const noexcept
Cell distribute map.
const mapDistribute & pointMap() const noexcept
Point distribute map.
const mapDistribute & faceMap() const noexcept
Face distribute map.
label nOldPoints() const noexcept
Number of points in mesh before distribution.
Class containing processor-to-processor mapping information.
void reverseDistribute(const label constructSize, List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
label start() const noexcept
The start label of boundary faces in the polyMesh face list.
const fileName & facesInstance() const
Return the current instance directory for faces.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
label nPoints() const noexcept
Number of mesh points.
label nCells() const noexcept
Number of mesh cells.
label nFaces() const noexcept
Number of mesh faces.
int myProcNo() const noexcept
Return processor number.
virtual bool write(const bool valid=true) const
Write using setting from DB.
splitCell * master() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define WarningInFunction
Report a warning using Foam::Warning.
const fileOperation & fileHandler()
Get current file handler.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
labelList identity(const label len, label start=0)
Return an identity map of the given length with (map[i] == i)
messageStream Info
Information stream (stdout output on master, null elsewhere)
static mapDistributePolyMesh createReconstructMap(const faMesh &mesh, const autoPtr< faMesh > &baseMeshPtr, const labelUList &faceProcAddr, const labelUList &edgeProcAddr, const labelUList &pointProcAddr, const labelUList &boundaryProcAddr)
Ostream & endl(Ostream &os)
Add newline and flush stream.
List< labelList > labelListList
A List of labelList.
static constexpr const zero Zero
Global zero (0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.
Unary predicate for greater-equal 0 (int values)
Functor to negate primitives. Dummy for most other types.