Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
primitiveMesh Class Referenceabstract

Cell-face mesh analysis engine. More...

Inheritance diagram for primitiveMesh:
Inheritance graph
[legend]

Public Member Functions

 ClassName ("primitiveMesh")
 
 primitiveMesh (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells)
 Construct from components. More...
 
virtual ~primitiveMesh ()
 Destructor. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells)
 Reset this primitiveMesh given the primitive array sizes. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells, cellList &cells)
 Reset this primitiveMesh given the primitive array sizes and cells. More...
 
void reset (const label nPoints, const label nInternalFaces, const label nFaces, const label nCells, const Xfer< cellList > &cells)
 Reset this primitiveMesh given the primitive array sizes and cells. More...
 
label nPoints () const
 
label nEdges () const
 
label nInternalFaces () const
 
label nFaces () const
 
label nCells () const
 
label nInternalPoints () const
 Points not on boundary. More...
 
label nInternal0Edges () const
 Internal edges (i.e. not on boundary face) using. More...
 
label nInternal1Edges () const
 Internal edges using 0 or 1 boundary point. More...
 
label nInternalEdges () const
 Internal edges using 0,1 or 2 boundary points. More...
 
virtual const pointFieldpoints () const =0
 Return mesh points. More...
 
virtual const faceListfaces () const =0
 Return faces. More...
 
virtual const labelListfaceOwner () const =0
 Face face-owner addresing. More...
 
virtual const labelListfaceNeighbour () const =0
 Face face-neighbour addressing. More...
 
virtual const pointFieldoldPoints () const =0
 Return old points for mesh motion. More...
 
const cellShapeListcellShapes () const
 Return cell shapes. More...
 
const edgeListedges () const
 Return mesh edges. Uses calcEdges. More...
 
const labelListListcellCells () const
 
const labelListListedgeCells () const
 
const labelListListpointCells () const
 
const cellListcells () const
 
const labelListListedgeFaces () const
 
const labelListListpointFaces () const
 
const labelListListcellEdges () const
 
const labelListListfaceEdges () const
 
const labelListListpointEdges () const
 
const labelListListpointPoints () const
 
const labelListListcellPoints () const
 
const vectorFieldcellCentres () const
 
const vectorFieldfaceCentres () const
 
const scalarFieldcellVolumes () const
 
const vectorFieldfaceAreas () const
 
tmp< scalarFieldmovePoints (const pointField &p, const pointField &oldP)
 Move points, returns volumes swept by faces in motion. More...
 
bool isInternalFace (const label faceIndex) const
 Return true if given face label is internal to the mesh. More...
 
virtual bool checkUpperTriangular (const bool report=false, labelHashSet *setPtr=NULL) const
 Check face ordering. More...
 
virtual bool checkCellsZipUp (const bool report=false, labelHashSet *setPtr=NULL) const
 Check cell zip-up. More...
 
virtual bool checkFaceVertices (const bool report=false, labelHashSet *setPtr=NULL) const
 Check uniqueness of face vertices. More...
 
virtual bool checkPoints (const bool report=false, labelHashSet *setPtr=NULL) const
 Check for unused points. More...
 
virtual bool checkFaceFaces (const bool report=false, labelHashSet *setPtr=NULL) const
 Check face-face connectivity. More...
 
virtual bool checkClosedBoundary (const bool report=false) const
 Check boundary for closedness. More...
 
virtual bool checkClosedCells (const bool report=false, labelHashSet *setPtr=NULL, labelHashSet *highAspectSetPtr=NULL, const Vector< label > &solutionD=Vector< label >::one) const
 Check cells for closedness. More...
 
virtual bool checkFaceAreas (const bool report=false, labelHashSet *setPtr=NULL) const
 Check for negative face areas. More...
 
virtual bool checkCellVolumes (const bool report=false, labelHashSet *setPtr=NULL) const
 Check for negative cell volumes. More...
 
virtual bool checkFaceOrthogonality (const bool report=false, labelHashSet *setPtr=NULL) const
 Check for non-orthogonality. More...
 
virtual bool checkFacePyramids (const bool report=false, const scalar minPyrVol=-SMALL, labelHashSet *setPtr=NULL) const
 Check face pyramid volume. More...
 
virtual bool checkFaceSkewness (const bool report=false, labelHashSet *setPtr=NULL) const
 Check face skewness. More...
 
virtual bool checkFaceAngles (const bool report=false, const scalar maxSin=10, labelHashSet *setPtr=NULL) const
 Check face angles. More...
 
virtual bool checkFaceFlatness (const bool report, const scalar warnFlatness, labelHashSet *setPtr) const
 Check face warpage: decompose face and check ratio between. More...
 
virtual bool checkPointNearness (const bool report, const scalar reportDistSqr, labelHashSet *setPtr=NULL) const
 Check for point-point-nearness,. More...
 
virtual bool checkEdgeLength (const bool report, const scalar minLenSqr, labelHashSet *setPtr=NULL) const
 Check edge length. More...
 
virtual bool checkConcaveCells (const bool report=false, labelHashSet *setPtr=NULL) const
 Check for concave cells by the planes of faces. More...
 
virtual bool checkTopology (const bool report=false) const
 Check mesh topology for correctness. More...
 
virtual bool checkGeometry (const bool report=false) const
 Check mesh geometry (& implicitly topology) for correctness. More...
 
virtual bool checkMesh (const bool report=false) const
 Check mesh for correctness. Returns false for no error. More...
 
bool pointInCellBB (const point &p, label celli, scalar inflationFraction=0) const
 Return true if the point in the cell bounding box. More...
 
bool pointInCell (const point &p, label celli) const
 Return true if the point is in the cell. More...
 
label findNearestCell (const point &location) const
 Find the cell with the nearest cell centre to location. More...
 
label findCell (const point &location) const
 Find cell enclosing this location (-1 if not in mesh) More...
 
void printAllocated () const
 Print a list of all the currently allocated mesh data. More...
 
bool hasCellShapes () const
 
bool hasEdges () const
 
bool hasCellCells () const
 
bool hasEdgeCells () const
 
bool hasPointCells () const
 
bool hasCells () const
 
bool hasEdgeFaces () const
 
bool hasPointFaces () const
 
bool hasCellEdges () const
 
bool hasFaceEdges () const
 
bool hasPointEdges () const
 
bool hasPointPoints () const
 
bool hasCellPoints () const
 
bool hasCellCentres () const
 
bool hasFaceCentres () const
 
bool hasCellVolumes () const
 
bool hasFaceAreas () const
 
const labelListcellCells (const label cellI, DynamicList< label > &) const
 cellCells using cells. More...
 
const labelListcellCells (const label cellI) const
 
const labelListcellPoints (const label cellI, DynamicList< label > &) const
 cellPoints using cells More...
 
const labelListcellPoints (const label cellI) const
 
const labelListpointCells (const label pointI, DynamicList< label > &) const
 pointCells using pointFaces More...
 
const labelListpointCells (const label pointI) const
 
const labelListpointPoints (const label pointI, DynamicList< label > &) const
 pointPoints using edges, pointEdges More...
 
const labelListpointPoints (const label pointI) const
 
const labelListfaceEdges (const label faceI, DynamicList< label > &) const
 faceEdges using pointFaces, edges, pointEdges More...
 
const labelListfaceEdges (const label faceI) const
 
const labelListedgeFaces (const label edgeI, DynamicList< label > &) const
 edgeFaces using pointFaces, edges, pointEdges More...
 
const labelListedgeFaces (const label edgeI) const
 
const labelListedgeCells (const label edgeI, DynamicList< label > &) const
 edgeCells using pointFaces, edges, pointEdges More...
 
const labelListedgeCells (const label edgeI) const
 
const labelListcellEdges (const label cellI, DynamicList< label > &) const
 cellEdges using cells, pointFaces, edges, pointEdges More...
 
const labelListcellEdges (const label cellI) const
 
void clearGeom ()
 Clear geometry. More...
 
void clearAddressing ()
 Clear topological data. More...
 
void clearOut ()
 Clear all geometry and addressing unnecessary for CFD. More...
 

Static Public Member Functions

static void calcCells (cellList &, const labelUList &own, const labelUList &nei, const label nCells=-1)
 Helper function to calculate cell-face addressing from. More...
 
static bool calcPointOrder (label &nInternalPoints, labelList &pointMap, const faceList &, const label nInternalFaces, const label nPoints)
 Helper function to calculate point ordering. Returns true. More...
 
static scalar setClosedThreshold (const scalar)
 Set the closedness ratio warning threshold. More...
 
static scalar setAspectThreshold (const scalar)
 Set the aspect ratio warning threshold. More...
 
static scalar setNonOrthThreshold (const scalar)
 Set the non-orthogonality warning threshold in degrees. More...
 
static scalar setSkewThreshold (const scalar)
 Set the skewness warning threshold as percentage. More...
 

Static Public Attributes

static const unsigned cellsPerEdge_ = 4
 Estimated number of cells per edge. More...
 
static const unsigned cellsPerPoint_ = 8
 Estimated number of cells per point. More...
 
static const unsigned facesPerCell_ = 6
 Estimated number of faces per cell. More...
 
static const unsigned facesPerEdge_ = 4
 Estimated number of faces per edge. More...
 
static const unsigned facesPerPoint_ = 12
 Estimated number of faces per point. More...
 
static const unsigned edgesPerCell_ = 12
 Estimated number of edges per cell. More...
 
static const unsigned edgesPerFace_ = 4
 Estimated number of edges per cell. More...
 
static const unsigned edgesPerPoint_ = 6
 Estimated number of edges per point. More...
 
static const unsigned pointsPerCell_ = 8
 Estimated number of points per cell. More...
 
static const unsigned pointsPerFace_ = 4
 Estimated number of points per face. More...
 

Protected Member Functions

void calcFaceCentresAndAreas () const
 Calculate face centres and areas. More...
 
void makeFaceCentresAndAreas (const pointField &p, vectorField &fCtrs, vectorField &fAreas) const
 
void calcCellCentresAndVols () const
 Calculate cell centres and volumes. More...
 
void makeCellCentresAndVols (const vectorField &fCtrs, const vectorField &fAreas, vectorField &cellCtrs, scalarField &cellVols) const
 
void calcEdgeVectors () const
 Calculate edge vectors. More...
 
bool checkDuplicateFaces (const label, const Map< label > &, label &nBaffleFaces, labelHashSet *) const
 Check if all points on face are shared with another face. More...
 
bool checkCommonOrder (const label, const Map< label > &, labelHashSet *) const
 Check that shared points are in consecutive order. More...
 
bool checkClosedBoundary (const vectorField &, const bool, const PackedBoolList &) const
 Check boundary for closedness. More...
 
bool checkClosedCells (const vectorField &faceAreas, const scalarField &cellVolumes, const bool report, labelHashSet *setPtr, labelHashSet *aspectSetPtr, const Vector< label > &meshD) const
 Check cells for closedness. More...
 
bool checkFaceAreas (const vectorField &faceAreas, const bool report, const bool detailedReport, labelHashSet *setPtr) const
 Check for negative face areas. More...
 
bool checkCellVolumes (const scalarField &vols, const bool report, const bool detailedReport, labelHashSet *setPtr) const
 Check for negative cell volumes. More...
 
bool checkFaceOrthogonality (const vectorField &fAreas, const vectorField &cellCtrs, const bool report, labelHashSet *setPtr) const
 Check for non-orthogonality. More...
 
bool checkFacePyramids (const pointField &points, const vectorField &ctrs, const bool report, const bool detailedReport, const scalar minPyrVol, labelHashSet *setPtr) const
 Check face pyramid volume. More...
 
bool checkFaceSkewness (const pointField &points, const vectorField &fCtrs, const vectorField &fAreas, const vectorField &cellCtrs, const bool report, labelHashSet *setPtr) const
 Check face skewness. More...
 
bool checkFaceAngles (const pointField &points, const vectorField &faceAreas, const bool report, const scalar maxDeg, labelHashSet *setPtr) const
 Check face angles. More...
 
bool checkFaceFlatness (const pointField &points, const vectorField &faceCentres, const vectorField &faceAreas, const bool report, const scalar warnFlatness, labelHashSet *setPtr) const
 Check face warpage. More...
 
bool checkConcaveCells (const vectorField &fAreas, const pointField &fCentres, const bool report, labelHashSet *setPtr) const
 Check for concave cells by the planes of faces. More...
 
 primitiveMesh ()
 Construct null. More...
 

Static Protected Attributes

static scalar closedThreshold_ = 1.0e-6
 Static data to control mesh checking. More...
 
static scalar aspectThreshold_ = 1000
 Aspect ratio warning threshold. More...
 
static scalar nonOrthThreshold_ = 70
 Non-orthogonality warning threshold in deg. More...
 
static scalar skewThreshold_ = 4
 Skewness warning threshold. More...
 
static scalar planarCosAngle_ = 1.0e-6
 Threshold where faces are considered coplanar. More...
 

Detailed Description

Cell-face mesh analysis engine.

Source files

Definition at line 74 of file primitiveMesh.H.

Constructor & Destructor Documentation

primitiveMesh ( )
protected

Construct null.

Definition at line 39 of file primitiveMesh.C.

primitiveMesh ( const label  nPoints,
const label  nInternalFaces,
const label  nFaces,
const label  nCells 
)

Construct from components.

Definition at line 79 of file primitiveMesh.C.

~primitiveMesh ( )
virtual

Destructor.

Definition at line 120 of file primitiveMesh.C.

References primitiveMesh::calcPointOrder(), and primitiveMesh::clearOut().

Here is the call graph for this function:

Member Function Documentation

void calcFaceCentresAndAreas ( ) const
protected

Calculate face centres and areas.

Definition at line 38 of file primitiveMeshFaceCentresAndAreas.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorIn, primitiveMesh::makeFaceCentresAndAreas(), primitiveMesh::nFaces(), primitiveMesh::points(), and Foam::Pout.

Referenced by primitiveMesh::faceAreas(), and primitiveMesh::faceCentres().

Here is the call graph for this function:

Here is the caller graph for this function:

void makeFaceCentresAndAreas ( const pointField p,
vectorField fCtrs,
vectorField fAreas 
) const
protected
void calcCellCentresAndVols ( ) const
protected

Calculate cell centres and volumes.

Definition at line 34 of file primitiveMeshCellCentresAndVols.C.

References Foam::abort(), cellVols, Foam::endl(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), Foam::FatalError, FatalErrorIn, primitiveMesh::makeCellCentresAndVols(), primitiveMesh::nCells(), and Foam::Pout.

Referenced by primitiveMesh::cellCentres(), and primitiveMesh::cellVolumes().

Here is the call graph for this function:

Here is the caller graph for this function:

void makeCellCentresAndVols ( const vectorField fCtrs,
const vectorField fAreas,
vectorField cellCtrs,
scalarField cellVols 
) const
protected

Definition at line 73 of file primitiveMeshCellCentresAndVols.C.

References primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), forAll, Foam::mag(), primitiveMesh::nCells(), and Vector< Cmpt >::zero.

Referenced by primitiveMesh::calcCellCentresAndVols(), and polyMesh::checkMeshMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void calcEdgeVectors ( ) const
protected

Calculate edge vectors.

bool checkDuplicateFaces ( const label  faceI,
const Map< label > &  nCommonPoints,
label nBaffleFaces,
labelHashSet setPtr 
) const
protected

Check if all points on face are shared with another face.

Definition at line 1413 of file primitiveMeshCheck.C.

References primitiveMesh::checkCommonOrder(), forAllConstIter(), HashSet< Key, Hash >::insert(), and List< T >::size().

Referenced by primitiveMesh::checkPoints().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkCommonOrder ( const label  faceI,
const Map< label > &  nCommonPoints,
labelHashSet setPtr 
) const
protected

Check that shared points are in consecutive order.

Definition at line 1455 of file primitiveMeshCheck.C.

References primitiveMesh::checkFaceFaces(), UList< T >::fcIndex(), Foam::findIndex(), forAll, forAllConstIter(), HashSet< Key, Hash >::insert(), Foam::labelMax, UList< T >::rcIndex(), and List< T >::size().

Referenced by primitiveMesh::checkDuplicateFaces().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkClosedBoundary ( const vectorField areas,
const bool  report,
const PackedBoolList internalOrCoupledFaces 
) const
protected

Check boundary for closedness.

Definition at line 46 of file primitiveMeshCheck.C.

References primitiveMesh::checkClosedCells(), Foam::cmptMag(), Foam::cmptMax(), Foam::endl(), Foam::Info, Foam::mag(), Foam::reduce(), List< T >::size(), and PackedList< nBits >::size().

