FreeFOAM The Cross-Platform CFD Toolkit
directionInfo Class Reference

Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction. More...

#include <dynamicMesh/directionInfo.H>


Detailed Description

Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction.

The direction is the normal direction to cut in. The label's meaning depends on whether the info is on a cell or on a face:

  • in cell: edge that is being cut. (determines for hex how cut is)
  • in face: local face point that is being cut or -1.
  1. (-1) : cut is tangential to plane
  2. (>= 0): edge fp..fp+1 is cut

(has to be facepoint, not vertex since vertex not valid across processors whereas f[0] should correspond to f[0] on other side)

The rule is that if the label is set (-1 or higher) it is used (topological information only), otherwise the vector is used. This makes sure that we use topological information as much as possible and so a hex mesh is cut purely topologically. All other shapes are cut geometrically.

Source files

Definition at line 76 of file directionInfo.H.

List of all members.

Public Member Functions

 directionInfo ()
 Construct null.
 directionInfo (const label, const vector &n)
 Construct from components.
 directionInfo (const directionInfo &)
 Construct as copy.
label index () const
const vectorn () const
bool valid () const
 Check whether origin has been changed at all or.
bool sameGeometry (const polyMesh &, const directionInfo &, const scalar) const
 Check for identical geometrical data. Used for cyclics checking.
void leaveDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre)
 Convert any absolute coordinates into relative to (patch)face.
void enterDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre)
 Reverse of leaveDomain.
void transform (const polyMesh &, const tensor &)
 Apply rotation matrix to any coordinates.
bool updateCell (const polyMesh &, const label thisCellI, const label neighbourFaceI, const directionInfo &neighbourInfo, const scalar tol)
 Influence of neighbouring face.
bool updateFace (const polyMesh &, const label thisFaceI, const label neighbourCellI, const directionInfo &neighbourInfo, const scalar tol)
 Influence of neighbouring cell.
bool updateFace (const polyMesh &, const label thisFaceI, const directionInfo &neighbourInfo, const scalar tol)
 Influence of different value on same face.
bool operator== (const directionInfo &) const
bool operator!= (const directionInfo &) const

Static Public Member Functions

static label edgeToFaceIndex (const primitiveMesh &mesh, const label cellI, const label faceI, const label edgeI)
 Given edge on hex cell find corresponding edge on face. Is either.

Friends

Ostreamoperator<< (Ostream &, const directionInfo &)
Istreamoperator>> (Istream &, directionInfo &)

Constructor & Destructor Documentation

directionInfo ( )
inline

Construct null.

Definition at line 34 of file directionInfoI.H.

directionInfo ( const label  index,
const vector n 
)
inline

Construct from components.

Definition at line 43 of file directionInfoI.H.

directionInfo ( const directionInfo w2)
inline

Construct as copy.

Definition at line 54 of file directionInfoI.H.


Member Function Documentation

Foam::label edgeToFaceIndex ( const primitiveMesh mesh,
const label  cellI,
const label  faceI,
const label  edgeI 
)
static

Given edge on hex cell find corresponding edge on face. Is either.

index in face or -1 (cut tangential to face). Public since is needed to fill in seed faces in meshWave.

Definition at line 121 of file directionInfo.C.

References Foam::abort(), primitiveMesh::edges(), edge::end(), UList< T >::end(), Foam::endl(), f(), primitiveMesh::faces(), Foam::FatalError, FatalErrorIn, Foam::findIndex(), Foam::meshTools::getEdgeFaces(), primitiveMesh::nEdges(), List< T >::size(), edge::start(), and Foam::meshTools::walkFace().

label index ( ) const
inline
const vector& n ( ) const
inline
bool valid ( ) const
inline

Check whether origin has been changed at all or.

still contains original (invalid) value.

Definition at line 63 of file directionInfoI.H.

bool sameGeometry ( const polyMesh ,
const directionInfo w2,
const scalar  tol 
) const
inline

Check for identical geometrical data. Used for cyclics checking.

Definition at line 71 of file directionInfoI.H.

void leaveDomain ( const polyMesh ,
const polyPatch patch,
const label  patchFaceI,
const point faceCentre 
)
inline

Convert any absolute coordinates into relative to (patch)face.

centre

Definition at line 84 of file directionInfoI.H.

void enterDomain ( const polyMesh ,
const polyPatch patch,
const label  patchFaceI,
const point faceCentre 
)
inline

Reverse of leaveDomain.

Definition at line 98 of file directionInfoI.H.

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

void transform ( const polyMesh ,
const tensor rotTensor 
)
inline

Apply rotation matrix to any coordinates.

Definition at line 116 of file directionInfoI.H.

bool updateCell ( const polyMesh mesh,
const label  thisCellI,
const label  neighbourFaceI,
const directionInfo neighbourInfo,
const scalar  tol 
)
bool updateFace ( const polyMesh mesh,
const label  thisFaceI,
const label  neighbourCellI,
const directionInfo neighbourInfo,
const scalar  tol 
)

Influence of neighbouring cell.

Definition at line 311 of file directionInfo.C.

References directionInfo::index(), and directionInfo::n().

bool updateFace ( const polyMesh mesh,
const label  thisFaceI,
const directionInfo neighbourInfo,
const scalar  tol 
)

Influence of different value on same face.

Definition at line 358 of file directionInfo.C.

References directionInfo::index(), and directionInfo::n().

bool operator== ( const directionInfo rhs) const
inline

Definition at line 125 of file directionInfoI.H.

References directionInfo::index(), and directionInfo::n().

bool operator!= ( const directionInfo rhs) const
inline

Definition at line 132 of file directionInfoI.H.


Friends And Related Function Documentation

Ostream& operator<< ( Ostream ,
const directionInfo  
)
friend
Istream& operator>> ( Istream ,
directionInfo  
)
friend

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