Go to the documentation of this file.
34 template<
class TrackingData>
35 inline bool Foam::wallPoint::update
50 scalar dist2 =
magSqr(pt -
w2.origin());
56 origin_ =
w2.origin();
61 scalar
diff = distSqr_ - dist2;
69 if ((
diff < SMALL) || ((distSqr_ > SMALL) && (
diff/distSqr_ < tol)))
78 origin_ =
w2.origin();
103 origin_(wpt.origin()),
104 distSqr_(wpt.distSqr())
134 template<
class TrackingData>
137 return distSqr_ > -SMALL;
142 template<
class TrackingData>
151 scalar
diff =
mag(distSqr() -
w2.distSqr());
159 if ((distSqr() > SMALL) && ((
diff/distSqr()) < tol))
171 template<
class TrackingData>
177 const point& faceCentre,
181 origin_ -= faceCentre;
185 template<
class TrackingData>
199 template<
class TrackingData>
205 const point& faceCentre,
210 origin_ += faceCentre;
215 template<
class TrackingData>
219 const label thisCelli,
220 const label neighbourFacei,
238 template<
class TrackingData>
242 const label thisFacei,
243 const label neighbourCelli,
260 template<
class TrackingData>
264 const label thisFacei,
281 template<
class TrackingData>
296 return origin() == rhs.
origin();
302 return !(*
this == rhs);
bool sameGeometry(const polyMesh &, const wallPoint &, const scalar, TrackingData &td) const
Check for identical geometrical data. Used for cyclics checking.
Holds information regarding nearest wall point. Used in wall distance calculation.
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
bool operator!=(const wallPoint &) const
bool operator==(const wallPoint &) const
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const wallPoint &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
wallPoint()
Construct null.
Mesh consisting of general polyhedral cells.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
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.
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
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.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const wallPoint &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
const point & origin() const
const vectorField & cellCentres() const
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const vectorField & faceCentres() const
bool equal(const wallPoint &, TrackingData &td) const
Same (like operator==)
vector point
Point is a vector.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.