FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

Foam::meshTools Namespace Reference

Collection of static functions to do various simple mesh related things. More...


Detailed Description

Collection of static functions to do various simple mesh related things.

Source files

Functions

bool  visNormal (const vector &n, const vectorField &faceNormals, const labelList &faceLabels)
 Check if n is in same direction as normals of all faceLabels.
vectorField  calcBoxPointNormals (const primitivePatch &pp)
 Calculate point normals on a 'box' mesh (all edges aligned with.
vector  normEdgeVec (const primitiveMesh &, const label edgeI)
 Normalized edge vector.
void  writeOBJ (Ostream &os, const point &pt)
 Write obj representation of point.
void  writeOBJ (Ostream &os, const faceList &, const pointField &, const labelList &faceLabels)
 Write obj representation of faces subset.
void  writeOBJ (Ostream &os, const faceList &, const pointField &)
 Write obj representation of faces.
void  writeOBJ (Ostream &os, const cellList &, const faceList &, const pointField &, const labelList &cellLabels)
 Write obj representation of cell subset.
bool  edgeOnCell (const primitiveMesh &, const label cellI, const label edgeI)
 Is edge used by cell.
bool  edgeOnFace (const primitiveMesh &, const label faceI, const label edgeI)
 Is edge used by face.
bool  faceOnCell (const primitiveMesh &, const label cellI, const label faceI)
 Is face used by cell.
label  findEdge (const edgeList &edges, const labelList &candidates, const label v0, const label v1)
 Return edge among candidates that uses the two vertices.
label  findEdge (const primitiveMesh &, const label v0, const label v1)
 Return edge between two vertices. Returns -1 if no edge.
label  getSharedEdge (const primitiveMesh &, const label f0, const label f1)
 Return edge shared by two faces. Throws error if no edge found.
label  getSharedFace (const primitiveMesh &, const label cell0, const label cell1)
 Return face shared by two cells. Throws error if none found.
void  getEdgeFaces (const primitiveMesh &, const label cellI, const label edgeI, label &face0, label &face1)
 Get faces on cell using edgeI. Throws error if no two found.
label  otherEdge (const primitiveMesh &, const labelList &edgeLabels, const label edgeI, const label vertI)
 Return label of other edge (out of candidates edgeLabels)
label  otherFace (const primitiveMesh &, const label cellI, const label faceI, const label edgeI)
 Return face on cell using edgeI but not faceI. Throws error.
label  otherCell (const primitiveMesh &, const label cellI, const label faceI)
 Return cell on other side of face. Throws error.
label  walkFace (const primitiveMesh &, const label faceI, const label startEdgeI, const label startVertI, const label nEdges)
 Returns label of edge nEdges away from startEdge (in the direction.
void  constrainToMeshCentre (const polyMesh &mesh, point &pt)
 Set the constrained components of position to mesh centre.
void  constrainToMeshCentre (const polyMesh &mesh, pointField &pt)
void  constrainDirection (const polyMesh &mesh, const Vector< label > &dirs, vector &d)
 Set the constrained components of directions/velocity to zero.
void  constrainDirection (const polyMesh &mesh, const Vector< label > &dirs, vectorField &d)
void  getParallelEdges (const primitiveMesh &, const label cellI, const label e0, label &, label &, label &)
 Given edge on hex find other 'parallel', non-connected edges.
vector  edgeToCutDir (const primitiveMesh &, const label cellI, const label edgeI)
 Given edge on hex find all 'parallel' (i.e. non-connected)
label  cutDirToEdge (const primitiveMesh &, const label cellI, const vector &cutDir)
 Reverse of edgeToCutDir: given direction find edge bundle and.

Variables

static const label  mXmYmZ = 0
static const label  pXmYmZ = 1
static const label  mXpYmZ = 2
static const label  pXpYmZ = 3
static const label  mXmYpZ = 4
static const label  pXmYpZ = 5
static const label  mXpYpZ = 6
static const label  pXpYpZ = 7
static const label  mXmYmZMask = 1 << mXmYmZ
static const label  pXmYmZMask = 1 << pXmYmZ
static const label  mXpYmZMask = 1 << mXpYmZ
static const label  pXpYmZMask = 1 << pXpYmZ
static const label  mXmYpZMask = 1 << mXmYpZ
static const label  pXmYpZMask = 1 << pXmYpZ
static const label  mXpYpZMask = 1 << mXpYpZ
static const label  pXpYpZMask = 1 << pXpYpZ

Function Documentation

bool visNormal ( const vector &   n,
const vectorField &   faceNormals,
const labelList &   faceLabels  
)

Check if n is in same direction as normals of all faceLabels.

Definition at line 34 of file meshTools.C.

References forAll.

Referenced by calcBoxPointNormals().

Foam::vector normEdgeVec ( const primitiveMesh &   mesh,
const label   edgeI  
)

Normalized edge vector.

Definition at line 195 of file meshTools.C.

References primitiveMesh::edges(), Foam::mag(), and primitiveMesh::points().

Referenced by edgeToCutDir(), and cellLooper::getMisAlignedEdge().

void writeOBJ ( Ostream &   os,
const faceList &   faces,
const pointField &   points,
const labelList &   faceLabels  
)

Write obj representation of faces subset.

Definition at line 219 of file meshTools.C.

References Foam::endl(), f(), forAll, List< T >::size(), and writeOBJ().

void writeOBJ ( Ostream &   os,
const faceList &   faces,
const pointField &   points  
)

Write obj representation of faces.

Definition at line 254 of file meshTools.C.

References forAll, List< T >::size(), and writeOBJ().

void writeOBJ ( Ostream &   os,
const cellList &   cells,
const faceList &   faces,
const pointField &   points,
const labelList &   cellLabels  
)

Write obj representation of cell subset.

Definition at line 270 of file meshTools.C.

References forAll, List< T >::size(), and writeOBJ().

bool edgeOnCell ( const primitiveMesh &   mesh,
const label   cellI,
const label   edgeI  
)

Is edge used by cell.

Definition at line 295 of file meshTools.C.

References primitiveMesh::edgeCells(), and Foam::findIndex().

Referenced by cellLooper::getVertEdgesNonFace().

bool edgeOnFace ( const primitiveMesh &   mesh,
const label   faceI,
const label   edgeI  
)

Is edge used by face.

Definition at line 306 of file meshTools.C.

References primitiveMesh::faceEdges(), and Foam::findIndex().

Referenced by cellFeatures::isFeatureVertex().

bool faceOnCell ( const primitiveMesh &   mesh,
const label   cellI,
const label   faceI  
)
Foam::label findEdge ( const edgeList &   edges,
const labelList &   candidates,
const label   v0,
const label   v1  
)

Return edge among candidates that uses the two vertices.

Definition at line 347 of file meshTools.C.

References e, and forAll.

Referenced by addPatchCellLayer::calcMeshEdges(), edgeVertex::cutPairToEdge(), faceCollapser::setRefinement(), and directionInfo::updateCell().

Foam::label findEdge ( const primitiveMesh &   mesh,
const label   v0,
const label   v1  
)

Return edge between two vertices. Returns -1 if no edge.

Definition at line 370 of file meshTools.C.

References e, primitiveMesh::edges(), edge::end(), forAll, primitiveMesh::pointEdges(), edge::start(), and v1.

Foam::label getSharedEdge ( const primitiveMesh &   mesh,
const label   f0,
const label   f1  
)

Return edge shared by two faces. Throws error if no edge found.

Definition at line 396 of file meshTools.C.

References Foam::abort(), primitiveMesh::faceEdges(), Foam::FatalError, FatalErrorIn, and forAll.

Foam::label getSharedFace ( const primitiveMesh &   mesh,
const label   cell0,
const label   cell1  
)

Return face shared by two cells. Throws error if none found.

Definition at line 432 of file meshTools.C.

References Foam::abort(), primitiveMesh::cells(), primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), Foam::FatalError, FatalErrorIn, forAll, and primitiveMesh::isInternalFace().

Referenced by undoableMeshCutter::getSplitFaces().

void getEdgeFaces ( const primitiveMesh &   mesh,
const label   cellI,
const label   edgeI,
label &   face0,
label &   face1  
)
Foam::label otherEdge ( const primitiveMesh &   mesh,
const labelList &   edgeLabels,
const label   edgeI,
const label   vertI  
)

Return label of other edge (out of candidates edgeLabels)

connected to vertex but not edgeI. Throws error if none found.

Definition at line 520 of file meshTools.C.

References Foam::abort(), e, primitiveMesh::edges(), edge::end(), Foam::FatalError, FatalErrorIn, forAll, and edge::start().

Referenced by directionInfo::updateCell(), and walkFace().

Foam::label otherFace ( const primitiveMesh &   mesh,
const label   cellI,
const label   faceI,
const label   edgeI  
)
Foam::label otherCell ( const primitiveMesh &   mesh,
const label   cellI,
const label   faceI  
)

Return cell on other side of face. Throws error.

if face not internal.

Definition at line 583 of file meshTools.C.

References Foam::abort(), primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), Foam::FatalError, FatalErrorIn, and primitiveMesh::isInternalFace().

