Loading...
Searching...
No Matches
smoothData Class Reference

Helper class used by the fvc::smooth and fvc::spread functions. More...

#include <smoothData.H>

Classes

class  trackData
 Class used to pass additional data in. More...

Public Member Functions

 smoothData (const smoothData &)=default
 Copy construct.
smoothDataoperator= (const smoothData &)=default
 Copy assignment.
 smoothData ()
 Default construct.
 smoothData (const scalar value)
 Construct from inverse field value.
scalar value () const
 Return value.
scalar & value ()
 The value.
template<class TrackingData>
bool valid (TrackingData &td) const
 Changed or contains original (invalid) value.
template<class TrackingData>
bool sameGeometry (const polyMesh &, const smoothData &, const scalar, TrackingData &td) const
 Check for identical geometrical data (eg, cyclics checking).
template<class TrackingData>
void leaveDomain (const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
 Convert any absolute coordinates into relative to (patch)face centre.
template<class TrackingData>
void enterDomain (const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
 Reverse of leaveDomain.
template<class TrackingData>
void transform (const polyMesh &, const tensor &, TrackingData &td)
 Apply rotation matrix to any coordinates.
template<class TrackingData>
bool updateCell (const polyMesh &, const label thisCelli, const label neighbourFacei, const smoothData &svf, const scalar tol, TrackingData &td)
 Influence of neighbouring face.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const label neighbourCelli, const smoothData &svf, const scalar tol, TrackingData &td)
 Influence of neighbouring cell.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const smoothData &svf, const scalar tol, TrackingData &td)
 Influence of different value on same face.
template<class TrackingData>
bool equal (const smoothData &, TrackingData &td) const
 Test for equality, with TrackingData.
template<class TrackingData>
bool interpolate (const polyMesh &, const point &pt, const label i0, const smoothData &f0, const label i1, const smoothData &f1, const scalar weight, const scalar tol, TrackingData &td)
 Interpolate between two values (lerp). Returns true if causes changes. Not sure if needs to be specialised between face and cell and what index is needed...
void operator= (const scalar value)
 Assign new value.
bool operator== (const smoothData &) const
 Test for equality.
bool operator!= (const smoothData &) const
 Test for inequality.

Friends

Ostreamoperator<< (Ostream &os, const smoothData &rhs)
Istreamoperator>> (Istream &is, smoothData &rhs)

Detailed Description

Helper class used by the fvc::smooth and fvc::spread functions.

Source files

Definition at line 52 of file smoothData.H.

Constructor & Destructor Documentation

◆ smoothData() [1/3]

smoothData ( const smoothData & )
default

Copy construct.

References smoothData().

Referenced by equal(), interpolate(), operator!=(), operator<<, operator=(), operator==(), operator>>, sameGeometry(), smoothData(), updateCell(), updateFace(), and updateFace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ smoothData() [2/3]

smoothData ( )
inline

Default construct.

Definition at line 60 of file smoothDataI.H.

◆ smoothData() [3/3]

smoothData ( const scalar value)
inline

Construct from inverse field value.

Definition at line 66 of file smoothDataI.H.

References value().

Here is the call graph for this function:

Member Function Documentation

◆ operator=() [1/2]

smoothData & operator= ( const smoothData & )
default

Copy assignment.

References smoothData(), and value().

Referenced by interpolate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ value() [1/2]

scalar value ( ) const
inline

Return value.

Definition at line 124 of file smoothData.H.

Referenced by operator=(), operator=(), and smoothData().

Here is the caller graph for this function:

◆ value() [2/2]

scalar & value ( )
inline

The value.

Definition at line 132 of file smoothData.H.

◆ valid()

template<class TrackingData>
bool valid ( TrackingData & td) const
inline

Changed or contains original (invalid) value.

Definition at line 75 of file smoothDataI.H.

References td().

Referenced by interpolate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sameGeometry()

template<class TrackingData>
bool sameGeometry ( const polyMesh & ,
const smoothData & ,
const scalar ,
TrackingData & td ) const
inline

