Loading...
Searching...
No Matches
refinementData Class Reference

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

#include <refinementData.H>

Public Member Functions

 refinementData ()
 Default construct.
 refinementData (const label refinementCount, const label count)
 Construct from count.
label refinementCount () const
label & refinementCount ()
label count () const
label & count ()
bool isRefined () const
template<class TrackingData>
bool valid (TrackingData &td) const
 Changed or contains original (invalid) value.
template<class TrackingData>
bool sameGeometry (const polyMesh &, const refinementData &, 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.
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 refinementData &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of neighbouring face.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const label neighbourCelli, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of neighbouring cell.
template<class TrackingData>
bool updateFace (const polyMesh &, const label thisFacei, const refinementData &neighbourInfo, const scalar tol, TrackingData &td)
 Influence of different value on same face.
template<class TrackingData>
bool equal (const refinementData &, TrackingData &td) const
 Test for equality, with TrackingData.
template<class TrackingData>
bool interpolate (const polyMesh &, const point &pt, const label i0, const refinementData &f0, const label i1, const refinementData &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 refinementData &) const
 Test for equality.
bool operator!= (const refinementData &) const
 Test for inequality.

Friends

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

Detailed Description

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

Source files

Definition at line 58 of file refinementData.H.

Constructor & Destructor Documentation

◆ refinementData() [1/2]

refinementData ( )
inline

Default construct.

Definition at line 24 of file refinementDataI.H.

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

Here is the caller graph for this function:

◆ refinementData() [2/2]

refinementData ( const label refinementCount,
const label count )
inline

Construct from count.

Definition at line 31 of file refinementDataI.H.

References count(), and refinementCount().

Here is the call graph for this function:

Member Function Documentation

◆ refinementCount() [1/2]

label refinementCount ( ) const
inline

Definition at line 91 of file refinementData.H.

Referenced by refinementData(), updateCell(), updateFace(), and updateFace().

Here is the caller graph for this function:

◆ refinementCount() [2/2]

label & refinementCount ( )
inline

Definition at line 95 of file refinementData.H.

◆ count() [1/2]

label count ( ) const
inline

Definition at line 100 of file refinementData.H.

Referenced by hexRef8::consistentSlowRefinement(), refinementData(), updateCell(), updateFace(), and updateFace().

Here is the caller graph for this function:

◆ count() [2/2]

label & count ( )
inline

Definition at line 104 of file refinementData.H.

◆ isRefined()

bool isRefined ( ) const
inline

Definition at line 109 of file refinementData.H.

Referenced by updateCell().

Here is the caller graph for this function:

◆ valid()

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

Changed or contains original (invalid) value.

Definition at line 45 of file refinementDataI.H.

References td().

Referenced by interpolate(), updateCell(), updateFace(), and updateFace().

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 refinementData & ,
const scalar ,
TrackingData & td ) const
inline

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

Definition at line 53 of file refinementDataI.H.

References refinementData(), 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 67 of file refinementDataI.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 91 of file refinementDataI.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 80 of file refinementDataI.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 refinementData & neighbourInfo,
const scalar tol,
TrackingData & td )
inline

Influence of neighbouring face.

Definition at line 104 of file refinementDataI.H.

References Foam::abort(), count(), Foam::FatalError, FatalErrorInFunction, isRefined(), Foam::max(), refinementCount(), refinementData(), td(), and valid().

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 refinementData & neighbourInfo,
const scalar tol,
TrackingData & td )
inline

Influence of neighbouring cell.

Definition at line 166 of file refinementDataI.H.

References count(), refinementCount(), refinementData(), td(), and valid().

Referenced by hexRef8::consistentSlowRefinement(), and interpolate().

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

◆ updateFace() [2/2]

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

Influence of different value on same face.

Definition at line 201 of file refinementDataI.H.

References count(), refinementCount(), refinementData(), td(), and valid().

Here is the call graph for this function:

◆ equal()

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

Test for equality, with TrackingData.

Definition at line 234 of file refinementDataI.H.

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

Here is the call graph for this function:

◆ interpolate()

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

References mesh, refinementData(), td(), updateFace(), and valid().

Here is the call graph for this function:

◆ operator==()

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

Test for equality.

Definition at line 275 of file refinementDataI.H.

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

Here is the call graph for this function:

◆ operator!=()

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

Test for inequality.

Definition at line 284 of file refinementDataI.H.

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

Here is the call graph for this function:

◆ operator<<

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

References refinementData().

◆ operator>>

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

References refinementData().


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