Foam::label walkFace ( const primitiveMesh &   mesh,
const label   faceI,
const label   startEdgeI,
const label   startVertI,
const label   nEdges  
)

Returns label of edge nEdges away from startEdge (in the direction.

of startVertI)

Definition at line 612 of file meshTools.C.

References primitiveMesh::edges(), primitiveMesh::faceEdges(), and otherEdge().

Referenced by edgeToCutDir(), directionInfo::edgeToFaceIndex(), and getParallelEdges().

void constrainToMeshCentre ( const polyMesh &   mesh,
point &   pt  
)
void constrainToMeshCentre ( const polyMesh &   mesh,
pointField &   pt  
)
void constrainDirection ( const polyMesh &   mesh,
const Vector< label > &   dirs,
vector &   d  
)

Set the constrained components of directions/velocity to zero.

Definition at line 697 of file meshTools.C.

Referenced by KinematicParcel< ParcelType >::calcVelocity(), InjectionModel< CloudType >::inject(), and DsmcParcel< ParcelType >::move().

void constrainDirection ( const polyMesh &   mesh,
const Vector< label > &   dirs,
vectorField &   d  
)

Definition at line 714 of file meshTools.C.

References forAll.

void getParallelEdges ( const primitiveMesh &   mesh,
const label   cellI,
const label   e0,
label &   e1,
label &   e2,
label &   e3  
)

