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,
122 origin_ =
transform.transformPosition(origin_);
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==
222 return origin() == rhs.origin();
226 inline bool Foam::sweepData::operator!=
231 return !(*
this == rhs);
const Boundary & boundaryField() const
Return const-reference to the boundary field.
const Type & second() const
Return second.
const Type & first() const
Return first.
Mesh data needed to do the Finite Volume discretisation.
const volVectorField & C() const
Return cell centres.
const surfaceVectorField & Cf() const
Return face centres.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Helper class used by fvc::sweep function.
sweepData()
Construct null.
bool updateCell(const fvMesh &, const label thisCelli, const labelPair &neighbourPatchAndFacei, const sweepData &svf, const scalar tol, TrackingData &td)
Influence of neighbouring face.
scalar value() const
Return value.
void operator=(const scalar value)
bool valid(TrackingData &td) const
Check whether origin has been changed at all or.
bool updateFace(const fvMesh &, const labelPair &thisPatchAndFacei, const label neighbourCelli, const sweepData &svf, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
bool sameGeometry(const fvMesh &, const sweepData &, const scalar, TrackingData &td) const
Check for identical geometrical data.
const point & origin() const
Return origin.
bool equal(const sweepData &, TrackingData &td) const
Same (like operator==)
void transform(const fvPatch &patch, const label patchFacei, const transformer &transform, TrackingData &td)
Transform across an interface.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
vector point
Point is a vector.
dimensionSet transform(const dimensionSet &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > magSqr(const dimensioned< Type > &)