Go to the documentation of this file.
54 template<
class TrackingData>
62 template<
class TrackingData>
76 template<
class TrackingData>
81 const label patchFacei,
82 const point& faceCentre,
92 template<
class TrackingData>
97 const label patchFacei,
98 const point& faceCentre,
106 index_ = (
f.size() - index_) %
f.size();
112 template<
class TrackingData>
123 template<
class TrackingData>
127 const label thisCelli,
128 const label neighbourFacei,
144 if (neighbourInfo.
index() == -2)
149 else if (neighbourInfo.
index() == -1)
184 label v0 =
f[neighbourInfo.
index()];
185 label v1 =
f[(neighbourInfo.
index() + 1) %
f.size()];
197 n_ = neighbourInfo.
n();
204 template<
class TrackingData>
208 const label thisFacei,
209 const label neighbourCelli,
226 if (neighbourInfo.
index() >= 0)
236 neighbourInfo.
index()
245 n_ = neighbourInfo.
n();
252 template<
class TrackingData>
269 index_ = neighbourInfo.
index();
271 n_ = neighbourInfo.
n();
278 template<
class TrackingData>
291 inline bool Foam::directionInfo::operator==
296 return index_ == rhs.index_ && n_ == rhs.n_;
300 inline bool Foam::directionInfo::operator!=
305 return !(*
this == rhs);
static constexpr const zero Zero
Global zero (0)
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
bool equal(const directionInfo &, TrackingData &td) const
Test for equality, with TrackingData.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
Mesh consisting of general polyhedral cells.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
A cellMatcher for hex cells (cellModel::HEX).
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
A patch is a list of labels that address the faces in the global face list.
const labelListList & faceEdges() const
Holds direction in which to split cell (in fact a local coordinate axes). Information is a label and ...
const TargetType * isA(const Type &t)
Check if dynamic_cast to TargetType is possible.
virtual const faceList & faces() const
Return raw faces.
const std::string patch
OpenFOAM patch number as a std::string.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
const dimensionedScalar e
Elementary charge.
directionInfo()
Default construct, index=-1, vector::zero.
A face is a list of labels corresponding to mesh vertices.
bool sameGeometry(const polyMesh &, const directionInfo &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const directionInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.