pairPatchAgglomeration Class Reference

Primitive patch pair agglomerate method. More...

Collaboration diagram for pairPatchAgglomeration:

Public Member Functions

 pairPatchAgglomeration (const polyPatch &patch, const dictionary &controlDict, const bool additionalWeights=false)
 Construct given mesh and controls. More...
 
 pairPatchAgglomeration (const pairPatchAgglomeration &)=delete
 Disallow default bitwise copy construction. More...
 
 ~pairPatchAgglomeration ()
 
void agglomerate ()
 Agglomerate patch. More...
 
label size () const
 Return size. More...
 
const labelList & restrictTopBottomAddressing () const
 Return restriction from top level to bottom level. More...
 
const bPatch & patchLevel (const label leveli) const
 Return primitivePatch of given level. More...
 
const labelField & restrictAddressing (const label leveli) const
 Return cell restrict addressing of given level. More...
 
template<class Type >
void restrictField (Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const
 Restrict (integrate by summation) cell field. More...
 
template<class Type >
void prolongField (Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
 Prolong (interpolate by injection) cell field. More...
 
void operator= (const pairPatchAgglomeration &)=delete
 Disallow default bitwise assignment. More...
 

Protected Attributes

label mergeLevels_
 Number of levels to merge, 1 = don't merge, 2 = merge pairs etc. More...
 
label maxLevels_
 Max number of levels. More...
 
label nFacesInCoarsestLevel_
 Number of faces in coarsest level. More...
 
scalar featureAngle_
 Feature angle. More...
 
labelList nFaces_
 The number of faces in each level. More...
 
PtrList< labelField > restrictAddressing_
 Cell restriction addressing array. More...
 
labelList restrictTopBottomAddressing_
 Maps from finest to coarsest. More...
 
PtrList< bPatch > patchLevels_
 Hierarchy of patch addressing. More...
 
EdgeMap< scalar > facePairWeight_
 Edge weights. More...
 

Detailed Description

Primitive patch pair agglomerate method.

Source files

Definition at line 57 of file pairPatchAgglomeration.H.

Constructor & Destructor Documentation

◆ pairPatchAgglomeration() [1/2]

pairPatchAgglomeration ( const polyPatch &  patch,
const dictionary &  controlDict,
const bool  additionalWeights = false 
)

◆ pairPatchAgglomeration() [2/2]

Disallow default bitwise copy construction.

◆ ~pairPatchAgglomeration()

Definition at line 236 of file pairPatchAgglomeration.C.

References pairPatchAgglomeration::patchLevel().

Here is the call graph for this function:

Member Function Documentation

◆ agglomerate()

◆ size()

label size ( ) const
inline

Return size.

Definition at line 159 of file pairPatchAgglomeration.H.

References UPtrList< T >::size().

Here is the call graph for this function:

◆ restrictTopBottomAddressing()

const labelList& restrictTopBottomAddressing ( ) const
inline

Return restriction from top level to bottom level.

Definition at line 165 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::patchLevel(), and pairPatchAgglomeration::restrictTopBottomAddressing_.

Here is the call graph for this function:

◆ patchLevel()

◆ restrictAddressing()

const labelField& restrictAddressing ( const label  leveli) const
inline

Return cell restrict addressing of given level.

Definition at line 174 of file pairPatchAgglomeration.H.

References Foam::fv::ff(), pairPatchAgglomeration::operator=(), pairPatchAgglomeration::prolongField(), and pairPatchAgglomeration::restrictField().

Here is the call graph for this function:

◆ restrictField()

void restrictField ( Field< Type > &  cf,
const Field< Type > &  ff,
const label  fineLevelIndex 
) const

Restrict (integrate by summation) cell field.

Definition at line 32 of file pairPatchAgglomerationTemplates.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, pairPatchAgglomeration::prolongField(), List< Type >::size(), List< T >::size(), and Foam::Zero.

Referenced by pairPatchAgglomeration::restrictAddressing().

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

◆ prolongField()

void prolongField ( Field< Type > &  ff,
const Field< Type > &  cf,
const label  coarseLevelIndex 
) const

Prolong (interpolate by injection) cell field.

Definition at line 60 of file pairPatchAgglomerationTemplates.C.

References forAll.

Referenced by pairPatchAgglomeration::restrictAddressing(), and pairPatchAgglomeration::restrictField().

Here is the caller graph for this function:

◆ operator=()

void operator= ( const pairPatchAgglomeration &  )
delete

Disallow default bitwise assignment.

Referenced by pairPatchAgglomeration::restrictAddressing().

Here is the caller graph for this function:

Member Data Documentation

◆ mergeLevels_

label mergeLevels_
protected

Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.

Definition at line 64 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate().

◆ maxLevels_

label maxLevels_
protected

Max number of levels.

Definition at line 67 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate().

◆ nFacesInCoarsestLevel_

label nFacesInCoarsestLevel_
protected

Number of faces in coarsest level.

Definition at line 70 of file pairPatchAgglomeration.H.

◆ featureAngle_

scalar featureAngle_
protected

Feature angle.

Definition at line 73 of file pairPatchAgglomeration.H.

◆ nFaces_

labelList nFaces_
protected

The number of faces in each level.

Definition at line 76 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate(), and pairPatchAgglomeration::pairPatchAgglomeration().

◆ restrictAddressing_

PtrList<labelField> restrictAddressing_
protected

Cell restriction addressing array.

Maps from the finer to coarse level

Definition at line 80 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate(), and pairPatchAgglomeration::patchLevel().

◆ restrictTopBottomAddressing_

labelList restrictTopBottomAddressing_
protected

Maps from finest to coarsest.

Definition at line 83 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::patchLevel(), and pairPatchAgglomeration::restrictTopBottomAddressing().

◆ patchLevels_

PtrList<bPatch> patchLevels_
protected

◆ facePairWeight_

EdgeMap<scalar> facePairWeight_
protected

Edge weights.

Definition at line 89 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate(), and pairPatchAgglomeration::patchLevel().


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