Various tools to aid synchronising lists across coupled patches. WIP. More...
Static Public Member Functions | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncPointMap (const polyMesh &, Map< T > &pointValues, const CombineOp &cop, const TransformOp &top) |
Synchronise values on selected points. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncEdgeMap (const polyMesh &, EdgeMap< T > &edgeValues, const CombineOp &cop, const TransformOp &top) |
Synchronise values on selected edges. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncPointList (const polyMesh &, List< T > &, const CombineOp &cop, const T &nullValue, const TransformOp &top) |
Synchronise values on all mesh points. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncPointList (const polyMesh &, const labelList &meshPoints, List< T > &, const CombineOp &cop, const T &nullValue, const TransformOp &top) |
Synchronise values on selected mesh points. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncEdgeList (const polyMesh &, List< T > &, const CombineOp &cop, const T &nullValue, const TransformOp &top) |
Synchronise values on all mesh edges. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncEdgeList (const polyMesh &, const labelList &meshEdges, List< T > &, const CombineOp &cop, const T &nullValue, const TransformOp &top) |
Synchronise values on selected mesh edges. More... | |
template<class T , class CombineOp , class TransformOp > | |
static void | syncBoundaryFaceList (const polyMesh &, UList< T > &, const CombineOp &cop, const TransformOp &top, const bool parRun=Pstream::parRun()) |
Synchronise values on boundary faces only. More... | |
template<class T , class CombineOp > | |
static void | syncPointList (const polyMesh &mesh, List< T > &l, const CombineOp &cop, const T &nullValue) |
Synchronise values on all mesh points. More... | |
template<class CombineOp > | |
static void | syncPointPositions (const polyMesh &mesh, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronise locations on all mesh points. More... | |
template<class T , class CombineOp > | |
static void | syncPointList (const polyMesh &mesh, const labelList &meshPoints, List< T > &l, const CombineOp &cop, const T &nullValue) |
Synchronise values on selected mesh points. More... | |
template<class CombineOp > | |
static void | syncPointPositions (const polyMesh &mesh, const labelList &meshPoints, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronise locations on selected mesh points. More... | |
template<class T , class CombineOp > | |
static void | syncEdgeList (const polyMesh &mesh, List< T > &l, const CombineOp &cop, const T &nullValue) |
Synchronise values on all mesh edges. More... | |
template<class CombineOp > | |
static void | syncEdgePositions (const polyMesh &mesh, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronise locations on all mesh edges. More... | |
template<class T , class CombineOp > | |
static void | syncEdgeList (const polyMesh &mesh, const labelList &meshEdges, List< T > &l, const CombineOp &cop, const T &nullValue) |
Synchronise values on selected mesh edges. More... | |
template<class CombineOp > | |
static void | syncEdgePositions (const polyMesh &mesh, const labelList &meshEdges, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronise locations on selected mesh edges. More... | |
template<class T , class CombineOp > | |
static void | syncBoundaryFaceList (const polyMesh &mesh, UList< T > &l, const CombineOp &cop) |
Synchronise values on boundary faces only. More... | |
template<class CombineOp > | |
static void | syncBoundaryFacePositions (const polyMesh &mesh, UList< point > &l, const CombineOp &cop) |
Synchronise locations on boundary faces only. More... | |
template<class T , class CombineOp > | |
static void | syncFaceList (const polyMesh &mesh, UList< T > &l, const CombineOp &cop) |
Synchronise values on all mesh faces. More... | |
template<class CombineOp > | |
static void | syncFacePositions (const polyMesh &mesh, UList< point > &l, const CombineOp &cop) |
Synchronise locations on all mesh faces. More... | |
template<class T > | |
static void | swapBoundaryFaceList (const polyMesh &mesh, UList< T > &l) |
Swap coupled boundary face values. More... | |
static void | swapBoundaryFacePositions (const polyMesh &mesh, UList< point > &l) |
Swap coupled positions. More... | |
template<class T > | |
static void | swapFaceList (const polyMesh &mesh, UList< T > &l) |
Swap coupled face values. More... | |
template<class T > | |
static void | swapBoundaryCellList (const polyMesh &mesh, const UList< T > &cellData, List< T > &neighbourCellData) |
Swap to obtain neighbour cell values for all boundary faces. More... | |
static void | swapBoundaryCellPositions (const polyMesh &mesh, const UList< point > &cellData, List< point > &neighbourCellData) |
Swap to obtain neighbour cell positions for all boundary faces. More... | |
template<class T , class CombineOp > | |
static void | syncPointMap (const polyMesh &mesh, Map< T > &l, const CombineOp &cop) |
Synchronise values on selected points. More... | |
template<class CombineOp > | |
static void | syncPointPositions (const polyMesh &mesh, Map< point > &l, const CombineOp &cop) |
Synchronise locations on selected points. More... | |
template<class T , class CombineOp > | |
static void | syncEdgeMap (const polyMesh &mesh, EdgeMap< T > &l, const CombineOp &cop) |
Synchronise values on selected edges. Edges are represented. More... | |
template<class CombineOp > | |
static void | syncEdgePositions (const polyMesh &mesh, EdgeMap< point > &l, const CombineOp &cop) |
Synchronise locations on selected edges. More... | |
template<unsigned nBits, class CombineOp > | |
static void | syncFaceList (const polyMesh &mesh, PackedList< nBits > &faceValues, const CombineOp &cop, const bool parRun=Pstream::parRun()) |
template<unsigned nBits> | |
static void | swapFaceList (const polyMesh &mesh, PackedList< nBits > &faceValues) |
template<unsigned nBits, class CombineOp > | |
static void | syncPointList (const polyMesh &mesh, PackedList< nBits > &pointValues, const CombineOp &cop, const unsigned int nullValue) |
template<unsigned nBits, class CombineOp > | |
static void | syncEdgeList (const polyMesh &mesh, PackedList< nBits > &edgeValues, const CombineOp &cop, const unsigned int nullValue) |
static PackedBoolList | getMasterPoints (const polyMesh &) |
Get per point whether it is uncoupled or a master of a. More... | |
static PackedBoolList | getMasterEdges (const polyMesh &) |
Get per edge whether it is uncoupled or a master of a. More... | |
static PackedBoolList | getMasterFaces (const polyMesh &) |
Get per face whether it is uncoupled or a master of a. More... | |
static PackedBoolList | getInternalOrMasterFaces (const polyMesh &) |
Get per face whether it is internal or a master of a. More... | |
static PackedBoolList | getInternalOrCoupledFaces (const polyMesh &) |
Get per face whether it is internal or coupled. More... | |
Various tools to aid synchronising lists across coupled patches. WIP.
Require
Definition at line 62 of file syncTools.H.
|
static |
Synchronise values on selected points.
Definition at line 82 of file syncToolsTemplates.C.
References polyMesh::boundaryMesh(), Foam::combine(), cyclicPolyPatch::coupledPoints(), Foam::e, HashTableCore::end(), HashTable< T, Key, Hash >::find(), PstreamBuffers::finishedSends(), UPstream::firstSlave(), forAll, forAllConstIter, polyMesh::globalData(), HashTable< T, Key, Hash >::insert(), UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), PrimitivePatch< FaceList, PointField >::meshPoints(), cyclicPolyPatch::nbrPatch(), processorPolyPatch::nbrPoints(), processorPolyPatch::neighbProcNo(), globalMeshData::nGlobalPoints(), UPstream::nonBlocking, nPoints, cyclicPolyPatch::owner(), UPstream::parRun(), patches, patchi, HashTable< T, Key, Hash >::resize(), UPstream::scheduled, HashTable< T, Key, Hash >::set(), globalMeshData::sharedPointAddr(), globalMeshData::sharedPointLabels(), HashTable< T, Key, Hash >::size(), and List< T >::size().
Referenced by syncTools::syncPointMap(), and syncTools::syncPointPositions().
|
static |
Synchronise values on selected edges.
Definition at line 391 of file syncToolsTemplates.C.
References polyMesh::boundaryMesh(), Foam::combine(), cyclicPolyPatch::coupledEdges(), Foam::e, PrimitivePatch< FaceList, PointField >::edges(), HashTableCore::end(), f(), polyMesh::faces(), UList< T >::fcIndex(), HashTable< T, Key, Hash >::find(), PstreamBuffers::finishedSends(), UPstream::firstSlave(), forAll, forAllConstIter, polyMesh::globalData(), HashTable< T, Key, Hash >::insert(), UPstream::lastSlave(), UPstream::master(), UPstream::masterNo(), Foam::meshEdge(), PrimitivePatch< FaceList, PointField >::meshPoints(), cyclicPolyPatch::nbrPatch(), processorPolyPatch::nbrPoints(), processorPolyPatch::neighbProcNo(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), UPstream::nonBlocking, cyclicPolyPatch::owner(), UPstream::parRun(), patches, patchi, UPstream::scheduled, globalMeshData::sharedPointAddr(), globalMeshData::sharedPointLabels(), HashTable< T, Key, Hash >::size(), and List< T >::size().
Referenced by patchPatchDist::correct(), syncTools::syncEdgeMap(), and syncTools::syncEdgePositions().
|
static |
Synchronise values on all mesh points.
Definition at line 992 of file syncToolsTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, polyMesh::globalData(), primitiveMesh::nPoints(), List< T >::size(), and globalMeshData::syncPointData().
Referenced by singleProcessorFaceSetsConstraint::add(), singleProcessorFaceSetsConstraint::apply(), motionSmootherAlgo::avg(), snappySnapDriver::avgCellCentres(), snappySnapDriver::calcNearestSurface(), snappySnapDriver::calcSnapDistance(), edgeCollapser::checkMeshQuality(), pointZone::checkParallelSync(), hexRef8::checkRefinementLevels(), edgeCollapser::consistentCollapse(), hexRef8::consistentSlowRefinement(), motionSmootherAlgo::correctBoundaryConditions(), removePoints::countPointUsage(), snappySnapDriver::doSnap(), meshRefinement::getMasterPoints(), volPointInterpolation::interpolateUnconstrained(), multiSolidBodyMotionSolver::multiSolidBodyMotionSolver(), motionSmootherAlgo::scaleMesh(), motionSmootherAlgo::setDisplacement(), addPatchCellLayer::setRefinement(), combineFaces::setRefinement(), meshRefinement::splitMesh(), pointSet::sync(), syncTools::syncPointList(), syncTools::syncPointPositions(), meshRefinement::testSyncPointList(), volPointInterpolation::volPointInterpolation(), and meshRefinement::weightedSum().
|
static |
Synchronise values on selected mesh points.
Definition at line 1035 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatch(), HashTableCore::end(), Foam::FatalError, FatalErrorInFunction, HashTable< T, Key, Hash >::find(), forAll, polyMesh::globalData(), globalMeshData::globalPointSlaves(), globalMeshData::globalPointSlavesMap(), globalMeshData::globalPointTransformedSlaves(), globalMeshData::globalTransforms(), PrimitivePatch< FaceList, PointField >::meshPointMap(), PrimitivePatch< FaceList, PointField >::nPoints(), List< T >::size(), and globalMeshData::syncData().
|
static |
Synchronise values on all mesh edges.
Definition at line 1149 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatchMeshEdges(), Foam::FatalError, FatalErrorInFunction, forAll, polyMesh::globalData(), globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), globalMeshData::globalTransforms(), primitiveMesh::nEdges(), List< T >::size(), and globalMeshData::syncData().
Referenced by edgeCollapser::consistentCollapse(), meshRefinement::getMasterEdges(), addPatchCellLayer::globalEdgeFaces(), nonConformalBoundary::ownerOrigBoundaryEdgeMeshEdge(), meshCutter::setRefinement(), addPatchCellLayer::setRefinement(), hexRef8::setRefinement(), syncTools::syncEdgeList(), and syncTools::syncEdgePositions().
|
static |
Synchronise values on selected mesh edges.
Definition at line 1237 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatch(), globalMeshData::coupledPatchMeshEdgeMap(), HashTableCore::end(), Foam::FatalError, FatalErrorInFunction, HashTable< T, Key, Hash >::find(), forAll, polyMesh::globalData(), globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), globalMeshData::globalTransforms(), PrimitivePatch< FaceList, PointField >::nEdges(), List< T >::size(), and globalMeshData::syncData().
|
static |
Synchronise values on boundary faces only.
Definition at line 1293 of file syncToolsTemplates.C.
References Foam::abort(), polyMesh::boundaryMesh(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, cyclicPolyPatch::nbrPatch(), processorPolyPatch::neighbProcNo(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), UPstream::nonBlocking, cyclicPolyPatch::owner(), patches, patchi, UList< T >::size(), and polyPatch::start().
Referenced by preserveFaceZonesConstraint::apply(), preservePatchesConstraint::apply(), cellToFaceStencil::calcFaceStencil(), polyMeshTetDecomposition::findFaceBasePts(), removePoints::getUnrefimentSet(), syncTools::swapBoundaryFaceList(), syncTools::swapBoundaryFacePositions(), syncTools::swapFaceList(), syncTools::syncBoundaryFaceList(), syncTools::syncBoundaryFacePositions(), syncTools::syncFaceList(), and syncTools::syncFacePositions().
|
inlinestatic |
Synchronise values on all mesh points.
Definition at line 175 of file syncTools.H.
References syncTools::syncPointList().
|
inlinestatic |
Synchronise locations on all mesh points.
Definition at line 195 of file syncTools.H.
References syncTools::syncPointList().
|
inlinestatic |
Synchronise values on selected mesh points.
Definition at line 215 of file syncTools.H.
References syncTools::syncPointList().
|
inlinestatic |
Synchronise locations on selected mesh points.
Definition at line 237 of file syncTools.H.
References syncTools::syncPointList().
|
inlinestatic |
Synchronise values on all mesh edges.
Definition at line 262 of file syncTools.H.
References syncTools::syncEdgeList().
|
inlinestatic |
Synchronise locations on all mesh edges.
Definition at line 282 of file syncTools.H.
References syncTools::syncEdgeList().
Referenced by hexRef8::setRefinement().
|
inlinestatic |
Synchronise values on selected mesh edges.
Definition at line 302 of file syncTools.H.
References syncTools::syncEdgeList().
|
inlinestatic |
Synchronise locations on selected mesh edges.
Definition at line 324 of file syncTools.H.
References syncTools::syncEdgeList().
|
inlinestatic |
Synchronise values on boundary faces only.
Definition at line 350 of file syncTools.H.
References syncTools::syncBoundaryFaceList().
|
inlinestatic |
Synchronise locations on boundary faces only.
Definition at line 368 of file syncTools.H.
References syncTools::syncBoundaryFaceList().
Referenced by meshRefinement::checkData(), and hexRef8::setRefinement().
|
inlinestatic |
Synchronise values on all mesh faces.
Definition at line 386 of file syncTools.H.
References primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), and syncTools::syncBoundaryFaceList().
Referenced by refinementHistory::add(), preserveBafflesConstraint::add(), preserveFaceZonesConstraint::add(), preservePatchesConstraint::add(), singleProcessorFaceSetsConstraint::add(), meshRefinement::balance(), meshRefinement::collectFaces(), meshRefinement::createBaffles(), snappySnapDriver::doSnap(), removeCells::getExposedFaces(), meshRefinement::growFaceCellFace(), refiner::refiner(), hexRef8::setRefinement(), meshRefinement::splitMesh(), MPLIC::surfaceAlpha(), faceSet::sync(), and meshRefinement::zonify().
|
inlinestatic |
Synchronise locations on all mesh faces.
Definition at line 411 of file syncTools.H.
References primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), and syncTools::syncBoundaryFaceList().
Swap coupled boundary face values.
Definition at line 435 of file syncTools.H.
References syncTools::syncBoundaryFaceList().
Referenced by decompositionMethod::calcCellCells(), meshRefinement::checkCoupledFaceZones(), meshRefinement::checkData(), hexRef8::checkMesh(), faceZone::checkParallelSync(), hexRef8::checkRefinementLevels(), hexRef8::consistentSlowRefinement(), hexRef8::consistentUnrefinement(), SloanRenumber::renumber(), hexRef8::setRefinement(), syncTools::swapBoundaryCellList(), faceZoneSet::sync(), and cellsToCellsStabilisation::update().
Swap coupled positions.
Definition at line 451 of file syncTools.H.
References syncTools::syncBoundaryFaceList().
Referenced by polyMeshTetDecomposition::checkFaceTets(), polyMeshTetDecomposition::findFaceBasePts(), and syncTools::swapBoundaryCellPositions().
Swap coupled face values.
Definition at line 468 of file syncTools.H.
References primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), and syncTools::syncBoundaryFaceList().
Referenced by refiner::refiner().
|
static |
Swap to obtain neighbour cell values for all boundary faces.
Definition at line 1531 of file syncToolsTemplates.C.
References Foam::abort(), polyMesh::boundaryMesh(), polyPatch::faceCells(), Foam::FatalError, FatalErrorInFunction, forAll, primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), patches, patchi, List< T >::setSize(), UList< T >::size(), polyPatch::start(), and syncTools::swapBoundaryFaceList().
Referenced by decompositionMethod::decompose(), and meshRefinement::zonify().
|
static |
Swap to obtain neighbour cell positions for all boundary faces.
Definition at line 30 of file syncTools.C.
References Foam::abort(), polyMesh::boundaryMesh(), polyPatch::faceCells(), Foam::FatalError, FatalErrorInFunction, forAll, primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), patches, patchi, List< T >::setSize(), UList< T >::size(), polyPatch::start(), and syncTools::swapBoundaryFacePositions().
|
inlinestatic |
Synchronise values on selected points.
Definition at line 510 of file syncTools.H.
References syncTools::syncPointMap().
|
inlinestatic |
Synchronise locations on selected points.
Definition at line 522 of file syncTools.H.
References syncTools::syncPointMap().
|
inlinestatic |
Synchronise values on selected edges. Edges are represented.
by the two vertices that make it up so global edges never get constructed.
Definition at line 542 of file syncTools.H.
References syncTools::syncEdgeMap().
|
inlinestatic |
Synchronise locations on selected edges.
Definition at line 554 of file syncTools.H.
References syncTools::syncEdgeMap().
|
static |
Definition at line 1416 of file syncToolsTemplates.C.
References Foam::abort(), polyMesh::boundaryMesh(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, cyclicPolyPatch::nbrPatch(), processorPolyPatch::neighbProcNo(), primitiveMesh::nFaces(), UPstream::nonBlocking, cyclicPolyPatch::owner(), patches, patchi, PackedList< nBits >::size(), UList< T >::size(), and polyPatch::start().
|
static |
Definition at line 1567 of file syncToolsTemplates.C.
|
static |
Definition at line 1578 of file syncToolsTemplates.C.
References Foam::abort(), distributionMapBase::constructSize(), globalMeshData::coupledPatch(), Foam::FatalError, FatalErrorInFunction, forAll, polyMesh::globalData(), globalMeshData::globalPointSlaves(), globalMeshData::globalPointSlavesMap(), globalMeshData::globalPointTransformedSlaves(), PrimitivePatch< FaceList, PointField >::meshPoints(), primitiveMesh::nPoints(), PackedList< nBits >::size(), and globalMeshData::syncData().
|
static |
Definition at line 1621 of file syncToolsTemplates.C.
References Foam::abort(), distributionMapBase::constructSize(), globalMeshData::coupledPatchMeshEdges(), Foam::FatalError, FatalErrorInFunction, forAll, polyMesh::globalData(), globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), primitiveMesh::nEdges(), PackedList< nBits >::size(), and globalMeshData::syncData().
|
static |
Get per point whether it is uncoupled or a master of a.
coupled set of points
Definition at line 65 of file syncTools.C.
References globalMeshData::coupledPatch(), forAll, polyMesh::globalData(), globalMeshData::globalPointSlaves(), globalMeshData::globalPointTransformedSlaves(), PrimitivePatch< FaceList, PointField >::meshPoints(), and primitiveMesh::nPoints().
Referenced by meshRefinement::printMeshInfo().
|
static |
Get per edge whether it is uncoupled or a master of a.
coupled set of edges
Definition at line 109 of file syncTools.C.
References globalMeshData::coupledPatchMeshEdges(), forAll, polyMesh::globalData(), globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeTransformedSlaves(), and primitiveMesh::nEdges().
Referenced by motionSmootherAlgo::topoChange().
|
static |
Get per face whether it is uncoupled or a master of a.
coupled set of faces
Definition at line 153 of file syncTools.C.
References polyMesh::boundaryMesh(), forAll, primitiveMesh::nFaces(), coupledPolyPatch::owner(), patches, patchi, polyPatch::start(), and PackedBoolList::unset().
Referenced by meshRefinement::countHits(), meshRefinement::printMeshInfo(), faceZoneSet::sync(), and meshRefinement::zonify().
|
static |
Get per face whether it is internal or a master of a.
coupled set of faces
Definition at line 180 of file syncTools.C.
References polyMesh::boundaryMesh(), polyPatch::coupled(), forAll, primitiveMesh::nFaces(), patches, patchi, polyPatch::start(), and PackedBoolList::unset().
|
static |
Get per face whether it is internal or coupled.
Definition at line 216 of file syncTools.C.
References polyMesh::boundaryMesh(), polyPatch::coupled(), forAll, primitiveMesh::nFaces(), patches, patchi, polyPatch::start(), and PackedBoolList::unset().