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

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.

Collaboration diagram for directionInfo:

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 vector &  n () 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

Ostream &  operator<< (Ostream &, const directionInfo &)
Istream &  operator>> (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(), UList< T >::end(), edge::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: