Calculates the overlap volume of two cells using tetrahedral decomposition. More...
Data Structures | |
class | hasOverlapOp |
tetPoints combining : check for overlap More... | |
class | sumMomentOp |
tetPoints handling : sum resulting volumes More... | |
class | sumOverlapMomentOp |
tetPoints combining : sum overlap volume More... | |
class | sumOverlapOp |
tetPoints combining : sum overlap volume More... | |
Public Member Functions | |
ClassName ("tetOverlapVolume") | |
Runtime type information. More... | |
tetOverlapVolume () | |
Null constructor. More... | |
labelList | overlappingCells (const polyMesh &meshA, const polyMesh &meshB, const label cellBI) const |
Return a list of cells in meshA which overlaps with cellBI in. More... | |
bool | cellCellOverlapMinDecomp (const primitiveMesh &meshA, const label cellAI, const primitiveMesh &meshB, const label cellBI, const treeBoundBox &cellBbB, const scalar threshold=0.0) const |
Return true if olverlap volume is greater than threshold. More... | |
scalar | cellCellOverlapVolumeMinDecomp (const primitiveMesh &meshA, const label cellAI, const primitiveMesh &meshB, const label cellBI, const treeBoundBox &cellBbB) const |
Calculates the overlap volume. More... | |
Tuple2< scalar, point > | cellCellOverlapMomentMinDecomp (const primitiveMesh &meshA, const label cellAI, const primitiveMesh &meshB, const label cellBI, const treeBoundBox &cellBbB) const |
Calculates the overlap volume and moment. More... | |
Static Private Member Functions | |
template<class tetPointsOp > | |
static void | tetTetOverlap (const tetPoints &tetA, const tetPoints &tetB, tetPointsOp &insideOp) |
Tet overlap calculation. More... | |
template<class tetsOp > | |
static void | cellCellOverlapMinDecomp (const primitiveMesh &meshA, const label cellAI, const primitiveMesh &meshB, const label cellBI, const treeBoundBox &cellBbB, tetsOp &combineTetsOp) |
Cell overlap calculation. More... | |
static treeBoundBox | pyrBb (const pointField &points, const face &f, const point &fc) |
Return a const treeBoundBox. More... | |
Static Private Attributes | |
static scalar | minTetVolume_ = SMALL*SMALL |
Minimum tet volume to skip test. More... | |
Calculates the overlap volume of two cells using tetrahedral decomposition.
Definition at line 54 of file tetOverlapVolume.H.
tetOverlapVolume | ( | ) |
Null constructor.
Definition at line 51 of file tetOverlapVolume.C.
|
staticprivate |
Tet overlap calculation.
Definition at line 33 of file tetOverlapVolumeTemplates.C.
References tetrahedron::mag(), tetrahedron::sliceWithPlane(), and tetPoints::tet().
|
staticprivate |
Cell overlap calculation.
Definition at line 99 of file tetOverlapVolumeTemplates.C.
References tetPoints::bounds(), primitiveMesh::cellCentres(), primitiveMesh::cells(), primitiveMesh::faceOwner(), primitiveMesh::faces(), forAll, treeBoundBox::overlaps(), primitiveMesh::points(), and List::size().
Referenced by meshToMeshMethod::intersect().
|
staticprivate |
Return a const treeBoundBox.
Definition at line 58 of file tetOverlapVolume.C.
References f(), forAll, boundBox::max(), Foam::max(), boundBox::min(), Foam::min(), and points.
ClassName | ( | "tetOverlapVolume" | ) |
Runtime type information.
Foam::labelList overlappingCells | ( | const polyMesh & | meshA, |
const polyMesh & | meshB, | ||
const label | cellBI | ||
) | const |
Return a list of cells in meshA which overlaps with cellBI in.
meshB
Definition at line 154 of file tetOverlapVolume.C.
References primitiveMesh::cellPoints(), polyMesh::cellTree(), indexedOctree::findBox(), and polyMesh::points().
Referenced by meshToMesh0::calculateCellToCellAddressing().
bool cellCellOverlapMinDecomp | ( | const primitiveMesh & | meshA, |
const label | cellAI, | ||
const primitiveMesh & | meshB, | ||
const label | cellBI, | ||
const treeBoundBox & | cellBbB, | ||
const scalar | threshold = 0.0 |
||
) | const |
Return true if olverlap volume is greater than threshold.
Definition at line 78 of file tetOverlapVolume.C.
References tetOverlapVolume::hasOverlapOp::ok_.
Foam::scalar cellCellOverlapVolumeMinDecomp | ( | const primitiveMesh & | meshA, |
const label | cellAI, | ||
const primitiveMesh & | meshB, | ||
const label | cellBI, | ||
const treeBoundBox & | cellBbB | ||
) | const |
Calculates the overlap volume.
Definition at line 103 of file tetOverlapVolume.C.
References tetOverlapVolume::sumOverlapOp::iop_, and tetrahedron::sumVolOp::vol_.
Referenced by meshToMesh0::calculateInverseVolumeWeights(), and meshToMeshMethod::interVol().
Foam::Tuple2< Foam::scalar, Foam::point > cellCellOverlapMomentMinDecomp | ( | const primitiveMesh & | meshA, |
const label | cellAI, | ||
const primitiveMesh & | meshB, | ||
const label | cellBI, | ||
const treeBoundBox & | cellBbB | ||
) | const |
Calculates the overlap volume and moment.
Definition at line 129 of file tetOverlapVolume.C.
References tetOverlapVolume::sumOverlapMomentOp::iop_, and tetOverlapVolume::sumMomentOp::vol_.
Referenced by meshToMeshMethod::interVolAndCentroid().
|
staticprivate |
Minimum tet volume to skip test.
Definition at line 59 of file tetOverlapVolume.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.