Public Member Functions | |
findCellsIntersectingSurface (polyMeshGen &mesh, const meshOctree &octree) | |
Construct from mesh and octree. More... | |
findCellsIntersectingSurface (polyMeshGen &mesh, const triSurf &surface) | |
Construct from mesh and surface. More... | |
~findCellsIntersectingSurface () | |
const boolList & | intersectedCells () const |
return the list of intersected cells; More... | |
const VRWGraph & | facetsIntersectingCells () const |
return the graph of facets intersecting each cell More... | |
void | addIntersectedCellsToSubset (const word subsetName="intersectedCells") |
create a cell subset containing intersected cells More... | |
Private Member Functions | |
void | generateOctree (const triSurf &) |
generate the octree More... | |
void | findIntersectedCells () |
check for the intersected cells More... | |
Private Attributes | |
polyMeshGen & | mesh_ |
Reference to the mesh. More... | |
meshOctree * | octreePtr_ |
Pointer to the octree. More... | |
const bool | octreeGenerated_ |
check whether the octree was generated or not More... | |
boolList | intersectedCells_ |
stores information about intersected cells More... | |
VRWGraph | facetsIntersectingCell_ |
stores information which surface facets intersect each cell More... | |
Definition at line 53 of file findCellsIntersectingSurface.H.
findCellsIntersectingSurface | ( | polyMeshGen & | mesh, |
const meshOctree & | octree | ||
) |
Construct from mesh and octree.
Definition at line 280 of file findCellsIntersectingSurface.C.
findCellsIntersectingSurface | ( | polyMeshGen & | mesh, |
const triSurf & | surface | ||
) |
Construct from mesh and surface.
Definition at line 295 of file findCellsIntersectingSurface.C.
Definition at line 313 of file findCellsIntersectingSurface.C.
References Foam::deleteDemandDrivenData(), findCellsIntersectingSurface::octreeGenerated_, and findCellsIntersectingSurface::octreePtr_.
|
private |
generate the octree
Definition at line 49 of file findCellsIntersectingSurface.C.
References meshOctreeCreator::createOctreeWithRefinedBoundary(), and findCellsIntersectingSurface::octreePtr_.
|
private |
check for the intersected cells
find the bounding box of the cell
find surface triangles within the bounding box
remove triangles which do not intersect the bounding box
check if any of the surface vertices is contained within the cell
check which surface nodes are within the cell
check if any triangle in the surface mesh intersects any of the cell's faces
store the results for this cell
Definition at line 56 of file findCellsIntersectingSurface.C.
References polyMeshGenCells::addressingData(), Foam::constant::universal::c, polyMeshGenAddressing::cellCentres(), cells, polyMeshGenCells::cells(), meshOctreeCube::containedElements(), meshOctreeSlot::containedTriangles_, boundBox::contains(), Foam::help::doFaceAndTriangleIntersect(), f(), polyMeshGenAddressing::faceCentres(), polyMeshGenFaces::faces(), findCellsIntersectingSurface::facetsIntersectingCell_, meshOctree::findLeavesContainedInBox(), forAll, forAllConstIter(), forAllRow, HashTable::found(), meshOctreeCube::hasContainedElements(), HashSet< Key, Hash >::insert(), intersect(), findCellsIntersectingSurface::intersectedCells_, meshOctreeModifier::leavesAccess(), boundBox::max(), Foam::max(), findCellsIntersectingSurface::mesh_, boundBox::min(), Foam::min(), findCellsIntersectingSurface::octreePtr_, boundBox::overlaps(), polyMeshGenFaces::owner(), p, triSurfAddressing::pointFacets(), Foam::help::pointInTetrahedron(), points, triSurfPoints::points(), polyMeshGenPoints::points(), VRWGraph::setRow(), List::setSize(), VRWGraph::setSize(), meshOctreeCube::slotPtr(), boundBox::span(), meshOctree::surface(), HashTable::toc(), and HashTable::transfer().
const boolList & intersectedCells | ( | ) | const |
return the list of intersected cells;
Definition at line 321 of file findCellsIntersectingSurface.C.
References findCellsIntersectingSurface::intersectedCells_.
const VRWGraph & facetsIntersectingCells | ( | ) | const |
return the graph of facets intersecting each cell
Definition at line 326 of file findCellsIntersectingSurface.C.
References findCellsIntersectingSurface::facetsIntersectingCell_.
void addIntersectedCellsToSubset | ( | const word | subsetName = "intersectedCells" | ) |
create a cell subset containing intersected cells
Definition at line 332 of file findCellsIntersectingSurface.C.
References forAll.
|
private |
Reference to the mesh.
Definition at line 57 of file findCellsIntersectingSurface.H.
Referenced by findCellsIntersectingSurface::findIntersectedCells().
|
private |
Pointer to the octree.
Definition at line 60 of file findCellsIntersectingSurface.H.
Referenced by findCellsIntersectingSurface::findIntersectedCells(), findCellsIntersectingSurface::generateOctree(), and findCellsIntersectingSurface::~findCellsIntersectingSurface().
|
private |
check whether the octree was generated or not
Definition at line 63 of file findCellsIntersectingSurface.H.
Referenced by findCellsIntersectingSurface::~findCellsIntersectingSurface().
|
private |
stores information about intersected cells
Definition at line 66 of file findCellsIntersectingSurface.H.
Referenced by findCellsIntersectingSurface::findIntersectedCells(), and findCellsIntersectingSurface::intersectedCells().
|
private |
stores information which surface facets intersect each cell
Definition at line 69 of file findCellsIntersectingSurface.H.
Referenced by findCellsIntersectingSurface::facetsIntersectingCells(), and findCellsIntersectingSurface::findIntersectedCells().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.