40 const label refinementCount,
44 refinementCount_(refinementCount),
51template<
class TrackingData>
59template<
class TrackingData>
73template<
class TrackingData>
78 const label patchFacei,
79 const point& faceCentre,
86template<
class TrackingData>
97template<
class TrackingData>
102 const label patchFacei,
103 const point& faceCentre,
110template<
class TrackingData>
114 const label thisCelli,
115 const label neighbourFacei,
138 count_ = refinementCount();
145 label transportedFaceCount;
150 transportedFaceCount =
max(0, neighbourInfo.
count()-2);
155 transportedFaceCount =
max(0, neighbourInfo.
count()-1);
158 if (count_ >= transportedFaceCount)
164 count_ = transportedFaceCount;
172template<
class TrackingData>
176 const label thisFacei,
177 const label neighbourCelli,
178 const refinementData& neighbourInfo,
186 refinementCount_ = neighbourInfo.refinementCount();
187 count_ = neighbourInfo.count();
192 if (count_ >= neighbourInfo.count())
198 refinementCount_ = neighbourInfo.refinementCount();
199 count_ = neighbourInfo.count();
207template<
class TrackingData>
211 const label thisFacei,
212 const refinementData& neighbourInfo,
220 refinementCount_ = neighbourInfo.refinementCount();
221 count_ = neighbourInfo.count();
226 if (count_ >= neighbourInfo.count())
232 refinementCount_ = neighbourInfo.refinementCount();
233 count_ = neighbourInfo.count();
240template<
class TrackingData>
243 const refinementData&
rhs,
251template<
class TrackingData>
267 return updateFace(
mesh, -1, f0, tol,
td);
271 return updateFace(
mesh, -1, f1, tol,
td);
282inline bool Foam::refinementData::operator==
287 return count_ ==
rhs.count_ && refinementCount_ ==
rhs.refinementCount_;
291inline bool Foam::refinementData::operator!=
296 return !(*
this ==
rhs);
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
Transfers refinement levels such that slow transition between levels is maintained....
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
bool equal(const refinementData &, TrackingData &td) const
Test for equality, with TrackingData.
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
bool sameGeometry(const polyMesh &, const refinementData &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking).
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
label refinementCount() const
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool interpolate(const polyMesh &, const point &pt, const label i0, const refinementData &f0, const label i1, const refinementData &f1, const scalar weight, const scalar tol, TrackingData &td)
Interpolate between two values (lerp). Returns true if causes changes. Not sure if needs to be specia...
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
refinementData()
Default construct.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
errorManip< error > abort(error &err)
vector point
Point is a vector.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...