Check for identical geometrical data (eg, cyclics checking).

Definition at line 82 of file smoothDataI.H.

References smoothData(), and td().

Here is the call graph for this function:

◆ leaveDomain()

template<class TrackingData>
void leaveDomain ( const polyMesh & ,
const polyPatch & ,
const label patchFacei,
const point & faceCentre,
TrackingData & td )
inline

Convert any absolute coordinates into relative to (patch)face centre.

Definition at line 95 of file smoothDataI.H.

References td().

Here is the call graph for this function:

◆ enterDomain()

template<class TrackingData>
void enterDomain ( const polyMesh & ,
const polyPatch & ,
const label patchFacei,
const point & faceCentre,
TrackingData & td )
inline

Reverse of leaveDomain.

Definition at line 117 of file smoothDataI.H.

References td().

Here is the call graph for this function:

◆ transform()

template<class TrackingData>
void transform ( const polyMesh & ,
const tensor & ,
TrackingData & td )
inline

Apply rotation matrix to any coordinates.

Definition at line 107 of file smoothDataI.H.

References td().

Here is the call graph for this function:

◆ updateCell()

template<class TrackingData>
bool updateCell ( const polyMesh & ,
const label thisCelli,
const label neighbourFacei,
const smoothData & svf,
const scalar tol,
TrackingData & td )
inline

Influence of neighbouring face.

Definition at line 129 of file smoothDataI.H.

References smoothData(), td(), and update().

Here is the call graph for this function:

◆ updateFace() [1/2]

template<class TrackingData>
bool updateFace ( const polyMesh & ,
const label thisFacei,
const label neighbourCelli,
const smoothData & svf,
const scalar tol,
TrackingData & td )
inline

Influence of neighbouring cell.

Definition at line 145 of file smoothDataI.H.

References smoothData(), td(), and update().

Here is the call graph for this function:

◆ updateFace() [2/2]

template<class TrackingData>
bool updateFace ( const polyMesh & ,
const label thisFacei,
const smoothData & svf,
const scalar tol,
TrackingData & td )
inline

Influence of different value on same face.

Definition at line 162 of file smoothDataI.H.

References smoothData(), td(), and update().

Here is the call graph for this function:

◆ equal()

template<class TrackingData>
bool equal ( const smoothData & rhs,
TrackingData & td ) const
inline

Test for equality, with TrackingData.

Definition at line 177 of file smoothDataI.H.

References Foam::operator==(), Foam::rhs(), smoothData(), and td().

Here is the call graph for this function:

◆ interpolate()

template<class TrackingData>
bool interpolate ( const polyMesh & ,
const point & pt,
const label i0,
const smoothData & f0,
const label i1,
const smoothData & f1,
const scalar weight,
const scalar tol,
TrackingData & td )
inline

Interpolate between two values (lerp). Returns true if causes changes. Not sure if needs to be specialised between face and cell and what index is needed...

Definition at line 188 of file smoothDataI.H.

References operator=(), smoothData(), td(), and valid().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( const scalar value)
inline

Assign new value.

Definition at line 268 of file smoothData.H.

References value().

Here is the call graph for this function:

◆ operator==()

bool operator== ( const smoothData & rhs) const
inline

Test for equality.

Definition at line 228 of file smoothDataI.H.

References Foam::rhs(), and smoothData().

Here is the call graph for this function:

◆ operator!=()

bool operator!= ( const smoothData & rhs) const
inline

Test for inequality.

Definition at line 237 of file smoothDataI.H.

References Foam::rhs(), and smoothData().

Here is the call graph for this function:

◆ operator<<

Ostream & operator<< ( Ostream & os,
const smoothData & rhs )
friend

Definition at line 286 of file smoothData.H.

References os(), Foam::rhs(), and smoothData().

◆ operator>>

Istream & operator>> ( Istream & is,
smoothData & rhs )
friend

Definition at line 291 of file smoothData.H.

References Foam::rhs(), and smoothData().


The documentation for this class was generated from the following files: