Loading...
Searching...
No Matches
refinementDistanceData Class Reference

Transfers refinement levels such that slow transition between levels is maintained. Used in FaceCellWave. More...

#include <refinementDistanceData.H>

Public Member Functions

 refinementDistanceData ()
 Default construct.
 refinementDistanceData (const scalar level0Size, const point &origin, const label level)
 Construct from count.
scalar level0Size () const
scalar & level0Size ()
const pointorigin () const
pointorigin ()
label originLevel () const
label & originLevel ()
label wantedLevel (const point &pt) const
 Calculates the wanted level at a given point.
template<class TrackingData>
bool valid (TrackingData &) const
 Changed or contains original (invalid) value.
template<class TrackingData>
bool sameGeometry (const polyMesh &, const refinementDistanceData &, const scalar, TrackingData &) 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 &)
 Convert any absolute coordinates into relative to (patch)face.
template<class TrackingData>
void enterDomain (const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &)
 Reverse of leaveDomain.
template<class TrackingData>
void transform (const polyMesh &, const tensor &, TrackingData &)
 Apply rotation matrix to any coordinates.
template<class TrackingData>
bool updateCell (const polyMesh &, const label thisCelli, const label neighbourFacei, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
 Influence of neighbouring face.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const label neighbourCelli, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
 Influence of neighbouring cell.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const refinementDistanceData &neighbourInfo, const scalar tol, TrackingData &)
 Influence of different value on same face.
template<class TrackingData>
bool equal (const refinementDistanceData &, TrackingData &) const
 Test for equality, with TrackingData.
template<class TrackingData>
bool interpolate (const polyMesh &, const point &pt, const label i0, const refinementDistanceData &f0, const label i1, const refinementDistanceData &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...
bool operator== (const refinementDistanceData &) const
 Test for equality.
bool operator!= (const refinementDistanceData &) const
 Test for inequality.

Friends

Ostreamoperator<< (Ostream &, const refinementDistanceData &)
Istreamoperator>> (Istream &, refinementDistanceData &)

Detailed Description

Transfers refinement levels such that slow transition between levels is maintained. Used in FaceCellWave.

Source files

Definition at line 59 of file refinementDistanceData.H.

Constructor & Destructor Documentation

◆ refinementDistanceData() [1/2]

refinementDistanceData ( )
inline

Default construct.

Definition at line 119 of file refinementDistanceDataI.H.

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

Here is the caller graph for this function:

◆ refinementDistanceData() [2/2]

refinementDistanceData ( const scalar level0Size,
const point & origin,
const label level )
inline

Construct from count.

Definition at line 125 of file refinementDistanceDataI.H.

References level0Size(), origin(), and originLevel().

Here is the call graph for this function:

Member Function Documentation

◆ level0Size() [1/2]

scalar level0Size ( ) const
inline

Definition at line 115 of file refinementDistanceData.H.

Referenced by refinementDistanceData().

Here is the caller graph for this function:

◆ level0Size() [2/2]

scalar & level0Size ( )
inline

Definition at line 119 of file refinementDistanceData.H.

◆ origin() [1/2]

const point & origin ( ) const
inline

Definition at line 124 of file refinementDistanceData.H.

Referenced by refinementDistanceData().

Here is the caller graph for this function:

◆ origin() [2/2]

point & origin ( )
inline

Definition at line 128 of file refinementDistanceData.H.

◆ originLevel() [1/2]

label originLevel ( ) const
inline

Definition at line 133 of file refinementDistanceData.H.

Referenced by refinementDistanceData().

Here is the caller graph for this function:

◆ originLevel() [2/2]

label & originLevel ( )
inline

Definition at line 137 of file refinementDistanceData.H.

◆ wantedLevel()

Foam::label wantedLevel ( const point & pt) const
inline

Calculates the wanted level at a given point.

Walks out from the origin.

Definition at line 27 of file refinementDistanceDataI.H.

References Foam::magSqr(), and Foam::sqr().

Here is the call graph for this function:

◆ valid()

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

Changed or contains original (invalid) value.

Definition at line 141 of file refinementDistanceDataI.H.

References td().

Referenced by equal(), and 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 refinementDistanceData & ,
const scalar ,
TrackingData & td ) const
inline

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

Definition at line 149 of file refinementDistanceDataI.H.

References refinementDistanceData(), and td().

Here is the call graph for this function:

◆ leaveDomain()

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

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

centre

Definition at line 162 of file refinementDistanceDataI.H.

References td().

Here is the call graph for this function:

◆ enterDomain()

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

Reverse of leaveDomain.

Definition at line 189 of file refinementDistanceDataI.H.

References td().

Here is the call graph for this function:

◆ transform()

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

Apply rotation matrix to any coordinates.

Definition at line 176 of file refinementDistanceDataI.H.

References td(), and Foam::transform().

Here is the call graph for this function:

◆ updateCell()

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

Influence of neighbouring face.

Definition at line 205 of file refinementDistanceDataI.H.

References mesh, Foam::pos(), refinementDistanceData(), td(), and update().

Here is the call graph for this function:

◆ updateFace() [1/2]

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

Influence of neighbouring cell.

Definition at line 223 of file refinementDistanceDataI.H.

References mesh, Foam::pos(), refinementDistanceData(), td(), and update().

Here is the call graph for this function:

◆ updateFace() [2/2]

template<class TrackingData>
bool updateFace ( const polyMesh & mesh,
const label thisFacei,
const refinementDistanceData & neighbourInfo,
const scalar tol,
TrackingData & td )
inline

Influence of different value on same face.

Definition at line 241 of file refinementDistanceDataI.H.

References mesh, Foam::pos(), refinementDistanceData(), td(), and update().

Here is the call graph for this function:

◆ equal()

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

Test for equality, with TrackingData.

Definition at line 257 of file refinementDistanceDataI.H.

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

Here is the call graph for this function:

◆ interpolate()

template<class TrackingData>
bool interpolate ( const polyMesh & ,
const point & pt,
const label i0,
const refinementDistanceData & f0,
const label i1,
const refinementDistanceData & 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 275 of file refinementDistanceDataI.H.

References refinementDistanceData(), td(), update(), and valid().

Here is the call graph for this function:

◆ operator==()

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

Test for equality.

Definition at line 305 of file refinementDistanceDataI.H.

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

Here is the call graph for this function:

◆ operator!=()

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

Test for inequality.

Definition at line 317 of file refinementDistanceDataI.H.

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

Here is the call graph for this function:

◆ operator<<

Ostream & operator<< ( Ostream & ,
const refinementDistanceData &  )
friend

◆ operator>>

Istream & operator>> ( Istream & ,
refinementDistanceData &  )
friend

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