Public Types | |
enum | octreeCubeTypes { NONE = 0, MESHCELL = 1, BOUNDARY = 2, SPLITHEX = 4, INNERNODE = 8, OUTERNODE = 16, BOUNDARYNODE = 32 } |
Public Member Functions | |
meshOctreeAddressing (const meshOctree &mo, const dictionary &dict, bool useDATABoxes=false) | |
Construct from surface and dictionary. More... | |
~meshOctreeAddressing () | |
void | checkAndFixIrregularConnections () |
label | numberOfNodes () const |
return number of octree nodes More... | |
const pointField & | octreePoints () const |
return coordinates of octree vertices More... | |
const VRWGraph & | nodeLabels () const |
return nodeLabels More... | |
const FRWGraph< label, 8 > & | nodeLeaves () const |
return nodeLeaves More... | |
const List< direction > & | boxType () const |
return which octree boxes are used for mesh creation More... | |
const List< direction > & | nodeType () const |
return type of node (INNERNODE,or OUTERNODE) More... | |
void | setBoxType (const label boxI, const direction type) |
set box type More... | |
const VRWGraph & | octreeFaces () const |
return octree faces, created for MESHCELL boxes More... | |
const labelLongList & | octreeFaceOwner () const |
return owners of octree faces More... | |
const labelLongList & | octreeFaceNeighbour () const |
return neighbours of octree faces More... | |
const VRWGraph & | leafFaces () const |
return octree box-faces addressing More... | |
bool | isIntersectedFace (const label fI) const |
checks if the face is intersected by the surface More... | |
const VRWGraph & | leafLeaves () const |
return leaf-leaves addressing More... | |
const VRWGraph & | nodeFaces () const |
return node-faces addressing More... | |
const LongList< edge > & | octreeEdges () const |
return octree edges, created for MESHCELL boxes More... | |
const VRWGraph & | edgeLeaves () const |
return edge-leaves addressing More... | |
const VRWGraph & | leafEdges () const |
return leaf-edges addressing More... | |
bool | isIntersectedEdge (const label eI) const |
checks if the edge is intersected by the surface More... | |
void | edgeIntersections (const label eI, DynList< point > &intersections) const |
const VRWGraph & | nodeEdges () const |
return node-edges addressing More... | |
const VRWGraph & | faceEdges () const |
return face-edges addressing More... | |
const VRWGraph & | edgeFaces () const |
return edge-faces addressing More... | |
const meshOctree & | octree () const |
return const reference to meshOctree More... | |
void | cubesAroundEdge (const label leafI, const direction eI, FixedList< label, 4 > &edgeCubes) const |
find cubes around an edge (cubes must be at the same level) More... | |
label | findEdgeCentre (const label leafI, const direction eI) const |
find edge centre if it exists More... | |
const labelLongList & | globalPointLabel () const |
return global point labels More... | |
const Map< label > & | globalToLocalPointAddressing () const |
global point label to local label. Only for processors points More... | |
const VRWGraph & | pointAtProcs () const |
processors which contain an octree point More... | |
const labelLongList & | globalFaceLabel () const |
return global labels of octree faces More... | |
const Map< label > & | globalToLocalFaceAddressing () const |
return global face label to face label. Only for processor faces More... | |
const VRWGraph & | faceAtProcs () const |
return processors which contain each octree face More... | |
const labelLongList & | globalLeafLabel () const |
return global labels of octree leaves More... | |
const VRWGraph & | leafAtProcs () const |
return processors which contain each octree leaf More... | |
const Map< label > & | globalToLocalLeafAddressing () const |
return global leaf label to local label addressing More... | |
Private Member Functions | |
void | createOctreePoints () const |
calculate octreePointsPtr_ More... | |
void | createNodeLabels () const |
calculate nodeLabelsPtr_ More... | |
void | createNodeLeaves () const |
calculate nodeLeavesPtr_ More... | |
void | findUsedBoxes () const |
assemble boxTypePtr_ list More... | |
void | calculateNodeType () const |
calculate nodeTypePtr_ More... | |
void | createOctreeFaces () const |
calculate faces More... | |
void | calculateLeafFaces () const |
calculate leaf-faces addressing More... | |
void | calculateNodeFaces () const |
calculate node-faces addressing More... | |
void | calculateLeafLeaves () const |
calculate leaf-leaves addressing More... | |
void | createOctreeEdges () const |
calculate edges More... | |
void | calculateLeafEdges () const |
calculate leaf-edges More... | |
void | calculateEdgeLeaves () const |
calculate edge-leaves addressing More... | |
void | calculateEdgeFaces () const |
calculate edge-faces More... | |
void | clearOut () |
Clear allocated data. More... | |
void | clearBoxTypes () |
void | clearNodeAddressing () |
void | clearOctreeFaces () |
void | clearAddressing () |
void | clearParallelAddressing () |
void | checkGluedRegions () |
check if distinct parts are glued together More... | |
void | calcGlobalPointLabels () const |
void | calcGlobalFaceLabels () const |
void | calcGlobalLeafLabels () const |
meshOctreeAddressing (const meshOctreeAddressing &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const meshOctreeAddressing &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const meshOctree & | octree_ |
reference to the octree More... | |
const dictionary & | meshDict_ |
reference to the dictionary More... | |
bool | useDATABoxes_ |
use DATA boxes More... | |
label | nNodes_ |
number of created octree nodes More... | |
pointField * | octreePointsPtr_ |
coordinates of octree nodes More... | |
VRWGraph * | nodeLabelsPtr_ |
node labels More... | |
FRWGraph< label, 8 > * | nodeLeavesPtr_ |
node leaves More... | |
List< direction > * | boxTypePtr_ |
identify which boxes should be used as mesh cells More... | |
List< direction > * | nodeTypePtr_ |
identify created nodes as OUTERNODE or INNERNODE More... | |
VRWGraph * | octreeFacesPtr_ |
faces of the octree More... | |
labelLongList * | octreeFacesOwnersPtr_ |
labelLongList * | octreeFacesNeighboursPtr_ |
VRWGraph * | leafFacesPtr_ |
octree box-faces addressing More... | |
VRWGraph * | nodeFacesPtr_ |
node-faces addressing More... | |
VRWGraph * | leafLeavesPtr_ |
leaf-leaves addressing More... | |
LongList< edge > * | octreeEdgesPtr_ |
edges of the octree More... | |
VRWGraph * | edgeLeavesPtr_ |
edges-leaves addressing More... | |
VRWGraph * | leafEdgesPtr_ |
leaf-edges addressing More... | |
VRWGraph * | nodeEdgesPtr_ |
node-edges addressing More... | |
VRWGraph * | faceEdgesPtr_ |
face-edges addressing More... | |
VRWGraph * | edgeFacesPtr_ |
edge-faces addressing More... | |
labelLongList * | globalPointLabelPtr_ |
global octree point label More... | |
Map< label > * | globalPointToLocalPtr_ |
global point to local label addressing More... | |
VRWGraph * | pointProcsPtr_ |
point-processors addressing More... | |
labelLongList * | globalFaceLabelPtr_ |
global octree face label More... | |
Map< label > * | globalFaceToLocalPtr_ |
global face label to local label addressing More... | |
VRWGraph * | faceProcsPtr_ |
face-processors addressing More... | |
labelLongList * | globalLeafLabelPtr_ |
global leaf label More... | |
Map< label > * | globalLeafToLocalPtr_ |
global leaf label to local label addressing for octree leaves More... | |
VRWGraph * | leafAtProcsPtr_ |
leaf at procs More... | |
Definition at line 59 of file meshOctreeAddressing.H.
enum octreeCubeTypes |
Enumerator | |
---|---|
NONE | |
MESHCELL | |
BOUNDARY | |
SPLITHEX | |
INNERNODE | |
OUTERNODE | |
BOUNDARYNODE |
Definition at line 231 of file meshOctreeAddressing.H.
|
private |
Disallow default bitwise copy construct.
meshOctreeAddressing | ( | const meshOctree & | mo, |
const dictionary & | dict, | ||
bool | useDATABoxes = false |
||
) |
Construct from surface and dictionary.
check for glued regions
Definition at line 103 of file meshOctreeAddressing.C.
References meshOctreeModifier::addLayerFromNeighbouringProcessors(), dict, dictionary::found(), dictionary::lookup(), UPstream::parRun(), and Foam::readBool().
~meshOctreeAddressing | ( | ) |
Definition at line 168 of file meshOctreeAddressing.C.
References meshOctreeAddressing::clearOut().
|
private |
calculate octreePointsPtr_
Definition at line 123 of file meshOctreeAddressingCreation.C.
References forAllRow, meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreePoints(), meshOctreeAddressing::octreePointsPtr_, meshOctree::returnLeaf(), meshOctree::rootBox(), VRWGraph::size(), VRWGraph::sizeOfRow(), and meshOctreeCubeCoordinates::vertices().
Referenced by meshOctreeAddressing::octreePoints().
|
private |
calculate nodeLabelsPtr_
allocate storage for node labels
start creating node labels
count the number of nodes local to each process
set node labels to -2 not to repeat searches
set start node for each process
start creating node labels
store the vertex at the corresponding location in the cube
store vertex label
set the number of nodes
Definition at line 153 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::BOUNDARY, meshOctreeAddressing::boxType(), Foam::endl(), meshOctree::findLeavesForCubeVertex(), forAll, forAllRow, Foam::Info, meshOctreeCubeCoordinates::level(), Foam::max(), meshOctreeAddressing::MESHCELL, Foam::min(), meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::nodeLabelsPtr_, meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, meshOctree::returnLeaf(), VRWGraph::setRowSize(), DynList< T, staticSize >::setSize(), and VRWGraph::size().
Referenced by meshOctreeAddressing::nodeLabels(), and meshOctreeAddressing::numberOfNodes().
|
private |
calculate nodeLeavesPtr_
allocate nodeLeavesPtr_
Definition at line 400 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::boxType(), meshOctree::findLeavesForCubeVertex(), forAll, forAllRow, meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::nodeLeaves(), meshOctreeAddressing::nodeLeavesPtr_, meshOctreeAddressing::octree_, and FRWGraph< T, width >::setRow().
Referenced by meshOctreeAddressing::nodeLeaves().
|
private |
assemble boxTypePtr_ list
do not use boxes intersecting given patches
remove facets in patches
remove facets in subsets
set BOUNDARY flag to boxes intersected by the given facets
keep facets in patches
keep facets in subsets
set MESHCELL flag to boxes intersected by the given facets
set BOUNDARY flag to boxes which do not have a MESHCELL flag
make sure that all processors have the same information about BOUNDARY boxes
Definition at line 441 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::BOUNDARY, meshOctreeAddressing::boxType(), meshOctreeAddressing::boxTypePtr_, DynList< T, staticSize >::clear(), meshOctree::containedTriangles(), meshOctreeCubeBasic::cubeType(), dict, Foam::endl(), Foam::help::exchangeMap(), triSurfFacets::facetsInSubset(), triSurfFacets::facetSubsetIndex(), meshOctree::findNeighboursInDirection(), triSurfFacets::findPatches(), forAll, forAllConstIter(), forAllRow, dictionary::found(), meshOctreeAddressing::globalLeafLabel(), meshOctreeAddressing::globalToLocalLeafAddressing(), meshOctree::hasContainedEdges(), meshOctree::hasContainedTriangles(), Foam::Info, HashSet< Key, Hash >::insert(), meshOctreeCubeBasic::INSIDE, dictionary::isDict(), meshOctreeAddressing::leafAtProcs(), dictionary::lookup(), meshOctreeAddressing::MESHCELL, meshOctreeAddressing::meshDict_, UPstream::myProcNo(), meshOctree::neiProcs(), meshOctreeAddressing::NONE, meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, UPstream::parRun(), triSurfFacets::patches(), patchNames(), Foam::readBool(), meshOctree::returnLeaf(), List::size(), triSurfFacets::size(), dictionary::subDict(), meshOctree::surface(), HashTable::transfer(), meshOctreeCubeBasic::UNKNOWN, and meshOctreeAddressing::useDATABoxes_.
Referenced by meshOctreeAddressing::boxType().
|
private |
calculate nodeTypePtr_
Definition at line 711 of file meshOctreeAddressingCreation.C.
References meshOctreeCubeBasic::cubeType(), forAll, forAllRow, meshOctree::hasContainedTriangles(), meshOctreeAddressing::INNERNODE, meshOctreeCubeBasic::INSIDE, meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeLeaves(), meshOctreeAddressing::nodeType(), meshOctreeAddressing::nodeTypePtr_, meshOctreeAddressing::NONE, meshOctreeAddressing::octree_, meshOctreeAddressing::OUTERNODE, meshOctreeCubeBasic::OUTSIDE, meshOctree::returnLeaf(), and meshOctreeCubeBasic::UNKNOWN.
Referenced by meshOctreeAddressing::nodeType().
|
private |
calculate faces
faces are created and stored into helper arrays, and each thread allocates its own graph for storing faces. The faces are generated by dividing the octree leaves into chunks, and distributing these chunks over the threads. There are four chunks per each thread to improve load balancing. The number of faces generated in each chunk is stored and later in used to store the faces into the octree faces graph in the correct order
stop if the neighbour is on other processor
create face
face is at the boundary of the octree
face is an internal face
append a reversed face
face is at the boundary of the mesh cells
add a boundary face
store the size of this chunk
set the sizes of faces graph
set the size of face graph rows and copy owners and neighbours
copy the data into octree faces
Definition at line 752 of file meshOctreeAddressingCreation.C.
References Foam::add(), LongList< T, Offset >::append(), VRWGraph::appendList(), meshOctreeAddressing::BOUNDARY, meshOctreeAddressing::boxType(), Foam::endl(), f(), meshOctreeCubeCoordinates::faceEdges_, meshOctreeCubeCoordinates::faceNodes_, meshOctreeAddressing::findEdgeCentre(), meshOctree::findNeighboursInDirection(), forAll, Foam::Info, meshOctreeCubeCoordinates::level(), Foam::mag(), meshOctreeAddressing::MESHCELL, Foam::min(), UPstream::myProcNo(), n, meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::nodeLeaves(), meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeFacesNeighboursPtr_, meshOctreeAddressing::octreeFacesOwnersPtr_, meshOctreeAddressing::octreeFacesPtr_, meshOctreeAddressing::octreePoints(), LongList< T, Offset >::operator, meshOctreeCubeBasic::OTHERPROC, UPstream::parRun(), meshOctreeCubeBasic::procNo(), meshOctree::returnLeaf(), face::reverseFace(), LongList< T, Offset >::setSize(), List::setSize(), VRWGraph::setSize(), VRWGraphSMPModifier::setSizeAndRowSize(), List::size(), DynList< T, staticSize >::size(), VRWGraph::size(), VRWGraph::sizeOfRow(), Foam::sum(), and Vector< scalar >::zero.
Referenced by meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), and meshOctreeAddressing::octreeFaces().
|
private |
calculate leaf-faces addressing
Definition at line 1063 of file meshOctreeAddressingCreation.C.
References forAll, meshOctreeAddressing::leafFaces(), meshOctreeAddressing::leafFacesPtr_, meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), VRWGraph::setRowSize(), and VRWGraph::size().
Referenced by meshOctreeAddressing::leafFaces().
|
private |
calculate node-faces addressing
Definition at line 1093 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::nodeFaces(), meshOctreeAddressing::nodeFacesPtr_, meshOctreeAddressing::numberOfNodes(), meshOctreeAddressing::octreeFaces(), VRWGraphSMPModifier::reverseAddressing(), and VRWGraph::setSize().
Referenced by meshOctreeAddressing::nodeFaces().
|
private |
calculate leaf-leaves addressing
Definition at line 1103 of file meshOctreeAddressingCreation.C.
References forAll, meshOctreeAddressing::leafLeaves(), meshOctreeAddressing::leafLeavesPtr_, meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), VRWGraph::setRowSize(), and VRWGraph::size().
Referenced by meshOctreeAddressing::leafLeaves().
|
private |
calculate edges
allocate memory for edges, face-edges addressing and node-edges addressing
append new edge
Definition at line 1140 of file meshOctreeAddressingCreation.C.
References LongList< T, Offset >::append(), VRWGraph::append(), Foam::e, meshOctreeAddressing::faceEdges(), meshOctreeAddressing::faceEdgesPtr_, forAll, forAllRow, meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeEdges(), meshOctreeAddressing::nodeEdgesPtr_, meshOctreeAddressing::octreeEdgesPtr_, meshOctreeAddressing::octreeFaces(), VRWGraph::setRowSize(), VRWGraph::setSizeAndColumnWidth(), LongList< T, Offset >::size(), VRWGraph::size(), and VRWGraph::sizeOfRow().
Referenced by meshOctreeAddressing::faceEdges(), meshOctreeAddressing::nodeEdges(), and meshOctreeAddressing::octreeEdges().
|
private |
calculate leaf-edges
Definition at line 1200 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::edgeLeaves(), meshOctreeAddressing::leafEdges(), meshOctreeAddressing::leafEdgesPtr_, meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, VRWGraphSMPModifier::reverseAddressing(), and VRWGraph::setSize().
Referenced by meshOctreeAddressing::leafEdges().
|
private |
calculate edge-leaves addressing
Definition at line 1211 of file meshOctreeAddressingCreation.C.
References VRWGraph::appendIfNotIn(), meshOctreeAddressing::edgeFaces(), meshOctreeAddressing::edgeLeaves(), meshOctreeAddressing::edgeLeavesPtr_, forAll, forAllRow, meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), VRWGraph::setSizeAndColumnWidth(), and VRWGraph::size().
Referenced by meshOctreeAddressing::edgeLeaves().
|
private |
calculate edge-faces
Definition at line 1238 of file meshOctreeAddressingCreation.C.
References meshOctreeAddressing::edgeFaces(), meshOctreeAddressing::edgeFacesPtr_, meshOctreeAddressing::faceEdges(), meshOctreeAddressing::octreeEdges(), VRWGraphSMPModifier::reverseAddressing(), and VRWGraph::setSize().
Referenced by meshOctreeAddressing::edgeFaces().
|
private |
Clear allocated data.
Definition at line 42 of file meshOctreeAddressing.C.
References meshOctreeAddressing::clearAddressing(), meshOctreeAddressing::clearBoxTypes(), meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::clearOctreeFaces(), and meshOctreeAddressing::clearParallelAddressing().
Referenced by meshOctreeAddressing::~meshOctreeAddressing().
|
private |
Definition at line 61 of file meshOctreeAddressing.C.
References meshOctreeAddressing::boxTypePtr_, and Foam::deleteDemandDrivenData().
Referenced by meshOctreeAddressing::clearOut().
|
private |
Definition at line 51 of file meshOctreeAddressing.C.
References Foam::deleteDemandDrivenData(), meshOctreeAddressing::nNodes_, meshOctreeAddressing::nodeLabelsPtr_, meshOctreeAddressing::nodeLeavesPtr_, meshOctreeAddressing::nodeTypePtr_, and meshOctreeAddressing::octreePointsPtr_.
Referenced by meshOctreeAddressing::checkAndFixIrregularConnections(), and meshOctreeAddressing::clearOut().
|
private |
Definition at line 66 of file meshOctreeAddressing.C.
References Foam::deleteDemandDrivenData(), meshOctreeAddressing::octreeFacesNeighboursPtr_, meshOctreeAddressing::octreeFacesOwnersPtr_, and meshOctreeAddressing::octreeFacesPtr_.
Referenced by meshOctreeAddressing::checkAndFixIrregularConnections(), and meshOctreeAddressing::clearOut().
|
private |
Definition at line 73 of file meshOctreeAddressing.C.
References Foam::deleteDemandDrivenData(), meshOctreeAddressing::edgeFacesPtr_, meshOctreeAddressing::edgeLeavesPtr_, meshOctreeAddressing::faceEdgesPtr_, meshOctreeAddressing::leafEdgesPtr_, meshOctreeAddressing::leafFacesPtr_, meshOctreeAddressing::leafLeavesPtr_, meshOctreeAddressing::nodeEdgesPtr_, meshOctreeAddressing::nodeFacesPtr_, and meshOctreeAddressing::octreeEdgesPtr_.
Referenced by meshOctreeAddressing::checkAndFixIrregularConnections(), and meshOctreeAddressing::clearOut().
|
private |
Definition at line 86 of file meshOctreeAddressing.C.
References Foam::deleteDemandDrivenData(), meshOctreeAddressing::faceProcsPtr_, meshOctreeAddressing::globalFaceLabelPtr_, meshOctreeAddressing::globalFaceToLocalPtr_, meshOctreeAddressing::globalLeafLabelPtr_, meshOctreeAddressing::globalLeafToLocalPtr_, meshOctreeAddressing::globalPointLabelPtr_, meshOctreeAddressing::globalPointToLocalPtr_, meshOctreeAddressing::leafAtProcsPtr_, and meshOctreeAddressing::pointProcsPtr_.
Referenced by meshOctreeAddressing::clearOut().
|
private |
check if distinct parts are glued together
mark the initial INNERNODE
mark all INNERNODEs for which it is possible to walk along cubes edges without crossing any boundary
Definition at line 42 of file meshOctreeAddressingGluedMesh.C.
References LongList< T, Offset >::append(), meshOctreeAddressing::BOUNDARY, meshOctreeAddressing::boxType(), DynList< T, staticSize >::clear(), meshOctreeCubeBasic::coordinates(), meshOctreeCubeBasic::cubeType(), Foam::e, meshOctreeAddressing::edgeLeaves(), Foam::endl(), meshOctree::exchangeRequestsWithNeighbourProcessors(), meshOctree::findLeafLabelForPosition(), meshOctree::findNeighboursInDirection(), forAll, forAllConstIter(), forAllRow, HashTable::found(), dictionary::found(), meshOctree::hasContainedTriangles(), Foam::Info, meshOctreeAddressing::INNERNODE, HashSet< Key, Hash >::insert(), meshOctreeCubeBasic::INSIDE, meshOctreeAddressing::leafEdges(), dictionary::lookup(), meshOctreeAddressing::MESHCELL, meshOctreeAddressing::meshDict_, meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::nodeLeaves(), meshOctreeAddressing::nodeType(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeEdges(), UPstream::parRun(), Foam::readBool(), meshOctree::returnLeaf(), s(), HashTable::size(), and meshOctreeAddressing::useDATABoxes_.
|
private |
allocate containers
find the number of points local to each processor The point is taken to be local if it belongs to one processor, only, or to the leaf with the smallest label
exchange data with other processors
find the starting point label
assign global labels to local points
distribute the labels to other processors it is done by sending the global leaf label and the node labels to processors which contain the leaves as part of buffer layers it is performed in reduce-like manner
scatter the data from the processors above to the processors below receive the data from the processors above
receive the data
send the data to the processors below
add the current processor
send the data
gather the data from the processors below to the processors above receive the data from the processors below
receive the data
send the data to the processors below
add the current processor
send the data
Definition at line 48 of file meshOctreeAddressingParallelAddressing.C.
References Foam::abort(), LongList< T, Offset >::append(), DynList< T, staticSize >::append(), DynList< T, staticSize >::appendIfNotIn(), VRWGraph::appendIfNotIn(), UPstream::blocking, LongList< T, Offset >::byteSize(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, forAllReverse, forAllRow, found, Pstream::gatherList(), meshOctreeAddressing::globalLeafLabel(), meshOctreeAddressing::globalPointLabel(), meshOctreeAddressing::globalPointLabelPtr_, meshOctreeAddressing::globalPointToLocalPtr_, meshOctreeAddressing::globalToLocalLeafAddressing(), meshOctreeAddressing::leafAtProcs(), Foam::min(), UPstream::myProcNo(), meshOctree::neiProcs(), meshOctreeAddressing::nodeLabels(), meshOctreeAddressing::nodeLeaves(), UPstream::nProcs(), meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, UPstream::parRun(), meshOctreeAddressing::pointProcsPtr_, meshOctreeCubeBasic::procNo(), meshOctree::returnLeaf(), VRWGraph::reverseAddressing(), Pstream::scatterList(), VRWGraph::setRow(), FRWGraph< T, width >::size(), DynList< T, staticSize >::size(), and VRWGraph::sizeOfRow().
Referenced by meshOctreeAddressing::globalPointLabel(), meshOctreeAddressing::globalToLocalPointAddressing(), and meshOctreeAddressing::pointAtProcs().
|
private |
Definition at line 337 of file meshOctreeAddressingParallelAddressing.C.
References Foam::exit(), Foam::FatalError, FatalErrorIn, and UPstream::parRun().
Referenced by meshOctreeAddressing::faceAtProcs(), meshOctreeAddressing::globalFaceLabel(), and meshOctreeAddressing::globalToLocalFaceAddressing().
|
private |
allocate the memory
find the number of leaves local to each processor
exchange the data with other processors
find the starting labels for
set the global labels to local leaves
the rest of the code is needed in case an additional layer of of octree leaves belonging to other processors is added in order to simplify the procedure for generation of mesh templates
allocate the map for exchanging of data
Here we have to combine the information from all processors it is started such that all processors send the leaves to the processor that contains them locally
fill the map with data
exchange the data with other processors
update the local data
now the global leaf labels shall be sent from the processors that own the leaves to the processors that also contain them
fill in the data
exchange the data
set the labels to the leaves originating from other processors
update leafAtProcs for all processors
exchange the data
update the local data
Definition at line 346 of file meshOctreeAddressingParallelAddressing.C.
References Foam::abort(), LongList< T, Offset >::append(), VRWGraph::append(), VRWGraph::appendIfNotIn(), meshOctreeAddressing::boxType(), LongList< T, Offset >::clear(), VRWGraph::contains(), Foam::endl(), Foam::help::exchangeMap(), Foam::exit(), Foam::FatalError, FatalErrorIn, meshOctree::findLeafLabelForPosition(), forAll, forAllConstIter(), forAllRow, Pstream::gatherList(), meshOctreeAddressing::globalLeafLabel(), meshOctreeAddressing::globalLeafLabelPtr_, meshOctreeAddressing::globalLeafToLocalPtr_, meshOctreeAddressing::leafAtProcs(), meshOctreeAddressing::leafAtProcsPtr_, UPstream::myProcNo(), meshOctree::neiProcs(), meshOctreeAddressing::nodeLabels(), UPstream::nProcs(), meshOctree::numberOfLeaves(), meshOctreeAddressing::octree_, UPstream::parRun(), Foam::Pout, meshOctreeCubeBasic::procNo(), meshOctree::returnLeaf(), Foam::returnReduce(), Pstream::scatterList(), UPstream::scheduled, meshOctreeCubeBasic::setProcNo(), LongList< T, Offset >::size(), and VRWGraph::sizeOfRow().
Referenced by meshOctreeAddressing::globalLeafLabel(), meshOctreeAddressing::globalToLocalLeafAddressing(), and meshOctreeAddressing::leafAtProcs().
|
private |
Disallow default bitwise assignment.
void checkAndFixIrregularConnections | ( | ) |
check if there exist any non-signly connected edges and vertices in the octree mesh. This is primarily needed for the cartesian template
find boundary faces
remove irregular connections over edges
check if there exist two or more boundary face groups connected to a vertex
find boundary faces connected to the vertex
find the number of face groups at a given vertex
this vertex has two groups of faces connected to it
set BOUNDARY flag to all boxes connected to it
Definition at line 44 of file meshOctreeAddressingIrregularConnections.C.
References LongList< T, Offset >::append(), DynList< T, staticSize >::append(), HashTable::begin(), meshOctreeAddressing::BOUNDARY, meshOctreeAddressing::boxType(), meshOctreeAddressing::boxTypePtr_, DynList< T, staticSize >::clear(), meshOctreeAddressing::clearAddressing(), meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::clearOctreeFaces(), meshOctreeCubeBasic::coordinates(), meshOctreeAddressing::edgeFaces(), meshOctreeAddressing::edgeLeaves(), Foam::endl(), HashTable::erase(), meshOctree::exchangeRequestsWithNeighbourProcessors(), meshOctreeAddressing::faceEdges(), meshOctree::findLeafLabelForPosition(), forAll, forAllConstIter(), forAllRow, found, HashTable::found(), Foam::Info, HashSet< Key, Hash >::insert(), meshOctreeAddressing::MESHCELL, meshOctreeAddressing::nodeFaces(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), UPstream::parRun(), Foam::reduce(), DynList< T, staticSize >::removeLastElement(), meshOctree::returnLeaf(), LongList< T, Offset >::size(), DynList< T, staticSize >::size(), HashTable::size(), and VRWGraph::sizeOfRow().
|
inline |
return number of octree nodes
Definition at line 36 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::nNodes_, and meshOctreeAddressing::nodeLabelsPtr_.
Referenced by meshOctreeAddressing::calculateNodeFaces(), cartesianMeshExtractor::createPointsAndAddressing(), tetCreatorOctree::createTetsAroundEdges(), tetCreatorOctree::createTetsAroundSplitEdges(), and tetCreatorOctree::selectElements().
|
inline |
return coordinates of octree vertices
Definition at line 44 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreePoints(), and meshOctreeAddressing::octreePointsPtr_.
Referenced by meshOctreeAddressing::createOctreeFaces(), meshOctreeAddressing::createOctreePoints(), cartesianMeshExtractor::createPointsAndAddressing(), meshOctreeAddressing::isIntersectedEdge(), and meshOctreeAddressing::isIntersectedFace().
|
inline |
return nodeLabels
Definition at line 52 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createNodeLabels(), and meshOctreeAddressing::nodeLabelsPtr_.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::checkGluedRegions(), tetCreatorOctree::createFaceCentreLabels(), meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::createNodeLeaves(), meshOctreeAddressing::createOctreeFaces(), meshOctreeAddressing::createOctreePoints(), tetCreatorOctree::createPointsAndAddressing(), tetCreatorOctree::createTetsAroundEdges(), tetCreatorOctree::createTetsAroundSplitEdges(), tetCreatorOctree::createTetsFromFacesWithCentreNode(), and tetCreatorOctree::selectElements().
return nodeLeaves
Definition at line 60 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createNodeLeaves(), and meshOctreeAddressing::nodeLeavesPtr_.
Referenced by meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::calculateNodeType(), meshOctreeAddressing::checkGluedRegions(), tetCreatorOctree::createFaceCentreLabels(), meshOctreeAddressing::createNodeLeaves(), meshOctreeAddressing::createOctreeFaces(), tetCreatorOctree::createPointsAndAddressing(), tetCreatorOctree::createTetsAroundEdges(), tetCreatorOctree::createTetsAroundSplitEdges(), tetCreatorOctree::createTetsFromFacesWithCentreNode(), and tetCreatorOctree::createTetsFromSplitFaces().
return which octree boxes are used for mesh creation
Definition at line 68 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::boxTypePtr_, and meshOctreeAddressing::findUsedBoxes().
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::checkAndFixIrregularConnections(), meshOctreeAddressing::checkGluedRegions(), meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::createNodeLeaves(), meshOctreeAddressing::createOctreeFaces(), cartesianMeshExtractor::createPolyMesh(), meshOctreeAddressing::findUsedBoxes(), and tetCreatorOctree::selectElements().
return type of node (INNERNODE,or OUTERNODE)
Definition at line 94 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateNodeType(), and meshOctreeAddressing::nodeTypePtr_.
Referenced by meshOctreeAddressing::calculateNodeType(), and meshOctreeAddressing::checkGluedRegions().
set box type
Definition at line 77 of file meshOctreeAddressingI.H.
References Foam::type().
|
inline |
return octree faces, created for MESHCELL boxes
Definition at line 102 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFacesPtr_.
Referenced by meshOctreeAddressing::calculateNodeFaces(), meshOctreeAddressing::createOctreeEdges(), cartesianMeshExtractor::createPolyMesh(), and meshOctreeAddressing::isIntersectedFace().
|
inline |
return owners of octree faces
Definition at line 110 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFacesOwnersPtr_.
Referenced by meshOctreeAddressing::calculateEdgeLeaves(), meshOctreeAddressing::calculateLeafFaces(), meshOctreeAddressing::calculateLeafLeaves(), meshOctreeAddressing::checkAndFixIrregularConnections(), cartesianMeshExtractor::createPolyMesh(), and meshOctreeAddressing::isIntersectedFace().
|
inline |
return neighbours of octree faces
Definition at line 118 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFacesNeighboursPtr_.
Referenced by meshOctreeAddressing::calculateEdgeLeaves(), meshOctreeAddressing::calculateLeafFaces(), meshOctreeAddressing::calculateLeafLeaves(), meshOctreeAddressing::checkAndFixIrregularConnections(), cartesianMeshExtractor::createPolyMesh(), and meshOctreeAddressing::isIntersectedFace().
|
inline |
return octree box-faces addressing
Definition at line 126 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateLeafFaces(), and meshOctreeAddressing::leafFacesPtr_.
Referenced by meshOctreeAddressing::calculateLeafFaces().
bool isIntersectedFace | ( | const label | fI | ) | const |
checks if the face is intersected by the surface
check intersection by geometric testing
Definition at line 175 of file meshOctreeAddressing.C.
References DynList< T, staticSize >::clear(), meshOctree::containedTriangles(), Foam::help::doFaceAndTriangleIntersect(), f(), forAll, forAllConstIter(), meshOctreeCubeCoordinates::level(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeFaceNeighbour(), meshOctreeAddressing::octreeFaceOwner(), meshOctreeAddressing::octreeFaces(), meshOctreeAddressing::octreePoints(), points, meshOctree::returnLeaf(), VRWGraph::sizeOfRow(), and meshOctree::surface().
|
inline |
return leaf-leaves addressing
Definition at line 134 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateLeafLeaves(), and meshOctreeAddressing::leafLeavesPtr_.
Referenced by meshOctreeAddressing::calculateLeafLeaves().
|
inline |
return node-faces addressing
Definition at line 142 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateNodeFaces(), and meshOctreeAddressing::nodeFacesPtr_.
Referenced by meshOctreeAddressing::calculateNodeFaces(), and meshOctreeAddressing::checkAndFixIrregularConnections().
return octree edges, created for MESHCELL boxes
Definition at line 150 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::octreeEdgesPtr_.
Referenced by meshOctreeAddressing::calculateEdgeFaces(), meshOctreeAddressing::checkGluedRegions(), and meshOctreeAddressing::isIntersectedEdge().
|
inline |
return edge-leaves addressing
Definition at line 158 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateEdgeLeaves(), and meshOctreeAddressing::edgeLeavesPtr_.
Referenced by meshOctreeAddressing::calculateEdgeLeaves(), meshOctreeAddressing::calculateLeafEdges(), meshOctreeAddressing::checkAndFixIrregularConnections(), meshOctreeAddressing::checkGluedRegions(), and meshOctreeAddressing::isIntersectedEdge().
|
inline |
return leaf-edges addressing
Definition at line 166 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateLeafEdges(), and meshOctreeAddressing::leafEdgesPtr_.
Referenced by meshOctreeAddressing::calculateLeafEdges(), and meshOctreeAddressing::checkGluedRegions().
bool isIntersectedEdge | ( | const label | eI | ) | const |
checks if the edge is intersected by the surface
check for geometric intersection
Definition at line 248 of file meshOctreeAddressing.C.
References DynList< T, staticSize >::clear(), meshOctree::containedTriangles(), meshOctreeAddressing::edgeLeaves(), forAll, forAllConstIter(), forAllRow, meshOctree::hasContainedTriangles(), meshOctreeCubeCoordinates::level(), meshOctreeAddressing::octree_, meshOctreeAddressing::octreeEdges(), meshOctreeAddressing::octreePoints(), points, meshOctree::returnLeaf(), VRWGraph::sizeOfRow(), meshOctree::surface(), Foam::help::triLineIntersection(), and Vector< scalar >::zero.
void edgeIntersections | ( | const label | eI, |
DynList< point > & | intersections | ||
) | const |
check for geometric intersection
Definition at line 314 of file meshOctreeAddressing.C.
References DynList< T, staticSize >::append(), DynList< T, staticSize >::clear(), forAll, forAllConstIter(), forAllRow, Foam::mag(), points, VRWGraph::sizeOfRow(), Foam::help::triLineIntersection(), and Vector< scalar >::zero.
|
inline |
return node-edges addressing
Definition at line 174 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::nodeEdgesPtr_.
Referenced by meshOctreeAddressing::createOctreeEdges().
|
inline |
return face-edges addressing
Definition at line 182 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::faceEdgesPtr_.
Referenced by meshOctreeAddressing::calculateEdgeFaces(), meshOctreeAddressing::checkAndFixIrregularConnections(), and meshOctreeAddressing::createOctreeEdges().
|
inline |
return edge-faces addressing
Definition at line 190 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calculateEdgeFaces(), and meshOctreeAddressing::edgeFacesPtr_.
Referenced by meshOctreeAddressing::calculateEdgeFaces(), meshOctreeAddressing::calculateEdgeLeaves(), and meshOctreeAddressing::checkAndFixIrregularConnections().
|
inline |
return const reference to meshOctree
Definition at line 89 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::octree_.
Referenced by tetCreatorOctree::createFaceCentreLabels(), tetCreatorOctree::createPointsAndAddressing(), cartesianMeshExtractor::createPolyMesh(), tetCreatorOctree::createTetsAroundEdges(), tetCreatorOctree::createTetsAroundSplitEdges(), and tetCreatorOctree::selectElements().
void cubesAroundEdge | ( | const label | leafI, |
const direction | eI, | ||
FixedList< label, 4 > & | edgeCubes | ||
) | const |
find cubes around an edge (cubes must be at the same level)
Definition at line 383 of file meshOctreeAddressing.C.
References Foam::abort(), meshOctreeCubeCoordinates::edgeNodes_, Foam::FatalError, FatalErrorIn, and Foam::nl.
find edge centre if it exists
Definition at line 428 of file meshOctreeAddressing.C.
References Foam::abort(), meshOctreeCubeCoordinates::edgeNodes_, meshOctreeCubeCoordinates::faceNodes_, Foam::FatalError, FatalErrorIn, meshOctreeCubeCoordinates::level(), and Foam::nl.
Referenced by meshOctreeAddressing::createOctreeFaces().
|
inline |
return global point labels
Definition at line 198 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::globalPointLabelPtr_.
Referenced by meshOctreeAddressing::calcGlobalPointLabels().
global point label to local label. Only for processors points
Definition at line 207 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::globalPointToLocalPtr_.
|
inline |
processors which contain an octree point
Definition at line 215 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::pointProcsPtr_.
|
inline |
return global labels of octree faces
Definition at line 223 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalFaceLabels(), and meshOctreeAddressing::globalFaceLabelPtr_.
return global face label to face label. Only for processor faces
Definition at line 232 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalFaceLabels(), and meshOctreeAddressing::globalFaceToLocalPtr_.
|
inline |
return processors which contain each octree face
Definition at line 240 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalFaceLabels(), and meshOctreeAddressing::faceProcsPtr_.
|
inline |
return global labels of octree leaves
Definition at line 248 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalLeafLabels(), and meshOctreeAddressing::globalLeafLabelPtr_.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::findUsedBoxes().
|
inline |
return processors which contain each octree leaf
Definition at line 256 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalLeafLabels(), and meshOctreeAddressing::leafAtProcsPtr_.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::findUsedBoxes().
return global leaf label to local label addressing
Definition at line 265 of file meshOctreeAddressingI.H.
References meshOctreeAddressing::calcGlobalLeafLabels(), and meshOctreeAddressing::globalLeafToLocalPtr_.
Referenced by meshOctreeAddressing::calcGlobalPointLabels(), and meshOctreeAddressing::findUsedBoxes().
|
private |
reference to the octree
Definition at line 63 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::calculateLeafEdges(), meshOctreeAddressing::calculateLeafFaces(), meshOctreeAddressing::calculateLeafLeaves(), meshOctreeAddressing::calculateNodeType(), meshOctreeAddressing::checkAndFixIrregularConnections(), meshOctreeAddressing::checkGluedRegions(), meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::createNodeLeaves(), meshOctreeAddressing::createOctreeFaces(), meshOctreeAddressing::createOctreePoints(), meshOctreeAddressing::findUsedBoxes(), meshOctreeAddressing::isIntersectedEdge(), meshOctreeAddressing::isIntersectedFace(), and meshOctreeAddressing::octree().
|
private |
reference to the dictionary
Definition at line 66 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::checkGluedRegions(), and meshOctreeAddressing::findUsedBoxes().
|
private |
use DATA boxes
Definition at line 69 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::checkGluedRegions(), and meshOctreeAddressing::findUsedBoxes().
|
mutableprivate |
number of created octree nodes
Definition at line 72 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateNodeType(), meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::createNodeLeaves(), meshOctreeAddressing::createOctreeEdges(), meshOctreeAddressing::createOctreePoints(), and meshOctreeAddressing::numberOfNodes().
|
mutableprivate |
coordinates of octree nodes
Definition at line 75 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::createOctreePoints(), and meshOctreeAddressing::octreePoints().
|
mutableprivate |
node labels
Definition at line 78 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::createNodeLabels(), meshOctreeAddressing::nodeLabels(), and meshOctreeAddressing::numberOfNodes().
node leaves
Definition at line 81 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearNodeAddressing(), meshOctreeAddressing::createNodeLeaves(), and meshOctreeAddressing::nodeLeaves().
identify which boxes should be used as mesh cells
Definition at line 84 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::boxType(), meshOctreeAddressing::checkAndFixIrregularConnections(), meshOctreeAddressing::clearBoxTypes(), and meshOctreeAddressing::findUsedBoxes().
identify created nodes as OUTERNODE or INNERNODE
Definition at line 87 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateNodeType(), meshOctreeAddressing::clearNodeAddressing(), and meshOctreeAddressing::nodeType().
|
mutableprivate |
faces of the octree
Definition at line 91 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearOctreeFaces(), meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFaces().
|
mutableprivate |
Definition at line 92 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearOctreeFaces(), meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFaceOwner().
|
mutableprivate |
Definition at line 93 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearOctreeFaces(), meshOctreeAddressing::createOctreeFaces(), and meshOctreeAddressing::octreeFaceNeighbour().
|
mutableprivate |
octree box-faces addressing
Definition at line 96 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateLeafFaces(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::leafFaces().
|
mutableprivate |
node-faces addressing
Definition at line 99 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateNodeFaces(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::nodeFaces().
|
mutableprivate |
leaf-leaves addressing
Definition at line 102 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateLeafLeaves(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::leafLeaves().
edges of the octree
Definition at line 105 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearAddressing(), meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::octreeEdges().
|
mutableprivate |
edges-leaves addressing
Definition at line 108 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateEdgeLeaves(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::edgeLeaves().
|
mutableprivate |
leaf-edges addressing
Definition at line 111 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateLeafEdges(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::leafEdges().
|
mutableprivate |
node-edges addressing
Definition at line 114 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearAddressing(), meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::nodeEdges().
|
mutableprivate |
face-edges addressing
Definition at line 117 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearAddressing(), meshOctreeAddressing::createOctreeEdges(), and meshOctreeAddressing::faceEdges().
|
mutableprivate |
edge-faces addressing
Definition at line 120 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calculateEdgeFaces(), meshOctreeAddressing::clearAddressing(), and meshOctreeAddressing::edgeFaces().
|
mutableprivate |
global octree point label
Definition at line 123 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalPointLabel().
global point to local label addressing
Definition at line 126 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalToLocalPointAddressing().
|
mutableprivate |
point-processors addressing
Definition at line 129 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalPointLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::pointAtProcs().
|
mutableprivate |
global octree face label
Definition at line 132 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalFaceLabel().
global face label to local label addressing
Definition at line 135 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalToLocalFaceAddressing().
|
mutableprivate |
face-processors addressing
Definition at line 138 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::faceAtProcs().
|
mutableprivate |
global leaf label
Definition at line 141 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalLeafLabel().
global leaf label to local label addressing for octree leaves
Definition at line 144 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::globalToLocalLeafAddressing().
|
mutableprivate |
leaf at procs
Definition at line 147 of file meshOctreeAddressing.H.
Referenced by meshOctreeAddressing::calcGlobalLeafLabels(), meshOctreeAddressing::clearParallelAddressing(), and meshOctreeAddressing::leafAtProcs().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.