FreeFOAM The Cross-Platform CFD Toolkit
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 Foam::meshTools::visNormal ( const vector &  n,
const vectorField faceNormals,
const labelList &  faceLabels 
)

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

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 Foam::meshTools::writeOBJ ( Ostream &  os,
const faceList &  ,
const pointField &  ,
const labelList &  faceLabels 
)

Write obj representation of faces subset.

void Foam::meshTools::writeOBJ ( Ostream &  os,
const faceList &  ,
const pointField &   
)

Write obj representation of faces.

void Foam::meshTools::writeOBJ ( Ostream &  os,
const cellList &  ,
const faceList &  ,
const pointField &  ,
const labelList &  cellLabels 
)

Write obj representation of cell subset.

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 Foam::meshTools::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 Foam::meshTools::constrainDirection ( const polyMesh &  mesh,
const Vector< label > &  dirs,
vectorField d 
)
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().