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 labelListrestrictTopBottomAddressing () const
 Return restriction from top level to bottom level. More...
 
const bPatchpatchLevel (const label leveli) const
 Return primitivePatch of given level. More...
 
const labelFieldrestrictAddressing (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< labelFieldrestrictAddressing_
 Cell restriction addressing array. More...
 
labelList restrictTopBottomAddressing_
 Maps from finest to coarsest. More...
 
PtrList< bPatchpatchLevels_
 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.

Member Function Documentation

◆ agglomerate()

void agglomerate ( )

Agglomerate patch.

Definition at line 354 of file pairPatchAgglomeration.C.

References Foam::reduce().

Here is the call graph for this function:

◆ size()

label size ( ) const
inline

Return size.

Definition at line 159 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::patchLevels_.

◆ restrictTopBottomAddressing()

const labelList& restrictTopBottomAddressing ( ) const
inline

Return restriction from top level to bottom level.

Definition at line 165 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::restrictTopBottomAddressing_.

◆ patchLevel()

const Foam::bPatch & patchLevel ( const label  leveli) const

Return primitivePatch of given level.

Definition at line 242 of file pairPatchAgglomeration.C.

◆ 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 pairPatchAgglomeration::restrictAddressing_.

◆ restrictField()

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

Restrict (integrate by summation) cell field.

Definition at line 31 of file pairPatchAgglomerationTemplates.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::fv::ff(), forAll, pairPatchAgglomeration::restrictAddressing_, List< T >::size(), and Foam::Zero.

Here is the call 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 59 of file pairPatchAgglomerationTemplates.C.

References Foam::fv::ff(), and forAll.

Here is the call graph for this function:

◆ operator=()

void operator= ( const pairPatchAgglomeration )
delete

Disallow default bitwise assignment.

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.

◆ maxLevels_

label maxLevels_
protected

Max number of levels.

Definition at line 67 of file pairPatchAgglomeration.H.

◆ 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::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::restrictAddressing(), and pairPatchAgglomeration::restrictField().

◆ restrictTopBottomAddressing_

labelList restrictTopBottomAddressing_
protected

Maps from finest to coarsest.

Definition at line 83 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::restrictTopBottomAddressing().

◆ patchLevels_

PtrList<bPatch> patchLevels_
protected

Hierarchy of patch addressing.

Definition at line 86 of file pairPatchAgglomeration.H.

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

◆ facePairWeight_

EdgeMap<scalar> facePairWeight_
protected

Edge weights.

Definition at line 89 of file pairPatchAgglomeration.H.


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