33 template<
class TrackingData>
45 const scalar dist2 =
magSqr(pt -
w2.origin_[index2]);
116 template<
class TrackingData>
119 return origin_.size();
124 template<
class TrackingData>
138 template<
class TrackingData>
143 const label patchFacei,
144 const point& faceCentre,
148 for (
auto& o : origin_)
156 template<
class TrackingData>
164 for (
auto& o : origin_)
172 template<
class TrackingData>
176 const polyPatch&
patch,
177 const label patchFacei,
178 const point& faceCentre,
183 for (
auto& o : origin_)
191 template<
class TrackingData>
194 const polyMesh&
mesh,
195 const label thisCelli,
196 const label neighbourFacei,
197 const wallPoints& neighbourInfo,
204 bool hasChanged =
false;
206 forAll(neighbourInfo.surface_, i)
208 const FixedList<label, 3>& nbrSurface = neighbourInfo.surface_[i];
211 const scalar blockSize =
212 td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]];
214 const scalar d2 =
magSqr(cc-neighbourInfo.origin_[i]);
226 label index = surface_.find(nbrSurface);
230 origin_.append(neighbourInfo.origin_[i]);
232 surface_.append(nbrSurface);
239 update(cc, index, neighbourInfo, i, tol, td)
261 template<
class TrackingData>
265 const label thisFacei,
266 const label neighbourCelli,
273 bool hasChanged =
false;
275 if (!td.isBlockedFace_[thisFacei])
284 const scalar blockSize =
285 td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]];
294 label index = surface_.find(nbrSurface);
298 origin_.append(neighbourInfo.
origin_[i]);
300 surface_.append(nbrSurface);
307 update(fc, index, neighbourInfo, i, tol, td)
330 template<
class TrackingData>
334 const label thisFacei,
341 bool hasChanged =
false;
343 if (!td.isBlockedFace_[thisFacei])
352 const scalar blockSize =
353 td.regionToBlockSize_[nbrSurface[0]][nbrSurface[1]];
362 const label index = surface_.find(nbrSurface);
366 origin_.append(neighbourInfo.
origin_[i]);
368 surface_.append(nbrSurface);
375 update(fc, index, neighbourInfo, i, tol, td)
397 template<
class TrackingData>
410 inline bool Foam::wallPoints::operator==
423 inline bool Foam::wallPoints::operator!=
428 return !(*
this == rhs);
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const wallPoints &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool update(const point &pt, const label index1, const wallPoints &w2, const label index2, const scalar tol, TrackingData &td)
Originating normal.
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const wallPoints &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
#define forAll(list, i)
Loop across all elements in list.
bool equal(const wallPoints &, TrackingData &) const
Test for equality, with TrackingData.
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
bool sameGeometry(const polyMesh &, const wallPoints &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)
DynamicList< FixedList< label, 3 > > surface_
Originating surface,region and topological region.
const vectorField & cellCentres() const
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const wordList surface
Standard surface field types (scalar, vector, tensor, etc)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
wallPoints()
Default construct.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
For use with FaceCellWave. Determines topological distance to starting faces.
const vectorField & faceCentres() const
vector point
Point is a vector.
const std::string patch
OpenFOAM patch number as a std::string.
Mesh consisting of general polyhedral cells.
DynamicList< scalar > distSqr_
Distance (squared) from cellcenter to origin.
DynamicList< point > origin_
Starting points.
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.
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)