Go to the documentation of this file.
60 template<
class TrackingData>
71 if (!neighbourInfo.
valid(td))
76 operator=(neighbourInfo);
86 if (nbrLevel > cellLevel)
88 operator=(neighbourInfo);
91 else if (nbrLevel == cellLevel)
95 scalar
diff = myDistSqr - nbrDistSqr;
103 if ((
diff < SMALL) || ((myDistSqr > SMALL) && (
diff/myDistSqr < tol)))
111 operator=(neighbourInfo);
134 const scalar level0Size,
136 const label originLevel
139 level0Size_(level0Size),
141 originLevel_(originLevel)
147 template<
class TrackingData>
150 return level0Size_ != -1;
155 template<
class TrackingData>
168 template<
class TrackingData>
173 const label patchFaceI,
174 const point& faceCentre,
178 origin_ -= faceCentre;
182 template<
class TrackingData>
195 template<
class TrackingData>
200 const label patchFaceI,
201 const point& faceCentre,
206 origin_ += faceCentre;
211 template<
class TrackingData>
215 const label thisCellI,
216 const label neighbourFaceI,
224 return update(
pos, neighbourInfo, tol, td);
229 template<
class TrackingData>
233 const label thisFaceI,
234 const label neighbourCellI,
242 return update(
pos, neighbourInfo, tol, td);
247 template<
class TrackingData>
251 const label thisFaceI,
259 return update(
pos, neighbourInfo, tol, td);
263 template<
class TrackingData>
290 inline bool Foam::refinementDistanceData::operator==
303 inline bool Foam::refinementDistanceData::operator!=
309 return !(*
this == rhs);
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
bool sameGeometry(const polyMesh &, const refinementDistanceData &, const scalar, TrackingData &) const
Check for identical geometrical data. Used for cyclics checking.
scalar level0Size_
Unrefined (level0) buffer size (nBufferLayers*level0Size)
bool valid(TrackingData &) const
Check whether origin has been changed at all or.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
refinementDistanceData()
Construct null.
point origin_
Nearest point with highest level.
Mesh consisting of general polyhedral cells.
dimensionSet transform(const dimensionSet &)
bool updateCell(const polyMesh &, const label thisCellI, const label neighbourFaceI, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
Influence of neighbouring face.
Transfers refinement levels such that slow transition between levels is maintained....
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A patch is a list of labels that address the faces in the global face list.
bool update(const point &, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
Updates with neighbouring data. Returns true if something changed.
bool updateFace(const polyMesh &, const label thisFaceI, const label neighbourCellI, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
Influence of neighbouring cell.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &)
Convert any absolute coordinates into relative to (patch)face.
errorManip< error > abort(error &err)
void transform(const polyMesh &, const tensor &, TrackingData &)
Apply rotation matrix to any coordinates.
bool equal(const refinementDistanceData &, TrackingData &) const
Same (like operator==)
const vectorField & cellCentres() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const vectorField & faceCentres() const
void enterDomain(const polyMesh &, const polyPatch &, const label patchFaceI, const point &faceCentre, TrackingData &)
Reverse of leaveDomain.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
const point & origin() const
label wantedLevel(const point &pt) const
Calculates the wanted level at a given point. Walks out from.
dimensionedScalar pos(const dimensionedScalar &ds)