Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and a direction. More...
Public Member Functions | |
directionInfo () | |
Construct null. More... | |
directionInfo (const label, const vector &n) | |
Construct from components. More... | |
directionInfo (const directionInfo &) | |
Construct as copy. More... | |
label | index () const |
const vector & | n () const |
template<class TrackingData > | |
bool | valid (TrackingData &td) const |
Check whether origin has been changed at all or. More... | |
template<class TrackingData > | |
bool | sameGeometry (const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const |
Check for identical geometrical data. Used for cyclics checking. More... | |
template<class TrackingData > | |
void | leaveDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &td) |
Convert any absolute coordinates into relative to (patch)face. More... | |
template<class TrackingData > | |
void | enterDomain (const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &td) |
Reverse of leaveDomain. More... | |
template<class TrackingData > | |
void | transform (const polyMesh &, const tensor &, TrackingData &td) |
Apply rotation matrix to any coordinates. More... | |
template<class TrackingData > | |
bool | updateCell (const polyMesh &, const label thisCellI, const label neighbourFaceI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td) |
Influence of neighbouring face. More... | |
template<class TrackingData > | |
bool | updateFace (const polyMesh &, const label thisFaceI, const label neighbourCellI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td) |
Influence of neighbouring cell. More... | |
template<class TrackingData > | |
bool | updateFace (const polyMesh &, const label thisFaceI, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td) |
Influence of different value on same face. More... | |
template<class TrackingData > | |
bool | equal (const directionInfo &, TrackingData &td) const |
Same (like operator==) More... | |
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. More... | |
Static Private Member Functions | |
static label | findEdge (const primitiveMesh &mesh, const labelList &edgeLabels, const label v1, const label v0) |
Find edge among edgeLabels that uses v0 and v1. More... | |
static label | lowest (const label size, const label a, const label b) |
Return 'lowest' of a,b in face of size. More... | |
Private Attributes | |
label | index_ |
vector | n_ |
Friends | |
Ostream & | operator<< (Ostream &, const directionInfo &) |
Istream & | operator>> (Istream &, directionInfo &) |
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 face: local face point that is being cut or -1.
(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.
Definition at line 75 of file directionInfo.H.
|
inline |
Construct null.
Definition at line 33 of file directionInfoI.H.
|
inline |
Construct from components.
Definition at line 42 of file directionInfoI.H.
|
inline |
Construct as copy.
Definition at line 53 of file directionInfoI.H.
|
staticprivate |
Find edge among edgeLabels that uses v0 and v1.
Definition at line 33 of file directionInfo.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, and mesh.
|
staticprivate |
Return 'lowest' of a,b in face of size.
Definition at line 61 of file directionInfo.C.
References Foam::abort(), Foam::constant::physicoChemical::b, Foam::FatalError, and FatalErrorInFunction.
|
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 93 of file directionInfo.C.
References Foam::abort(), Foam::constant::electromagnetic::e, edge::end(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), Foam::meshTools::getEdgeFaces(), mesh, edge::start(), and Foam::meshTools::walkFace().
Referenced by directions::propagateDirection().
|
inline |
Definition at line 140 of file directionInfo.H.
References directionInfo::index_.
Referenced by directionInfo::operator==(), directionInfo::updateCell(), and directionInfo::updateFace().
|
inline |
Definition at line 145 of file directionInfo.H.
References directionInfo::n_.
Referenced by directionInfo::operator==(), directionInfo::updateCell(), and directionInfo::updateFace().
|
inline |
Check whether origin has been changed at all or.
still contains original (invalid) value.
Definition at line 63 of file directionInfoI.H.
|
inline |
Check for identical geometrical data. Used for cyclics checking.
Definition at line 72 of file directionInfoI.H.
|
inline |
Convert any absolute coordinates into relative to (patch)face.
centre
Definition at line 87 of file directionInfoI.H.
|
inline |
Reverse of leaveDomain.
Definition at line 103 of file directionInfoI.H.
References f(), and List::size().
Apply rotation matrix to any coordinates.
Definition at line 123 of file directionInfoI.H.
|
inline |
Influence of neighbouring face.
Definition at line 134 of file directionInfoI.H.
References Foam::e, primitiveMesh::edges(), f(), primitiveMesh::faceEdges(), polyMesh::faces(), Foam::meshTools::findEdge(), directionInfo::index(), Foam::isA(), mesh, directionInfo::n(), Foam::meshTools::otherEdge(), Foam::meshTools::otherFace(), and List::size().
|
inline |
Influence of neighbouring cell.
Definition at line 215 of file directionInfoI.H.
References directionInfo::index(), mesh, and directionInfo::n().
|
inline |
Influence of different value on same face.
Definition at line 264 of file directionInfoI.H.
References directionInfo::index(), and directionInfo::n().
|
inline |
Same (like operator==)
Definition at line 290 of file directionInfoI.H.
References Foam::operator==().
|
inline |
Definition at line 301 of file directionInfoI.H.
References directionInfo::index(), n, and directionInfo::n().
|
inline |
Definition at line 308 of file directionInfoI.H.
|
friend |
|
friend |
|
private |
Definition at line 80 of file directionInfo.H.
Referenced by directionInfo::index().
|
private |
Definition at line 83 of file directionInfo.H.
Referenced by directionInfo::n().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.