Referenced by primitiveMesh::checkClosedBoundary(), and primitiveMesh::checkGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkClosedCells ( const vectorField faceAreas,
const scalarField cellVolumes,
const bool  report,
labelHashSet setPtr,
labelHashSet aspectSetPtr,
const Vector< label > &  meshD 
) const
protected

Check cells for closedness.

Definition at line 104 of file primitiveMeshCheck.C.

References Foam::constant::universal::c, cells, primitiveMesh::checkFaceAreas(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::max(), Foam::min(), Foam::nl, and Foam::reduce().

Referenced by primitiveMesh::checkClosedBoundary(), primitiveMesh::checkClosedCells(), and primitiveMesh::checkGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceAreas ( const vectorField faceAreas,
const bool  report,
const bool  detailedReport,
labelHashSet setPtr 
) const
protected

Check for negative face areas.

Definition at line 238 of file primitiveMeshCheck.C.

References primitiveMesh::checkCellVolumes(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), Foam::max(), Foam::min(), Foam::Pout, and Foam::reduce().

Referenced by primitiveMesh::checkClosedCells(), primitiveMesh::checkFaceAreas(), primitiveMesh::checkGeometry(), and polyMesh::checkMeshMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkCellVolumes ( const scalarField vols,
const bool  report,
const bool  detailedReport,
labelHashSet setPtr 
) const
protected

Check for negative cell volumes.

Definition at line 318 of file primitiveMeshCheck.C.

References primitiveMesh::checkFaceOrthogonality(), Foam::endl(), forAll, Foam::gSum(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::max(), Foam::min(), Foam::Pout, and Foam::reduce().

Referenced by primitiveMesh::checkCellVolumes(), primitiveMesh::checkFaceAreas(), primitiveMesh::checkGeometry(), and polyMesh::checkMeshMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceOrthogonality ( const vectorField fAreas,
const vectorField cellCtrs,
const bool  report,
labelHashSet setPtr 
) const
protected
bool checkFacePyramids ( const pointField points,
const vectorField ctrs,
const bool  report,
const bool  detailedReport,
const scalar  minPyrVol,
labelHashSet setPtr 
) const
protected

Check face pyramid volume.

Definition at line 502 of file primitiveMeshCheck.C.

References cells, primitiveMesh::checkFaceSkewness(), Foam::endl(), f(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::nl, Foam::Pout, and Foam::reduce().

Referenced by primitiveMesh::checkFaceOrthogonality(), primitiveMesh::checkFacePyramids(), primitiveMesh::checkGeometry(), and polyMesh::checkMeshMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceSkewness ( const pointField points,
const vectorField fCtrs,
const vectorField fAreas,
const vectorField cellCtrs,
const bool  report,
labelHashSet setPtr 
) const
protected

Check face skewness.

Definition at line 606 of file primitiveMeshCheck.C.

References primitiveMesh::checkFaceAngles(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::max(), and Foam::reduce().

Referenced by primitiveMesh::checkFacePyramids(), primitiveMesh::checkFaceSkewness(), and primitiveMesh::checkGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceAngles ( const pointField points,
const vectorField faceAreas,
const bool  report,
const scalar  maxDeg,
labelHashSet setPtr 
) const
protected
bool checkFaceFlatness ( const pointField points,
const vectorField faceCentres,
const vectorField faceAreas,
const bool  report,
const scalar  warnFlatness,
labelHashSet setPtr 
) const
protected

Check face warpage.

Definition at line 770 of file primitiveMeshCheck.C.

References primitiveMesh::checkConcaveCells(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), Foam::min(), and Foam::reduce().

Referenced by primitiveMesh::checkFaceAngles(), and primitiveMesh::checkFaceFlatness().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkConcaveCells ( const vectorField fAreas,
const pointField fCentres,
const bool  report,
labelHashSet setPtr 
) const
protected

Check for concave cells by the planes of faces.

Definition at line 880 of file primitiveMeshCheck.C.

References Foam::constant::universal::c, cells, primitiveMesh::checkUpperTriangular(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::mag(), Foam::max(), and Foam::reduce().

Referenced by primitiveMesh::checkConcaveCells(), and primitiveMesh::checkFaceFlatness().

Here is the call graph for this function:

Here is the caller graph for this function:

ClassName ( "primitiveMesh"  )
void reset ( const label  nPoints,
const label  nInternalFaces,
const label  nFaces,
const label  nCells 
)
void reset ( const label  nPoints,
const label  nInternalFaces,
const label  nFaces,
const label  nCells,
cellList cells 
)

Reset this primitiveMesh given the primitive array sizes and cells.

Definition at line 264 of file primitiveMesh.C.

References primitiveMesh::reset().

Here is the call graph for this function:

void reset ( const label  nPoints,
const label  nInternalFaces,
const label  nFaces,
const label  nCells,
const Xfer< cellList > &  cells 
)

Reset this primitiveMesh given the primitive array sizes and cells.

Definition at line 285 of file primitiveMesh.C.

References primitiveMesh::movePoints(), and primitiveMesh::reset().

Here is the call graph for this function:

label nPoints ( ) const
inline

Definition at line 41 of file primitiveMeshI.H.

Referenced by polyMeshAdder::add(), polyTopoChange::addMesh(), motionSmootherAlgo::avg(), polyTopoChange::changeMesh(), pointZone::checkParallelSync(), componentDisplacementMotionSolver::componentDisplacementMotionSolver(), edgeCollapser::consistentCollapse(), polyMeshFilter::copyMesh(), displacementInterpolationMotionSolver::curPoints(), displacementMotionSolver::displacementMotionSolver(), fvMeshDistribute::distribute(), autoSnapDriver::doSnap(), edgeVertex::edgeToEVert(), cellClassification::fillHangingCells(), polyMeshFilter::filterEdges(), isoSurface::generateFaceTriPoints(), edgeVertex::getEdge(), surfaceSets::getHangingCells(), syncTools::getMasterPoints(), cellClassification::growSurface(), hexRef8::hexRef8(), isoSurfaceCell::interpolate(), isoSurface::interpolate(), edgeVertex::isEdge(), cellFeatures::isFeatureVertex(), localPointRegion::localPointRegion(), primitiveMesh::makeFaceCentresAndAreas(), polyTopoChange::makeMesh(), pointSet::maxSize(), pointZoneSet::maxSize(), globalMeshData::mergePoints(), meshTriangulation::meshTriangulation(), primitiveMesh::movePoints(), multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(), vtkMesh::nFieldPoints(), minEqOpFace::operator()(), sampledSurface::pointAverage(), primitiveMesh::pointFaces(), pointSet::pointSet(), pointZoneSet::pointZoneSet(), polyMesh::polyMesh(), fvMeshDistribute::printCoupleInfo(), fvMeshDistribute::printMeshInfo(), processorMeshes::reconstructPoints(), primitiveMesh::reset(), polyMesh::resetPrimitives(), decompositionMethod::setConstraints(), edgeCollapser::setRefinement(), pointMesh::size(), solidBodyMotionFvMesh::solidBodyMotionFvMesh(), sixDoFRigidBodyMotionSolver::solve(), meshRefinement::splitMesh(), pointSet::sync(), syncTools::syncPointList(), meshRefinement::testSyncPointList(), cellClassification::trimCutCells(), globalMeshData::updateMesh(), and edgeVertex::vertToEVert().

label nEdges ( ) const
inline
label nInternalFaces ( ) const
inline

Definition at line 82 of file primitiveMeshI.H.

Referenced by autoLayerDriver::addLayers(), polyTopoChange::addMesh(), autoRefineDriver::autoRefineDriver(), meshRefinement::baffleAndSplitMesh(), decompositionMethod::calcCellCells(), cellToFaceStencil::calcFaceStencil(), polyDualMesh::calcFeatures(), CentredFitSnGradData< Polynomial >::calcFit(), primitiveMesh::calcPointOrder(), primitiveMesh::cellCells(), CentredFitData< Polynomial >::CentredFitData(), meshRefinement::checkCoupledFaceZones(), polyBoundaryMesh::checkDefinition(), polyMeshGeometry::checkFaceDotProduct(), polyMeshGeometry::checkFaceSkewness(), polyMeshTetDecomposition::checkFaceTets(), polyMeshGeometry::checkFaceTets(), polyMeshGeometry::checkFaceTwist(), polyMeshGeometry::checkFaceWeights(), faceZone::checkParallelSync(), polyMeshGeometry::checkVolRatio(), inverseFaceDistanceDiffusivity::correct(), inversePointDistanceDiffusivity::correct(), decompositionMethod::decompose(), fvMeshDistribute::distribute(), dynamicRefineFvMesh::dynamicRefineFvMesh(), faceCoupleInfo::faceCoupleInfo(), cellQuality::faceNonOrthogonality(), primitiveMeshTools::faceOrthogonality(), polyMeshTools::faceOrthogonality(), primitiveMeshTools::facePyramidVolume(), polyMeshTools::faceSkewness(), primitiveMeshTools::faceSkewness(), cellQuality::faceSkewness(), polyMeshTools::faceWeights(), localPointRegion::findDuplicateFacePairs(), localPointRegion::findDuplicateFaces(), polyMeshTetDecomposition::findFaceBasePts(), isoSurface::generateFaceTriPoints(), boundaryMesh::getNearest(), particle< Type >::hitWallFaces(), cellToCellStencil::insertFaceCells(), cellToFaceStencil::insertFaceCells(), fvMeshSubset::interpolate(), volPointInterpolation::interpolateInternalField(), primitiveMesh::isInternalFace(), fvMeshAdder::MapVolFields(), meshRefinement::mergeBaffles(), MeshedSurface< Face >::MeshedSurface(), Cloud< ParticleType >::move(), fvMesh::movePoints(), particle< Type >::onBoundary(), minEqOpFace::operator()(), listPlusEqOp< T >::operator()(), boundaryMesh::patchify(), primitiveMesh::pointCells(), fvMeshDistribute::printCoupleInfo(), fvMeshDistribute::printMeshInfo(), boundaryMesh::read(), SloanRenumber::renumber(), primitiveMesh::reset(), mappedPatchBase::sampleSize(), fvMeshSubset::setLargeCellSubset(), tetDecomposer::setRefinement(), surfaceMesh::size(), fvSurfaceMapper::size(), meshRefinement::splitMesh(), syncTools::swapBoundaryCellList(), syncTools::swapBoundaryCellPositions(), syncTools::swapFaceList(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncFacePositions(), particle< Type >::trackToFace(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), rawTopoChangerFvMesh::update(), UpwindFitData< Polynomial >::UpwindFitData(), cellToFaceStencil::validBoundaryFaces(), cellToCellStencil::validBoundaryFaces(), polyMeshTools::volRatio(), extendedUpwindCellToFaceStencil::weightedSum(), extendedCellToFaceStencil::weightedSum(), polyBoundaryMesh::whichPatch(), regionSizeDistribution::write(), and meshRefinement::zonify().

label nFaces ( ) const
inline

Definition at line 88 of file primitiveMeshI.H.

Referenced by polyMeshAdder::add(), autoLayerDriver::addLayers(), fvMeshTools::addPatch(), meshRefinement::addPatch(), autoRefineDriver::autoRefineDriver(), meshRefinement::baffleAndSplitMesh(), decompositionMethod::calcCellCells(), primitiveMesh::calcFaceCentresAndAreas(), cellToFaceStencil::calcFaceStencil(), polyDualMesh::calcFeatures(), CentredFitSnGradData< Polynomial >::calcFit(), CentredFitData< Polynomial >::CentredFitData(), polyTopoChange::changeMesh(), edgeCollapser::checkBadFaces(), meshRefinement::checkCoupledFaceZones(), polyMeshGeometry::checkFaceDotProduct(), polyMeshTetDecomposition::checkFaceTets(), polyMeshGeometry::checkFaceTets(), polyMeshGeometry::checkFaceTwist(), polyMeshGeometry::checkFaceWeights(), motionSmootherAlgo::checkMesh(), polyMesh::checkMeshMotion(), faceZone::checkParallelSync(), polyMeshGeometry::checkVolRatio(), edgeCollapser::consistentCollapse(), polyMeshFilter::copyMesh(), meshRefinement::createBaffles(), meshRefinement::createZoneBaffles(), structuredDecomp::decompose(), decompositionMethod::decompose(), fvMeshDistribute::distribute(), autoLayerDriver::doLayers(), autoSnapDriver::doSnap(), dynamicRefineFvMesh::dynamicRefineFvMesh(), primitiveMeshTools::faceConcavity(), primitiveMeshTools::faceFlatness(), faceMapper::faceMapper(), cellQuality::faceNonOrthogonality(), polyMeshTools::faceOrthogonality(), primitiveMeshTools::facePyramidVolume(), faceSet::faceSet(), polyMeshTools::faceSkewness(), primitiveMeshTools::faceSkewness(), cellQuality::faceSkewness(), polyMeshTools::faceWeights(), faceZoneSet::faceZoneSet(), polyMeshFilter::filter(), localPointRegion::findDuplicateFacePairs(), polyMeshTetDecomposition::findFaceBasePts(), fvFieldReconstructor::fvFieldReconstructor(), isoSurface::generateFaceTriPoints(), syncTools::getInternalOrCoupledFaces(), syncTools::getInternalOrMasterFaces(), syncTools::getMasterFaces(), boundaryMesh::getNearest(), Foam::MULES::implicitSolve(), volPointInterpolation::interpolateInternalField(), cellFeatures::isFeatureVertex(), Foam::MULES::limit(), Foam::MULES::limitCorr(), polyTopoChange::makeMesh(), fvMesh::mapFields(), mappedPatchFieldBase< Type >::mappedField(), faceSet::maxSize(), faceZoneSet::maxSize(), meshRefinement::mergeBaffles(), autoLayerDriver::mergePatchFacesUndo(), MeshedSurface< Face >::MeshedSurface(), minEqOpFace::operator()(), listPlusEqOp< T >::operator()(), boundaryMesh::patchify(), polyMesh::polyMesh(), autoSnapDriver::preSmoothPatch(), fvMeshDistribute::printCoupleInfo(), fvMeshDistribute::printMeshInfo(), boundaryMesh::read(), wallBoundedStreamLine::read(), SloanRenumber::renumber(), structuredRenumber::renumber(), autoSnapDriver::repatchToSurface(), primitiveMesh::reset(), mappedPatchBase::sampleSize(), autoSnapDriver::scaleMesh(), decompositionMethod::setConstraints(), boundaryCutter::setRefinement(), tetDecomposer::setRefinement(), edgeCollapser::setRefinement(), faceMapper::size(), Foam::fvc::smooth(), meshRefinement::splitMesh(), Foam::fvc::spread(), syncTools::swapBoundaryCellList(), syncTools::swapBoundaryCellPositions(), syncTools::swapFaceList(), Foam::fvc::sweep(), faceSet::sync(), syncTools::syncBoundaryFaceList(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), syncTools::syncFacePositions(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), rawTopoChangerFvMesh::update(), globalMeshData::updateMesh(), UpwindFitData< Polynomial >::UpwindFitData(), polyMeshTools::volRatio(), polyBoundaryMesh::whichPatch(), regionSizeDistribution::write(), and meshRefinement::zonify().

label nCells ( ) const
inline

Definition at line 94 of file primitiveMeshI.H.

Referenced by polyMeshAdder::add(), autoLayerDriver::addLayers(), polyTopoChange::addMesh(), autoRefineDriver::autoRefineDriver(), nearWallFields::calcAddressing(), primitiveMesh::calcCellCentresAndVols(), primitiveMesh::calcCells(), curvatureSeparation::calcCosAngle(), primitiveMeshTools::cellClosedness(), cellCuts::cellCuts(), primitiveMeshTools::cellDeterminant(), cellMapper::cellMapper(), primitiveMesh::cellPoints(), cellSet::cellSet(), cellZoneSet::cellZoneSet(), polyTopoChange::changeMesh(), polyMesh::checkMeshMotion(), drippingInjection::correct(), structuredDecomp::decompose(), decompositionMethod::decompose(), fvMeshDistribute::distribute(), refinementHistory::distribute(), autoLayerDriver::doLayers(), autoRefineDriver::doRefine(), dynamicRefineFvMesh::dynamicRefineFvMesh(), polyMesh::findCell(), primitiveMesh::findCell(), refinementParameters::findCells(), fvFieldReconstructor::fvFieldReconstructor(), isoSurface::generateFaceTriPoints(), get_edge_list(), get_geom_list(), get_num_edges_list(), get_number_of_vertices(), get_vertex_list(), surfaceSets::getHangingCells(), hexRef8::hexRef8(), isoSurfaceCell::interpolate(), isoSurface::interpolate(), Kmesh::Kmesh(), primitiveMesh::makeCellCentresAndVols(), polyTopoChange::makeMesh(), fvMesh::mapFields(), mappedPatchFieldBase< Type >::mappedField(), meshToMesh::mapSrcToTgt(), meshToMesh::mapTgtToSrc(), cellSet::maxSize(), cellZoneSet::maxSize(), momentOfInertia::meshInertia(), cellQuality::nonOrthogonality(), minEqOpFace::operator()(), cellTable::operator=(), sampledSurface::pointAverage(), polyMesh::polyMesh(), fvMeshDistribute::printCoupleInfo(), fvMeshDistribute::printMeshInfo(), ensightParts::recalculate(), CuthillMcKeeRenumber::renumber(), zoltanRenumber::renumber(), SloanRenumber::renumber(), springRenumber::renumber(), structuredRenumber::renumber(), renumberMethod::renumber(), primitiveMesh::reset(), polyMesh::resetPrimitives(), mappedPatchBase::sampleSize(), tetDecomposer::setRefinement(), edgeCollapser::setRefinement(), volMesh::size(), cellQuality::skewness(), Foam::fvc::smooth(), solidBodyMotionFvMesh::solidBodyMotionFvMesh(), meshRefinement::splitMesh(), Foam::fvc::spread(), syncTools::swapBoundaryCellList(), syncTools::swapBoundaryCellPositions(), Foam::fvc::sweep(), dynamicRefineFvMesh::update(), globalMeshData::updateMesh(), regionSizeDistribution::write(), meshToMeshMethod::writeConnectivity(), meshRefinement::zonify(), and leastSquaresVectors::~leastSquaresVectors().

label nInternalPoints ( ) const
inline

Points not on boundary.

Definition at line 35 of file primitiveMeshI.H.

Referenced by primitiveMesh::calcPointOrder(), and primitiveMesh::reset().

Here is the caller graph for this function:

label nInternal0Edges ( ) const
inline

Internal edges (i.e. not on boundary face) using.

no boundary point

Definition at line 47 of file primitiveMeshI.H.

References primitiveMesh::nEdges().

Here is the call graph for this function:

label nInternal1Edges ( ) const
inline

Internal edges using 0 or 1 boundary point.

Definition at line 55 of file primitiveMeshI.H.

References primitiveMesh::nEdges().

Here is the call graph for this function:

label nInternalEdges ( ) const
inline

Internal edges using 0,1 or 2 boundary points.

Definition at line 63 of file primitiveMeshI.H.

References primitiveMesh::nEdges().

Here is the call graph for this function:

virtual const pointField& points ( ) const
pure virtual
virtual const faceList& faces ( ) const
pure virtual
virtual const labelList& faceOwner ( ) const
pure virtual
virtual const labelList& faceNeighbour ( ) const
pure virtual
virtual const pointField& oldPoints ( ) const
pure virtual

Return old points for mesh motion.

Implemented in polyMesh.

const Foam::cellShapeList & cellShapes ( ) const

Return cell shapes.

Definition at line 340 of file primitiveMesh.C.

Referenced by ensightPartCells::~ensightPartCells().

Here is the caller graph for this function:

const Foam::edgeList & edges ( ) const
void calcCells ( cellList cellFaceAddr,
const labelUList own,
const labelUList nei,
const label  nCells = -1 
)
static

Helper function to calculate cell-face addressing from.

face-cell addressing. If nCells is not provided it will scan for the maximum.

Definition at line 31 of file primitiveMeshCells.C.

References Foam::abort(), Foam::endl(), primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), Foam::FatalError, FatalErrorIn, forAll, Foam::max(), primitiveMesh::nCells(), Foam::Pout, List< T >::setSize(), and List< T >::size().

Here is the call graph for this function:

bool calcPointOrder ( label nInternalPoints,
labelList pointMap,
const faceList faces,
const label  nInternalFaces,
const label  nPoints 
)
static

Helper function to calculate point ordering. Returns true.

if points already ordered, false and fills pointMap (old to new). Map splits points into those not used by any boundary face and those that are.

Definition at line 129 of file primitiveMesh.C.

References f(), forAll, primitiveMesh::nInternalFaces(), primitiveMesh::nInternalPoints(), primitiveMesh::reset(), List< T >::setSize(), and List< T >::size().

Referenced by primitiveMesh::reset(), and primitiveMesh::~primitiveMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::labelListList & cellCells ( ) const

Definition at line 100 of file primitiveMeshCellCells.C.

Referenced by meshToMeshMethod::appendNbrCells(), primitiveMesh::cellCells(), and NamedEnum< Enum, nEnum >::names().

Here is the caller graph for this function:

const Foam::labelListList & edgeCells ( ) const

Definition at line 32 of file primitiveMeshEdgeCells.C.

References Foam::abort(), primitiveMesh::cellEdges(), Foam::endl(), Foam::FatalError, FatalErrorIn, Foam::invertManyToMany(), primitiveMesh::nEdges(), and Foam::Pout.

Referenced by primitiveMesh::edgeCells(), and Foam::meshTools::edgeOnCell().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::labelListList & pointCells ( ) const
const Foam::cellList & cells ( ) const

Definition at line 136 of file primitiveMeshCells.C.

Referenced by autoRefineDriver::autoRefineDriver(), pointMVCWeight::calcWeights(), tetOverlapVolume::cellCellOverlapMinDecomp(), tetOverlapVolume::cellCellOverlapVolumeMinDecomp(), primitiveMesh::cellCells(), primitiveMeshTools::cellDeterminant(), primitiveMesh::cellEdges(), primitiveMesh::cellPoints(), polyMeshTetDecomposition::cellTetIndices(), layerAdditionRemoval::changeTopology(), primitiveMeshGeometry::checkCellDeterminant(), polyMeshGeometry::checkCellDeterminant(), primitiveMeshGeometry::checkFacePyramids(), polyMeshGeometry::checkFacePyramids(), edgeCollapser::consistentCollapse(), inversePointDistanceDiffusivity::correct(), outletStabilised< Type >::correction(), meshRefinement::createBaffles(), particle< Type >::crossEdgeConnectedFace(), geomCellLooper::cut(), topoCellLooper::cut(), dynamicRefineFvMesh::dynamicRefineFvMesh(), probes::findElements(), sampledSet::findNearFace(), polyMeshTetDecomposition::findTet(), get_edge_list(), get_num_edges_list(), surfaceSets::getHangingCells(), Foam::meshTools::getSharedFace(), particle< Type >::hitWallFaces(), SurfaceFilmModel< CloudType >::inject(), Foam::interpolatePointToCell(), hexMatcher::isA(), prismMatcher::isA(), pyrMatcher::isA(), tetMatcher::isA(), tetWedgeMatcher::isA(), wedgeMatcher::isA(), degenerateMatcher::match(), hexMatcher::matches(), prismMatcher::matches(), pyrMatcher::matches(), tetWedgeMatcher::matches(), wedgeMatcher::matches(), tetMatcher::matches(), multiSolidBodyMotionFvMesh::multiSolidBodyMotionFvMesh(), NamedEnum< Enum, nEnum >::names(), cellCuts::nonAnchorPoints(), tetIndices::oldTet(), minEqOpFace::operator()(), treeDataCell::findIntersectOp::operator()(), polyMesh::pointInCell(), primitiveMesh::pointInCell(), polyMesh::polyMesh(), Foam::polyMeshZipUpCells(), wallBoundedStreamLine::read(), polyMesh::readUpdate(), fvMeshSubset::setCellSubset(), fvMeshSubset::setLargeCellSubset(), patchInjectionBase::setPositionAndCell(), tetDecomposer::setRefinement(), meshCutter::setRefinement(), edgeCollapser::setRefinement(), fvMatrix< Type >::setValuesFromList(), solidBodyMotionFvMesh::solidBodyMotionFvMesh(), meshRefinement::splitMesh(), outletStabilised< Type >::weights(), meshToMeshMethod::writeConnectivity(), and ensightPartCells::~ensightPartCells().

const Foam::labelListList & edgeFaces ( ) const
const Foam::labelListList & pointFaces ( ) const
const Foam::labelListList & cellEdges ( ) const
const Foam::labelListList & faceEdges ( ) const
const Foam::labelListList & pointEdges ( ) const
const Foam::labelListList & pointPoints ( ) const

Definition at line 91 of file primitiveMeshPointPoints.C.

Referenced by primitiveMesh::pointPoints().

Here is the caller graph for this function:

const Foam::labelListList & cellPoints ( ) const
const Foam::vectorField & cellCentres ( ) const

Definition at line 160 of file primitiveMeshCellCentresAndVols.C.

References primitiveMesh::calcCellCentresAndVols().

Referenced by polyTopoChange::addMesh(), autoSnapDriver::avgCellCentres(), tetOverlapVolume::cellCellOverlapMinDecomp(), tetOverlapVolume::cellCellOverlapVolumeMinDecomp(), polyMesh::checkFaceOrthogonality(), primitiveMesh::checkFaceOrthogonality(), primitiveMesh::checkFacePyramids(), polyMesh::checkFaceSkewness(), primitiveMesh::checkFaceSkewness(), polyMeshTetDecomposition::checkFaceTets(), polyMesh::checkFaceWeight(), motionSmootherAlgo::checkMesh(), fvPatch::Cn(), polyMeshGeometry::correct(), cellDistFuncs::correctBoundaryFaceCells(), cellDistFuncs::correctBoundaryPointCells(), meshRefinement::createZoneBaffles(), structuredDecomp::decompose(), decompositionMethod::decompose(), polyPatch::faceCellCentres(), cellQuality::faceNonOrthogonality(), mappedPatchBase::facePoint(), cellQuality::faceSkewness(), polyMeshTetDecomposition::findBasePoint(), probes::findElements(), polyMeshTetDecomposition::findFaceBasePts(), mapNearestMethod::findNearestCell(), primitiveMesh::findNearestCell(), mappedPatchBase::findSamples(), polyMeshTetDecomposition::findSharedBasePoint(), get_geom_list(), particle< Type >::initCellFacePt(), meshRefinement::mergeBaffles(), surfaceInterpolation::movePoints(), NamedEnum< Enum, nEnum >::names(), cellQuality::nonOrthogonality(), treeDataCell::findNearestOp::operator()(), InflationInjection< CloudType >::parcelsToInject(), sampledSet::pushIn(), structuredRenumber::renumber(), patchInjectionBase::setPositionAndCell(), tetDecomposer::setRefinement(), cellQuality::skewness(), tetIndices::tet(), particle< Type >::trackToFace(), sweepData::updateCell(), wallPoint::updateCell(), refinementDistanceData::updateCell(), cylindrical::updateCells(), reactingOneDim::updateQr(), meshToMeshMethod::writeConnectivity(), cellSet::writeDebug(), and meshRefinement::zonify().

Here is the call graph for this function:

const Foam::vectorField & faceCentres ( ) const

Definition at line 140 of file primitiveMeshFaceCentresAndAreas.C.

References primitiveMesh::calcFaceCentresAndAreas().

Referenced by primitiveMesh::calcCellCentresAndVols(), sampledSet::calcSign(), primitiveMesh::checkConcaveCells(), primitiveMesh::checkFaceFlatness(), polyMesh::checkFaceSkewness(), primitiveMesh::checkFaceSkewness(), polyMeshTetDecomposition::checkFaceTets(), polyMesh::checkFaceWeight(), motionSmootherAlgo::checkMesh(), polyMeshGeometry::correct(), meshRefinement::createBaffles(), decompositionMethod::decompose(), extendedUpwindCellToFaceStencil::extendedUpwindCellToFaceStencil(), mappedPatchBase::facePoint(), cellQuality::faceSkewness(), patchProbes::findElements(), probes::findElements(), FitData< FitDataType, ExtendedStencil, Polynomial >::findFaceDirs(), mappedPatchBase::findSamples(), boundaryMesh::getNearest(), meshRefinement::mergeBaffles(), meshTriangulation::meshTriangulation(), surfaceInterpolation::movePoints(), minEqOpFace::operator()(), listPlusEqOp< T >::operator()(), treeDataFace::findIntersectOp::operator()(), polyMesh::pointInCell(), primitiveMesh::pointInCell(), fvMeshDistribute::printCoupleInfo(), sampledSet::pushIn(), autoSnapDriver::repatchToSurface(), boundaryCutter::setRefinement(), tetDecomposer::setRefinement(), cellQuality::skewness(), meshRefinement::splitMesh(), Foam::fvc::sweep(), triSurfaceTools::triangulateFaceCentre(), wallPointYPlus::updateFace(), wallPointData< Type >::updateFace(), sweepData::updateFace(), wallPoint::updateFace(), refinementDistanceData::updateFace(), and faceSet::writeDebug().

Here is the call graph for this function:

Here is the caller graph for this function:

const Foam::scalarField & cellVolumes ( ) const
const Foam::vectorField & faceAreas ( ) const
Foam::tmp< Foam::scalarField > movePoints ( const pointField p,
const pointField oldP 
)

Move points, returns volumes swept by faces in motion.

Definition at line 306 of file primitiveMesh.C.

References Foam::abort(), primitiveMesh::clearGeom(), f(), primitiveMesh::faces(), Foam::FatalError, FatalErrorIn, forAll, primitiveMesh::nPoints(), and List< T >::size().

Referenced by polyMesh::movePoints(), and primitiveMesh::reset().

Here is the call graph for this function:

Here is the caller graph for this function:

bool isInternalFace ( const label  faceIndex) const
inline

Return true if given face label is internal to the mesh.

Definition at line 100 of file primitiveMeshI.H.

References primitiveMesh::nInternalFaces().

Referenced by polyMeshGeometry::affectedCells(), addPatchCellLayer::calcSidePatch(), edgeFaceCirculator::cellLabel(), repatchPolyTopoChanger::changePatchID(), primitiveMeshGeometry::checkFaceDotProduct(), polyMeshGeometry::checkFaceDotProduct(), primitiveMeshGeometry::checkFacePyramids(), polyMeshGeometry::checkFacePyramids(), primitiveMeshGeometry::checkFaceSkewness(), polyMeshGeometry::checkFaceSkewness(), polyMeshTetDecomposition::checkFaceTets(), polyMeshGeometry::checkFaceTets(), polyMeshGeometry::checkFaceTwist(), primitiveMeshGeometry::checkFaceWeights(), polyMeshGeometry::checkFaceWeights(), faceZone::checkParallelSync(), polyMeshGeometry::checkVolRatio(), outletStabilised< Type >::correction(), decompositionMethod::decompose(), primitiveMesh::edgeCells(), Foam::meshTools::faceOnCell(), primitiveMeshTools::facePyramidVolume(), get_edge_list(), get_num_edges_list(), Foam::meshTools::getSharedFace(), particle< Type >::internalFace(), meshRefinement::mergeBaffles(), meshTriangulation::meshTriangulation(), minEqOpFace::operator()(), listPlusEqOp< T >::operator()(), edgeFaceCirculator::operator++(), Foam::meshTools::otherCell(), edgeFaceCirculator::setCanonical(), fvMeshSubset::setCellSubset(), fvMeshSubset::setLargeCellSubset(), duplicatePoints::setRefinement(), perfectInterface::setRefinement(), boundaryCutter::setRefinement(), edgeCollapser::setRefinement(), fvMatrix< Type >::setValuesFromList(), meshRefinement::splitMesh(), outletStabilised< Type >::weights(), and meshRefinement::zonify().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkUpperTriangular ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check face ordering.

Definition at line 997 of file primitiveMeshCheck.C.

References Foam::constant::universal::c, cells, primitiveMesh::checkCellsZipUp(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::labelMax, Foam::reduce(), and List< T >::size().

Referenced by primitiveMesh::checkConcaveCells(), and primitiveMesh::checkTopology().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkCellsZipUp ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check cell zip-up.

Definition at line 1162 of file primitiveMeshCheck.C.

References Foam::constant::universal::c, cells, primitiveMesh::checkFaceVertices(), Foam::endl(), f(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::reduce(), and List< T >::size().

Referenced by primitiveMesh::checkTopology(), and primitiveMesh::checkUpperTriangular().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceVertices ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check uniqueness of face vertices.

Definition at line 1263 of file primitiveMeshCheck.C.

References primitiveMesh::checkPoints(), Foam::endl(), f(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::max(), Foam::min(), nPoints, Foam::reduce(), and List< T >::size().

Referenced by primitiveMesh::checkCellsZipUp(), and primitiveMesh::checkTopology().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkPoints ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check for unused points.

Definition at line 1338 of file primitiveMeshCheck.C.

References primitiveMesh::checkDuplicateFaces(), UList< T >::empty(), Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), and Foam::reduce().

Referenced by primitiveMesh::checkFaceVertices(), and primitiveMesh::checkTopology().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkFaceFaces ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check face-face connectivity.

Definition at line 1618 of file primitiveMeshCheck.C.

References HashTable< T, Key, Hash >::clear(), HashTableCore::end(), Foam::endl(), HashTable< T, Key, Hash >::find(), forAll, Foam::Info, HashTable< T, Key, Hash >::insert(), and Foam::reduce().

Referenced by primitiveMesh::checkCommonOrder(), and primitiveMesh::checkTopology().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkClosedBoundary ( const bool  report = false) const
virtual

Check boundary for closedness.

Definition at line 1730 of file primitiveMeshCheck.C.

References primitiveMesh::checkClosedBoundary(), primitiveMesh::checkClosedCells(), and primitiveMesh::faceAreas().

Here is the call graph for this function:

bool checkClosedCells ( const bool  report = false,
labelHashSet setPtr = NULL,
labelHashSet highAspectSetPtr = NULL,
const Vector< label > &  solutionD = Vector<label>::one 
) const
virtual

Check cells for closedness.

Definition at line 1737 of file primitiveMeshCheck.C.

References primitiveMesh::cellVolumes(), primitiveMesh::checkClosedCells(), primitiveMesh::checkFaceAreas(), and primitiveMesh::faceAreas().

Here is the call graph for this function:

bool checkFaceAreas ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check for negative face areas.

Definition at line 1757 of file primitiveMeshCheck.C.

References primitiveMesh::checkCellVolumes(), primitiveMesh::checkFaceAreas(), and primitiveMesh::faceAreas().

Here is the call graph for this function:

bool checkCellVolumes ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check for negative cell volumes.

Definition at line 1773 of file primitiveMeshCheck.C.

References primitiveMesh::cellVolumes(), primitiveMesh::checkCellVolumes(), and primitiveMesh::checkFaceOrthogonality().

Here is the call graph for this function:

bool checkFaceOrthogonality ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check for non-orthogonality.

Reimplemented in polyMesh.

Definition at line 1789 of file primitiveMeshCheck.C.

References primitiveMesh::cellCentres(), primitiveMesh::checkFaceOrthogonality(), primitiveMesh::checkFacePyramids(), and primitiveMesh::faceAreas().

Here is the call graph for this function:

bool checkFacePyramids ( const bool  report = false,
const scalar  minPyrVol = -SMALL,
labelHashSet setPtr = NULL 
) const
virtual

Check face pyramid volume.

Definition at line 1805 of file primitiveMeshCheck.C.

References primitiveMesh::cellCentres(), primitiveMesh::checkFacePyramids(), primitiveMesh::checkFaceSkewness(), and primitiveMesh::points().

Here is the call graph for this function:

bool checkFaceSkewness ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check face skewness.

Reimplemented in polyMesh.

Definition at line 1824 of file primitiveMeshCheck.C.

References primitiveMesh::cellCentres(), primitiveMesh::checkFaceAngles(), primitiveMesh::checkFaceSkewness(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), and primitiveMesh::points().

Here is the call graph for this function:

bool checkFaceAngles ( const bool  report = false,
const scalar  maxSin = 10,
labelHashSet setPtr = NULL 
) const
virtual

Check face angles.

Definition at line 1842 of file primitiveMeshCheck.C.

References primitiveMesh::checkFaceAngles(), primitiveMesh::checkFaceFlatness(), primitiveMesh::faceAreas(), and primitiveMesh::points().

Here is the call graph for this function:

bool checkFaceFlatness ( const bool  report,
const scalar  warnFlatness,
labelHashSet setPtr 
) const
virtual

Check face warpage: decompose face and check ratio between.

magnitude of sum of triangle areas and sum of magnitude of triangle areas.

Definition at line 1860 of file primitiveMeshCheck.C.

References primitiveMesh::checkConcaveCells(), primitiveMesh::checkFaceFlatness(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), and primitiveMesh::points().

Here is the call graph for this function:

bool checkPointNearness ( const bool  report,
const scalar  reportDistSqr,
labelHashSet setPtr = NULL 
) const
virtual

Check for point-point-nearness,.

e.g. colocated points which may be part of baffles.

Definition at line 32 of file primitiveMeshCheckPointNearness.C.

References Foam::endl(), SortableList< T >::indices(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::magSqr(), points, Foam::reduce(), List< T >::size(), and Foam::sqrt().

Here is the call graph for this function:

bool checkEdgeLength ( const bool  report,
const scalar  minLenSqr,
labelHashSet setPtr = NULL 
) const
virtual
bool checkConcaveCells ( const bool  report = false,
labelHashSet setPtr = NULL 
) const
virtual

Check for concave cells by the planes of faces.

Definition at line 1879 of file primitiveMeshCheck.C.

References primitiveMesh::checkConcaveCells(), primitiveMesh::faceAreas(), and primitiveMesh::faceCentres().

Here is the call graph for this function:

bool checkTopology ( const bool  report = false) const
virtual

Check mesh topology for correctness.

Returns false for no error.

Definition at line 1894 of file primitiveMeshCheck.C.

References primitiveMesh::checkCellsZipUp(), primitiveMesh::checkFaceFaces(), primitiveMesh::checkFaceVertices(), primitiveMesh::checkPoints(), primitiveMesh::checkUpperTriangular(), Foam::endl(), and Foam::Info.

Referenced by primitiveMesh::checkMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkGeometry ( const bool  report = false) const
virtual

Check mesh geometry (& implicitly topology) for correctness.

Returns false for no error.

Definition at line 1926 of file primitiveMeshCheck.C.

References primitiveMesh::checkCellVolumes(), primitiveMesh::checkClosedBoundary(), primitiveMesh::checkClosedCells(), primitiveMesh::checkFaceAreas(), primitiveMesh::checkFaceOrthogonality(), primitiveMesh::checkFacePyramids(), primitiveMesh::checkFaceSkewness(), Foam::endl(), and Foam::Info.

Referenced by primitiveMesh::checkMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

bool checkMesh ( const bool  report = false) const
virtual

Check mesh for correctness. Returns false for no error.

Definition at line 1959 of file primitiveMeshCheck.C.

References primitiveMesh::checkGeometry(), primitiveMesh::checkTopology(), Foam::endl(), and Foam::Info.

Referenced by attachPolyTopoChanger::attach(), and polyMesh::polyMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar setClosedThreshold ( const scalar  val)
static

Set the closedness ratio warning threshold.

Definition at line 1991 of file primitiveMeshCheck.C.

References primitiveMesh::closedThreshold_.

Foam::scalar setAspectThreshold ( const scalar  val)
static

Set the aspect ratio warning threshold.

Definition at line 2000 of file primitiveMeshCheck.C.

References primitiveMesh::aspectThreshold_.

Foam::scalar setNonOrthThreshold ( const scalar  val)
static

Set the non-orthogonality warning threshold in degrees.

Definition at line 2009 of file primitiveMeshCheck.C.

References primitiveMesh::nonOrthThreshold_.

Foam::scalar setSkewThreshold ( const scalar  val)
static

Set the skewness warning threshold as percentage.

of the face area vector

Definition at line 2018 of file primitiveMeshCheck.C.

References primitiveMesh::skewThreshold_.

bool pointInCellBB ( const point p,
label  celli,
scalar  inflationFraction = 0 
) const

Return true if the point in the cell bounding box.

The bounding box may be isotropically inflated by the fraction inflationFraction

Definition at line 33 of file primitiveMeshFindCell.C.

References cells, boundBox::contains(), Foam::mag(), Vector< Cmpt >::max, points, and boundBox::span().

Referenced by particle< Type >::initCellFacePt().

Here is the call graph for this function:

Here is the caller graph for this function:

bool pointInCell ( const point p,
label  celli 
) const

Return true if the point is in the cell.

Definition at line 59 of file primitiveMeshFindCell.C.

References primitiveMesh::cells(), f(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), primitiveMesh::faceOwner(), and forAll.

Referenced by primitiveMesh::findCell(), and polyMesh::pointInCell().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::label findNearestCell ( const point location) const

Find the cell with the nearest cell centre to location.

Definition at line 86 of file primitiveMeshFindCell.C.

References primitiveMesh::cellCentres(), Foam::magSqr(), and List< T >::size().

Referenced by polyMesh::findCell(), and primitiveMesh::findCell().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::label findCell ( const point location) const

Find cell enclosing this location (-1 if not in mesh)

Definition at line 108 of file primitiveMeshFindCell.C.

References primitiveMesh::findNearestCell(), n, primitiveMesh::nCells(), and primitiveMesh::pointInCell().

Here is the call graph for this function:

void printAllocated ( ) const

Print a list of all the currently allocated mesh data.

Definition at line 31 of file primitiveMeshClear.C.

References Foam::endl(), and Foam::Pout.

Here is the call graph for this function:

bool hasCellShapes ( ) const
inline

Definition at line 106 of file primitiveMeshI.H.

bool hasEdges ( ) const
inline

Definition at line 112 of file primitiveMeshI.H.

bool hasCellCells ( ) const
inline

Definition at line 118 of file primitiveMeshI.H.

Referenced by primitiveMesh::cellCells().

Here is the caller graph for this function:

bool hasEdgeCells ( ) const
inline

Definition at line 124 of file primitiveMeshI.H.

Referenced by primitiveMesh::edgeCells().

Here is the caller graph for this function:

bool hasPointCells ( ) const
inline

Definition at line 130 of file primitiveMeshI.H.

Referenced by primitiveMesh::pointCells().

Here is the caller graph for this function:

bool hasCells ( ) const
inline

Definition at line 136 of file primitiveMeshI.H.

bool hasEdgeFaces ( ) const
inline

Definition at line 142 of file primitiveMeshI.H.

Referenced by primitiveMesh::edgeFaces().

Here is the caller graph for this function:

bool hasPointFaces ( ) const
inline

Definition at line 148 of file primitiveMeshI.H.

bool hasCellEdges ( ) const
inline

Definition at line 154 of file primitiveMeshI.H.

Referenced by primitiveMesh::cellEdges().

Here is the caller graph for this function:

bool hasFaceEdges ( ) const
inline

Definition at line 160 of file primitiveMeshI.H.

Referenced by primitiveMesh::faceEdges().

Here is the caller graph for this function:

bool hasPointEdges ( ) const
inline

Definition at line 166 of file primitiveMeshI.H.

bool hasPointPoints ( ) const
inline

Definition at line 172 of file primitiveMeshI.H.

Referenced by primitiveMesh::pointPoints().

Here is the caller graph for this function:

bool hasCellPoints ( ) const
inline

Definition at line 178 of file primitiveMeshI.H.

Referenced by primitiveMesh::cellPoints().

Here is the caller graph for this function:

bool hasCellCentres ( ) const
inline

Definition at line 184 of file primitiveMeshI.H.

bool hasFaceCentres ( ) const
inline

Definition at line 190 of file primitiveMeshI.H.

bool hasCellVolumes ( ) const
inline

Definition at line 196 of file primitiveMeshI.H.

bool hasFaceAreas ( ) const
inline

Definition at line 202 of file primitiveMeshI.H.

const Foam::labelList & cellCells ( const label  cellI,
DynamicList< label > &  storage 
) const
const Foam::labelList & cellCells ( const label  cellI) const

Definition at line 151 of file primitiveMeshCellCells.C.

References primitiveMesh::cellCells().

Here is the call graph for this function:

const Foam::labelList & cellPoints ( const label  cellI,
DynamicList< label > &  storage 
) const
const Foam::labelList & cellPoints ( const label  cellI) const

Definition at line 101 of file primitiveMeshCellPoints.C.

References primitiveMesh::cellPoints().

Here is the call graph for this function:

const Foam::labelList & pointCells ( const label  pointI,
DynamicList< label > &  storage 
) const
const Foam::labelList & pointCells ( const label  pointI) const

Definition at line 174 of file primitiveMeshPointCells.C.

References primitiveMesh::pointCells().

Here is the call graph for this function:

const Foam::labelList & pointPoints ( const label  pointI,
DynamicList< label > &  storage 
) const
const Foam::labelList & pointPoints ( const label  pointI) const

Definition at line 135 of file primitiveMeshPointPoints.C.

References primitiveMesh::pointPoints().

Here is the call graph for this function:

const Foam::labelList & faceEdges ( const label  faceI,
DynamicList< label > &  storage 
) const
const Foam::labelList & faceEdges ( const label  faceI) const

Definition at line 621 of file primitiveMeshEdges.C.

References primitiveMesh::cellEdges(), and primitiveMesh::faceEdges().

Here is the call graph for this function:

const Foam::labelList & edgeFaces ( const label  edgeI,
DynamicList< label > &  storage 
) const
const Foam::labelList & edgeFaces ( const label  edgeI) const

Definition at line 103 of file primitiveMeshEdgeFaces.C.

References primitiveMesh::edgeFaces().

Here is the call graph for this function:

const Foam::labelList & edgeCells ( const label  edgeI,
DynamicList< label > &  storage 
) const
const Foam::labelList & edgeCells ( const label  edgeI) const

Definition at line 127 of file primitiveMeshEdgeCells.C.

References primitiveMesh::edgeCells().

Here is the call graph for this function:

const Foam::labelList & cellEdges ( const label  cellI,
DynamicList< label > &  storage 
) const
const Foam::labelList & cellEdges ( const label  cellI) const

Definition at line 670 of file primitiveMeshEdges.C.

References primitiveMesh::cellEdges().

Here is the call graph for this function:

void clearGeom ( )

Clear geometry.

Definition at line 125 of file primitiveMeshClear.C.

References Foam::deleteDemandDrivenData(), Foam::endl(), and Foam::Pout.

Referenced by polyMesh::clearGeom(), primitiveMesh::clearOut(), and primitiveMesh::movePoints().

Here is the call graph for this function:

Here is the caller graph for this function:

void clearAddressing ( )

Clear topological data.

Definition at line 141 of file primitiveMeshClear.C.

References Foam::deleteDemandDrivenData(), Foam::endl(), and Foam::Pout.

Referenced by polyMesh::cellZones(), polyMesh::clearAddressing(), polyMesh::clearOut(), primitiveMesh::clearOut(), polyMesh::resetPrimitives(), and fvMesh::updateMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void clearOut ( )

Clear all geometry and addressing unnecessary for CFD.

Definition at line 170 of file primitiveMeshClear.C.

References primitiveMesh::clearAddressing(), and primitiveMesh::clearGeom().

Referenced by primitiveMesh::reset(), and primitiveMesh::~primitiveMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

Foam::scalar closedThreshold_ = 1.0e-6
staticprotected

Static data to control mesh checking.

Cell closedness warning threshold

set as the fraction of un-closed area to closed area

Definition at line 234 of file primitiveMesh.H.

Referenced by primitiveMesh::setClosedThreshold().

Foam::scalar aspectThreshold_ = 1000
staticprotected

Aspect ratio warning threshold.

Definition at line 237 of file primitiveMesh.H.

Referenced by primitiveMesh::setAspectThreshold().

Foam::scalar nonOrthThreshold_ = 70
staticprotected

Non-orthogonality warning threshold in deg.

Definition at line 240 of file primitiveMesh.H.

Referenced by primitiveMesh::setNonOrthThreshold().

Foam::scalar skewThreshold_ = 4
staticprotected

Skewness warning threshold.

Definition at line 243 of file primitiveMesh.H.

Referenced by primitiveMesh::setSkewThreshold().

Foam::scalar planarCosAngle_ = 1.0e-6
staticprotected

Threshold where faces are considered coplanar.

Definition at line 246 of file primitiveMesh.H.

const unsigned cellsPerEdge_ = 4
static

Estimated number of cells per edge.

Definition at line 403 of file primitiveMesh.H.

const unsigned cellsPerPoint_ = 8
static

Estimated number of cells per point.

Definition at line 406 of file primitiveMesh.H.

const unsigned facesPerCell_ = 6
static

Estimated number of faces per cell.

Definition at line 409 of file primitiveMesh.H.

const unsigned facesPerEdge_ = 4
static

Estimated number of faces per edge.

Definition at line 412 of file primitiveMesh.H.

const unsigned facesPerPoint_ = 12
static

Estimated number of faces per point.

Definition at line 415 of file primitiveMesh.H.

const unsigned edgesPerCell_ = 12
static

Estimated number of edges per cell.

Definition at line 418 of file primitiveMesh.H.

const unsigned edgesPerFace_ = 4
static

Estimated number of edges per cell.

Definition at line 421 of file primitiveMesh.H.

const unsigned edgesPerPoint_ = 6
static

Estimated number of edges per point.

Definition at line 424 of file primitiveMesh.H.

const unsigned pointsPerCell_ = 8
static

Estimated number of points per cell.

Definition at line 427 of file primitiveMesh.H.

const unsigned pointsPerFace_ = 4
static

Estimated number of points per face.

Definition at line 430 of file primitiveMesh.H.


The documentation for this class was generated from the following files: