33 template<
class TrackingData>
34 inline bool Foam::sweepData::update
37 const point& position,
52 if (svf.value() >
value())
63 scalar dist2 =
magSqr(position - svf.origin());
93 template<
class TrackingData>
96 return value_ > -small;
100 template<
class TrackingData>
113 template<
class TrackingData>
117 const label patchFacei,
126 template<
class TrackingData>
130 const label thisCelli,
137 return update(svf, mesh.
C()[thisCelli], tol, td);
141 template<
class TrackingData>
152 const label thisPatchi = thisPatchAndFacei.
first();
153 const label thisFacei = thisPatchAndFacei.
second();
160 ? mesh.
Cf()[thisFacei]
169 template<
class TrackingData>
179 const label thisPatchi = thisPatchAndFacei.
first();
180 const label thisFacei = thisPatchAndFacei.
second();
187 ? mesh.
Cf()[thisFacei]
195 template<
class TrackingData>
208 inline void Foam::sweepData::operator=
217 inline bool Foam::sweepData::operator==
226 inline bool Foam::sweepData::operator!=
231 return !(*
this == rhs);
bool operator==(const sweepData &) const
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
const surfaceVectorField & Cf() const
Return face centres.
scalar value() const
Return value.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
sweepData()
Construct null.
Helper class used by fvc::sweep function.
const point & origin() const
Return origin.
bool equal(const sweepData &, TrackingData &td) const
Same (like operator==)
An ordered pair of two objects of type <T> with first() and second() elements.
bool updateCell(const fvMesh &, const label thisCelli, const labelPair &neighbourPatchAndFacei, const sweepData &svf, const scalar tol, TrackingData &td)
Influence of neighbouring face.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
const Type & second() const
Return second.
void operator=(const scalar value)
vector point
Point is a vector.
void transform(const fvPatch &patch, const label patchFacei, const transformer &transform, TrackingData &td)
Transform across an interface.
Mesh data needed to do the Finite Volume discretisation.
bool sameGeometry(const fvMesh &, const sweepData &, const scalar, TrackingData &td) const
Check for identical geometrical data.
const volVectorField & C() const
Return cell centres.
const Type & first() const
Return first.
bool updateFace(const fvMesh &, const labelPair &thisPatchAndFacei, const label neighbourCelli, const sweepData &svf, const scalar tol, TrackingData &td)
Influence of neighbouring cell.