40 const label refinementCount,
44 refinementCount_(refinementCount),
51 template<
class TrackingData>
59 template<
class TrackingData>
73 template<
class TrackingData>
78 const label patchFacei,
79 const point& faceCentre,
86 template<
class TrackingData>
97 template<
class TrackingData>
102 const label patchFacei,
103 const point& faceCentre,
110 template<
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;
172 template<
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();
207 template<
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();
240 template<
class TrackingData>
243 const refinementData& rhs,
253 inline bool Foam::refinementData::operator==
258 return count_ == rhs.count_ && refinementCount_ == rhs.refinementCount_;
262 inline bool Foam::refinementData::operator!=
267 return !(*
this == rhs);
refinementData()
Default construct.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool sameGeometry(const polyMesh &, const refinementData &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
label refinementCount() const
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
errorManip< error > abort(error &err)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Transfers refinement levels such that slow transition between levels is maintained. Used in FaceCellWave.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
const std::string patch
OpenFOAM patch number as a std::string.
bool equal(const refinementData &, TrackingData &td) const
Test for equality, with TrackingData.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
Mesh consisting of general polyhedral cells.
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.
Tensor of scalars, i.e. Tensor<scalar>.