Various tools to aid synchronizing 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) |
Synchronize 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) |
Synchronize 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) |
Synchronize 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) |
Synchronize 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) |
Synchronize 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) |
Synchronize 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()) |
Synchronize 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) |
Synchronize values on all mesh points. More... | |
template<class CombineOp > | |
static void | syncPointPositions (const polyMesh &mesh, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronize 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) |
Synchronize 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) |
Synchronize 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) |
Synchronize values on all mesh edges. More... | |
template<class CombineOp > | |
static void | syncEdgePositions (const polyMesh &mesh, List< point > &l, const CombineOp &cop, const point &nullValue) |
Synchronize 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) |
Synchronize 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) |
Synchronize locations on selected mesh edges. More... | |
template<class T , class CombineOp > | |
static void | syncBoundaryFaceList (const polyMesh &mesh, UList< T > &l, const CombineOp &cop) |
Synchronize values on boundary faces only. More... | |
template<class CombineOp > | |
static void | syncBoundaryFacePositions (const polyMesh &mesh, UList< point > &l, const CombineOp &cop) |
Synchronize locations on boundary faces only. More... | |
template<class T , class CombineOp > | |
static void | syncFaceList (const polyMesh &mesh, UList< T > &l, const CombineOp &cop) |
Synchronize values on all mesh faces. More... | |
template<class CombineOp > | |
static void | syncFacePositions (const polyMesh &mesh, UList< point > &l, const CombineOp &cop) |
Synchronize 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) |
Synchronize values on selected points. More... | |
template<class CombineOp > | |
static void | syncPointPositions (const polyMesh &mesh, Map< point > &l, const CombineOp &cop) |
Synchronize locations on selected points. More... | |
template<class T , class CombineOp > | |
static void | syncEdgeMap (const polyMesh &mesh, EdgeMap< T > &l, const CombineOp &cop) |
Synchronize values on selected edges. Edges are represented. More... | |
template<class CombineOp > | |
static void | syncEdgePositions (const polyMesh &mesh, EdgeMap< point > &l, const CombineOp &cop) |
Synchronize 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... | |
Static Private Member Functions | |
template<class T , class CombineOp > | |
static void | combine (Map< T > &pointValues, const CombineOp &cop, const label index, const T &val) |
Combine value with existing value in map. More... | |
template<class T , class CombineOp > | |
static void | combine (EdgeMap< T > &edgeValues, const CombineOp &cop, const edge &index, const T &val) |
Combine val with existing value at (implicit index) e. More... | |
Various tools to aid synchronizing lists across coupled patches. WIP.
Definition at line 62 of file syncTools.H.
|
staticprivate |
Combine value with existing value in map.
Definition at line 41 of file syncToolsTemplates.C.
|
staticprivate |
Combine val with existing value at (implicit index) e.
Definition at line 64 of file syncToolsTemplates.C.
References HashTable< T, edge, Hash< edge > >::find(), and HashTable< T, edge, Hash< edge > >::insert().
|
static |
Synchronize values on selected points.
Definition at line 86 of file syncToolsTemplates.C.
References Foam::ListListOps::combine(), cyclicPolyPatch::coupledPoints(), Foam::constant::electromagnetic::e, PstreamBuffers::finishedSends(), forAll, forAllConstIter(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), cyclicPolyPatch::neighbPatch(), processorPolyPatch::neighbPoints(), processorPolyPatch::neighbProcNo(), globalMeshData::nGlobalPoints(), nPoints, cyclicPolyPatch::owner(), patches, globalMeshData::sharedPointAddr(), globalMeshData::sharedPointLabels(), and List::size().
Referenced by syncTools::syncPointMap(), syncTools::syncPointPositions(), and testSparseData().
|
static |
Synchronize values on selected edges.
Definition at line 391 of file syncToolsTemplates.C.
References Foam::ListListOps::combine(), cyclicPolyPatch::coupledEdges(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), f(), HashTable< T, edge, Hash< edge > >::find(), PstreamBuffers::finishedSends(), forAll, forAllConstIter(), HashTable< T, edge, Hash< edge > >::insert(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), cyclicPolyPatch::neighbPatch(), processorPolyPatch::neighbPoints(), processorPolyPatch::neighbProcNo(), cyclicPolyPatch::owner(), patches, Foam::help::sharedEdge(), globalMeshData::sharedPointAddr(), globalMeshData::sharedPointLabels(), and List::size().
Referenced by patchPatchDist::correct(), syncTools::syncEdgeMap(), syncTools::syncEdgePositions(), and testSparseData().
|
static |
Synchronize values on all mesh points.
Definition at line 984 of file syncToolsTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, mesh, and List::size().
Referenced by autoLayerDriver::addLayers(), autoLayerDriver::calculateLayerThickness(), pointZone::checkParallelSync(), hexRef8::checkRefinementLevels(), edgeCollapser::consistentCollapse(), hexRef8::consistentSlowRefinement(), motionSmootherAlgo::correctBoundaryConditions(), meshRefinement::dupNonManifoldBoundaryPoints(), medialAxisMeshMover::findIsolatedRegions(), meshRefinement::getMasterPoints(), autoLayerDriver::growNoExtrusion(), patchTransformedInterpolation::interpolate(), multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(), motionSmootherAlgo::scaleMesh(), dynamicRefineFvMesh::selectUnrefinePoints(), motionSmootherAlgo::setDisplacement(), autoLayerDriver::setNumLayers(), addPatchCellLayer::setRefinement(), autoLayerDriver::setupLayerInfoTruncation(), fieldSmoother::smoothNormals(), solidBodyMotionFvMesh::solidBodyMotionFvMesh(), pointSet::sync(), medialAxisMeshMover::syncPatchDisplacement(), autoLayerDriver::syncPatchDisplacement(), syncTools::syncPointList(), syncTools::syncPointPositions(), testPackedList(), testPointSync(), testSparseData(), meshRefinement::testSyncPointList(), and polyMeshFilter::updatePointPriorities().
|
static |
Synchronize values on selected mesh points.
Definition at line 1027 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatch(), Foam::FatalError, FatalErrorInFunction, forAll, globalMeshData::globalPointSlaves(), globalMeshData::globalPointSlavesMap(), globalMeshData::globalPointTransformedSlaves(), globalMeshData::globalTransforms(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPointMap(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), and List::size().
|
static |
Synchronize values on all mesh edges.
Definition at line 1141 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatchMeshEdges(), Foam::FatalError, FatalErrorInFunction, forAll, globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), globalMeshData::globalTransforms(), mesh, and List::size().
Referenced by polyMeshFilter::checkMeshEdgesAndRelaxEdges(), edgeCollapser::consistentCollapse(), hexRef8::getLevel0EdgeLength(), meshRefinement::getMasterEdges(), addPatchCellLayer::globalEdgeFaces(), autoLayerDriver::handleFeatureAngle(), medialAxisMeshMover::handleFeatureAngleLayerTerminations(), autoLayerDriver::handleNonManifolds(), polyMeshFilter::mapOldMeshEdgeFieldToNewMesh(), addPatchCellLayer::setRefinement(), hexRef8::setRefinement(), syncTools::syncEdgeList(), syncTools::syncEdgePositions(), testEdgeSync(), testPackedList(), and testSparseData().
|
static |
Synchronize values on selected mesh edges.
Definition at line 1229 of file syncToolsTemplates.C.
References Foam::abort(), globalMeshData::coupledPatch(), globalMeshData::coupledPatchMeshEdgeMap(), Foam::FatalError, FatalErrorInFunction, forAll, globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), globalMeshData::globalTransforms(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), and List::size().
|
static |
Synchronize values on boundary faces only.
Definition at line 1285 of file syncToolsTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, mesh, cyclicPolyPatch::neighbPatch(), processorPolyPatch::neighbProcNo(), cyclicPolyPatch::owner(), patches, UList::size(), and polyPatch::start().
Referenced by cellToFaceStencil::calcFaceStencil(), removePoints::getUnrefimentSet(), syncTools::swapBoundaryFaceList(), syncTools::swapBoundaryFacePositions(), syncTools::swapFaceList(), syncTools::syncBoundaryFaceList(), syncTools::syncBoundaryFacePositions(), syncTools::syncFaceList(), and syncTools::syncFacePositions().
|
inlinestatic |
Synchronize values on all mesh points.
Definition at line 176 of file syncTools.H.
References mesh, and syncTools::syncPointList().
|
inlinestatic |
Synchronize locations on all mesh points.
Definition at line 196 of file syncTools.H.
References mesh, and syncTools::syncPointList().
Referenced by isoSurfaceCell::calcSnappedPoint(), and testPointSync().
|
inlinestatic |
Synchronize values on selected mesh points.
Definition at line 216 of file syncTools.H.
References mesh, and syncTools::syncPointList().
|
inlinestatic |
Synchronize locations on selected mesh points.
Definition at line 238 of file syncTools.H.
References mesh, and syncTools::syncPointList().
|
inlinestatic |
Synchronize values on all mesh edges.
Definition at line 263 of file syncTools.H.
References mesh, and syncTools::syncEdgeList().
|
inlinestatic |
Synchronize locations on all mesh edges.
Definition at line 283 of file syncTools.H.
References mesh, and syncTools::syncEdgeList().
Referenced by hexRef8::setRefinement(), and testEdgeSync().
|
inlinestatic |
Synchronize values on selected mesh edges.
Definition at line 303 of file syncTools.H.
References mesh, and syncTools::syncEdgeList().
|
inlinestatic |
Synchronize locations on selected mesh edges.
Definition at line 325 of file syncTools.H.
References mesh, and syncTools::syncEdgeList().
|
inlinestatic |
Synchronize values on boundary faces only.
Definition at line 351 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
|
inlinestatic |
Synchronize locations on boundary faces only.
Definition at line 363 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by meshRefinement::checkData(), and hexRef8::setRefinement().
|
inlinestatic |
Synchronize values on all mesh faces.
Definition at line 381 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by preserveBafflesConstraint::add(), refinementHistory::add(), meshRefinement::balance(), polyMeshFilter::checkMeshFacesAndRelaxEdges(), dynamicRefineFvMesh::dynamicRefineFvMesh(), dynamicRefineFvMesh::extendMarkedCells(), polyMeshFilter::mapOldMeshFaceFieldToNewMesh(), MRFZone::setMRFFaces(), hexRef8::setRefinement(), faceSet::sync(), testFaceSync(), testPackedList(), and meshRefinement::updateIntersections().
|
inlinestatic |
Synchronize locations on all mesh faces.
Definition at line 406 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by testFaceSync().
Swap coupled boundary face values.
Definition at line 430 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by edgeCollapser::calcTargetFaceSizes(), meshRefinement::checkCoupledFaceZones(), meshRefinement::checkData(), hexRef8::checkMesh(), faceZone::checkParallelSync(), hexRef8::checkRefinementLevels(), polyMeshGeometry::checkVolRatio(), hexRef8::checkWantedRefinementLevels(), cellToFace::combine(), hexRef8::consistentSlowRefinement(), hexRef8::consistentUnrefinement(), hexRef8::faceConsistentRefinement(), fvMeshDistribute::getNeighbourData(), SloanRenumber::renumber(), rotorDiskSource::setFaceArea(), and hexRef8::setRefinement().
Swap coupled positions.
Definition at line 446 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by polyMeshGeometry::checkFaceDotProduct(), polyMeshGeometry::checkFaceTets(), polyMeshGeometry::checkFaceTwist(), and polyMeshGeometry::checkFaceWeights().
Swap coupled face values.
Definition at line 463 of file syncTools.H.
References mesh, and syncTools::syncBoundaryFaceList().
Referenced by dynamicRefineFvMesh::dynamicRefineFvMesh().
|
static |
Swap to obtain neighbour cell values for all boundary faces.
Definition at line 1523 of file syncToolsTemplates.C.
References Foam::abort(), polyPatch::faceCells(), Foam::FatalError, FatalErrorInFunction, forAll, mesh, patches, List::setSize(), UList::size(), and polyPatch::start().
Referenced by meshRefinement::zonify().
|
static |
Swap to obtain neighbour cell positions for all boundary faces.
Definition at line 31 of file syncTools.C.
References Foam::abort(), polyPatch::faceCells(), Foam::FatalError, FatalErrorInFunction, forAll, mesh, patches, List::setSize(), UList::size(), and polyPatch::start().
Referenced by searchableSurfaceToFaceZone::applyToSet(), and polyMeshGeometry::checkFaceSkewness().
|
inlinestatic |
Synchronize values on selected points.
Definition at line 505 of file syncTools.H.
References mesh, and syncTools::syncPointMap().
|
inlinestatic |
Synchronize locations on selected points.
Definition at line 517 of file syncTools.H.
References mesh, and syncTools::syncPointMap().
|
inlinestatic |
Synchronize values on selected edges. Edges are represented.
by the two vertices that make it up so global edges never get constructed.
Definition at line 531 of file syncTools.H.
References mesh, and syncTools::syncEdgeMap().
|
inlinestatic |
Synchronize locations on selected edges.
Definition at line 543 of file syncTools.H.
References mesh, and syncTools::syncEdgeMap().
|
static |
Definition at line 1408 of file syncToolsTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, mesh, cyclicPolyPatch::neighbPatch(), processorPolyPatch::neighbProcNo(), cyclicPolyPatch::owner(), patches, PackedList::size(), and polyPatch::start().
|
static |
Definition at line 1559 of file syncToolsTemplates.C.
References mesh.
|
static |
Definition at line 1570 of file syncToolsTemplates.C.
References Foam::abort(), mapDistributeBase::constructSize(), globalMeshData::coupledPatch(), Foam::FatalError, FatalErrorInFunction, forAll, globalMeshData::globalPointSlaves(), globalMeshData::globalPointSlavesMap(), globalMeshData::globalPointTransformedSlaves(), mesh, PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), and PackedList::size().
|
static |
Definition at line 1613 of file syncToolsTemplates.C.
References Foam::abort(), mapDistributeBase::constructSize(), globalMeshData::coupledPatchMeshEdges(), Foam::FatalError, FatalErrorInFunction, forAll, globalMeshData::globalEdgeSlaves(), globalMeshData::globalEdgeSlavesMap(), globalMeshData::globalEdgeTransformedSlaves(), mesh, and PackedList::size().
|
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, globalMeshData::globalPointSlaves(), globalMeshData::globalPointTransformedSlaves(), mesh, and PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints().
Referenced by medialAxisMeshMover::calculateDisplacement(), autoLayerDriver::calculateLayerThickness(), meshRefinement::printMeshInfo(), testPointSync(), and medialAxisMeshMover::update().
|
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(), mesh, and primitiveMesh::nEdges().
Referenced by medialAxisMeshMover::calculateDisplacement(), testEdgeSync(), medialAxisMeshMover::update(), and motionSmootherAlgo::updateMesh().
|
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, mesh, primitiveMesh::nFaces(), coupledPolyPatch::owner(), patches, polyPatch::start(), and PackedBoolList::unset().
Referenced by meshRefinement::countHits(), meshRefinement::printMeshInfo(), testFaceSync(), meshRefinement::updateIntersections(), and meshRefinement::zonify().
|
static |
Get per face whether it is internal or a master of a.
coupled set of faces
Definition at line 181 of file syncTools.C.
References polyMesh::boundaryMesh(), polyPatch::coupled(), forAll, mesh, primitiveMesh::nFaces(), patches, polyPatch::start(), and PackedBoolList::unset().
|
static |
Get per face whether it is internal or coupled.
Definition at line 217 of file syncTools.C.
References polyMesh::boundaryMesh(), polyPatch::coupled(), forAll, mesh, primitiveMesh::nFaces(), patches, polyPatch::start(), and PackedBoolList::unset().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.