Given edge on hex find other 'parallel', non-connected edges.

Definition at line 747 of file meshTools.C.

References primitiveMesh::edges(), UList< T >::end(), otherFace(), and walkFace().

Referenced by cutDirToEdge().

Foam::vector edgeToCutDir ( const primitiveMesh &   mesh,
const label   cellI,
const label   edgeI  
)

Given edge on hex find all 'parallel' (i.e. non-connected)

edges and average direction of them

Definition at line 773 of file meshTools.C.

References Foam::abort(), primitiveMesh::edges(), UList< T >::end(), Foam::FatalError, FatalErrorIn, Foam::isA(), Foam::mag(), normEdgeVec(), otherFace(), and walkFace().

Referenced by cutDirToEdge().

Foam::label cutDirToEdge ( const primitiveMesh &   mesh,
const label   cellI,
const vector &   cutDir  
)

Reverse of edgeToCutDir: given direction find edge bundle and.

return one of them.

Definition at line 823 of file meshTools.C.

References Foam::abort(), primitiveMesh::cellEdges(), edgeToCutDir(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, getParallelEdges(), Foam::isA(), Foam::mag(), and List< T >::size().

Referenced by hexCellLooper::cut().


Variable Documentation

const label mXmYmZ = 0 [static]

Definition at line 61 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXmYmZ = 1 [static]

Definition at line 62 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXpYmZ = 2 [static]

Definition at line 63 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXpYmZ = 3 [static]

Definition at line 64 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXmYpZ = 4 [static]

Definition at line 66 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXmYpZ = 5 [static]

Definition at line 67 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXpYpZ = 6 [static]

Definition at line 68 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXpYpZ = 7 [static]

Definition at line 69 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXmYmZMask = 1 << mXmYmZ [static]

Definition at line 71 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXmYmZMask = 1 << pXmYmZ [static]

Definition at line 72 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXpYmZMask = 1 << mXpYmZ [static]

Definition at line 73 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXpYmZMask = 1 << pXpYmZ [static]

Definition at line 74 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXmYpZMask = 1 << mXmYpZ [static]

Definition at line 76 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXmYpZMask = 1 << pXmYpZ [static]

Definition at line 77 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label mXpYpZMask = 1 << mXpYpZ [static]

Definition at line 78 of file meshTools.H.

Referenced by calcBoxPointNormals().

const label pXpYpZMask = 1 << pXpYpZ [static]

Definition at line 79 of file meshTools.H.

Referenced by calcBoxPointNormals().