Public Member Functions | Private Member Functions | Private Attributes
patchWave Class Reference

Takes a set of patches to start MeshWave from. After construction holds distance at cells and distance at patches. Is e.g. used by wallDist to construct volScalarField with correct distance to wall. More...

Inheritance diagram for patchWave:
Inheritance graph
[legend]
Collaboration diagram for patchWave:
Collaboration graph
[legend]

Public Member Functions

 patchWave (const polyMesh &mesh, const labelHashSet &patchIDs, bool correctWalls=true)
 Construct from mesh and patches to initialize to 0 and flag. More...
 
virtual ~patchWave ()
 Destructor. More...
 
virtual void correct ()
 Correct for mesh geom/topo changes. More...
 
label nUnset () const
 
const scalarFielddistance () const
 
scalarFielddistance ()
 Non const access so we can 'transfer' contents for efficiency. More...
 
const FieldField< Field, scalar > & patchDistance () const
 
FieldField< Field, scalar > & patchDistance ()
 
- Public Member Functions inherited from cellDistFuncs
 ClassName ("cellDistFuncs")
 
 cellDistFuncs (const polyMesh &mesh)
 Construct from mesh. More...
 
const polyMeshmesh () const
 Access mesh. More...
 
labelHashSet getPatchIDs (const wordReList &patchNames) const
 Return the set of patch IDs corresponding to the given names. More...
 
template<class Type >
labelHashSet getPatchIDs () const
 Get patchIDs of/derived off certain type (e.g. 'processorPolyPatch') More...
 
scalar smallestDist (const point &p, const polyPatch &patch, const label nWallFaces, const labelList &wallFaces, label &meshFaceI) const
 Calculate smallest true distance (and face index) More...
 
label getPointNeighbours (const primitivePatch &, const label patchFaceI, labelList &) const
 Get faces sharing point with face on patch. More...
 
label maxPatchSize (const labelHashSet &patchIDs) const
 Size of largest patch (out of supplied subset of patches) More...
 
label sumPatchSize (const labelHashSet &patchIDs) const
 Sum of patch sizes (out of supplied subset of patches). More...
 
void correctBoundaryFaceCells (const labelHashSet &patchIDs, scalarField &wallDistCorrected, Map< label > &nearestFace) const
 Correct all cells connected to boundary (via face). Sets values in. More...
 
void correctBoundaryPointCells (const labelHashSet &patchIDs, scalarField &wallDistCorrected, Map< label > &nearestFace) const
 Correct all cells connected to wall (via point). Sets values in. More...
 
template<class Type >
Foam::labelHashSet getPatchIDs () const
 

Private Member Functions

void setChangedFaces (const labelHashSet &patchIDs, labelList &changedFaces, List< wallPoint > &changedInfo) const
 Set initial set of changed faces (= all faces of patches in. More...
 
label getValues (const MeshWave< wallPoint > &)
 Copy MeshWave cell values. Return number of illegal/unset. More...
 

Private Attributes

labelHashSet patchIDs_
 Current patch subset (stored as patchIDs) More...
 
bool correctWalls_
 Do accurate distance calculation for near-wall cells. More...
 
label nUnset_
 Number of cells/faces unset after MeshWave has finished. More...
 
scalarField distance_
 Distance at cell centres. More...
 
FieldField< Field, scalar > patchDistance_
 Distance at patch faces. More...
 

Detailed Description

Takes a set of patches to start MeshWave from. After construction holds distance at cells and distance at patches. Is e.g. used by wallDist to construct volScalarField with correct distance to wall.

Source files

Definition at line 56 of file patchWave.H.

Constructor & Destructor Documentation

◆ patchWave()

patchWave ( const polyMesh mesh,
const labelHashSet patchIDs,
bool  correctWalls = true 
)

Construct from mesh and patches to initialize to 0 and flag.

whether or not to correct wall. Calculate for all cells. correctWalls : correct wall (face&point) cells for correct distance, searching neighbours.

Definition at line 135 of file patchWave.C.

References patchWave::correct().

Here is the call graph for this function:

◆ ~patchWave()

~patchWave ( )
virtual

Destructor.

Definition at line 154 of file patchWave.C.

Member Function Documentation

◆ setChangedFaces()

void setChangedFaces ( const labelHashSet patchIDs,
labelList changedFaces,
List< wallPoint > &  changedInfo 
) const
private

Set initial set of changed faces (= all faces of patches in.

patchIDs). Set changedFaces to labels of changed faces, changedInfo to face centres.

Definition at line 34 of file patchWave.C.

References polyPatch::faceCentres(), forAll, HashTable::found(), mesh, and polyPatch::start().

Here is the call graph for this function:

◆ getValues()

Foam::label getValues ( const MeshWave< wallPoint > &  waveInfo)
private

◆ correct()

void correct ( )
virtual

Correct for mesh geom/topo changes.

Definition at line 160 of file patchWave.C.

References mesh.

Referenced by patchWave::patchWave().

Here is the caller graph for this function:

◆ nUnset()

label nUnset ( ) const
inline

Definition at line 120 of file patchWave.H.

References patchWave::nUnset_.

Referenced by groundDist::correct(), and meshWave::correct().

Here is the caller graph for this function:

◆ distance() [1/2]

const scalarField& distance ( ) const
inline

Definition at line 125 of file patchWave.H.

References patchWave::distance_.

Referenced by groundDist::correct(), and meshWave::correct().

Here is the caller graph for this function:

◆ distance() [2/2]

scalarField& distance ( )
inline

Non const access so we can 'transfer' contents for efficiency.

Definition at line 131 of file patchWave.H.

References patchWave::distance_.

◆ patchDistance() [1/2]

const FieldField<Field, scalar>& patchDistance ( ) const
inline

Definition at line 136 of file patchWave.H.

References patchWave::patchDistance_.

Referenced by groundDist::correct(), and meshWave::correct().

Here is the caller graph for this function:

◆ patchDistance() [2/2]

FieldField<Field, scalar>& patchDistance ( )
inline

Definition at line 141 of file patchWave.H.

References patchWave::patchDistance_.

Field Documentation

◆ patchIDs_

labelHashSet patchIDs_
private

Current patch subset (stored as patchIDs)

Definition at line 63 of file patchWave.H.

◆ correctWalls_

bool correctWalls_
private

Do accurate distance calculation for near-wall cells.

Definition at line 66 of file patchWave.H.

◆ nUnset_

label nUnset_
private

Number of cells/faces unset after MeshWave has finished.

Definition at line 69 of file patchWave.H.

Referenced by patchWave::nUnset().

◆ distance_

scalarField distance_
private

Distance at cell centres.

Definition at line 72 of file patchWave.H.

Referenced by patchWave::distance(), and patchWave::getValues().

◆ patchDistance_

FieldField<Field, scalar> patchDistance_
private

Distance at patch faces.

Definition at line 75 of file patchWave.H.

Referenced by patchWave::getValues(), and patchWave::patchDistance().


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