Public Member Functions | Protected Attributes | List of all members
pairPatchAgglomeration Class Reference

Primitive patch pair agglomerate method. More...

Collaboration diagram for pairPatchAgglomeration:
Collaboration graph
[legend]

Public Member Functions

 pairPatchAgglomeration (const polyPatch &patch, const dictionary &controlDict, const bool additionalWeights=false)
 Construct given mesh and controls. 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...
 

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 ( const polyPatch &  patch,
const dictionary &  controlDict,
const bool  additionalWeights = false 
)

Definition at line 236 of file pairPatchAgglomeration.C.

References pairPatchAgglomeration::patchLevel().

Here is the call graph for this function:

Member Function Documentation

void agglomerate ( )
label size ( ) const
inline

Return size.

Definition at line 162 of file pairPatchAgglomeration.H.

References UPtrList< T >::size().

Here is the call graph for this function:

const labelList& restrictTopBottomAddressing ( ) const
inline

Return restriction from top level to bottom level.

Definition at line 168 of file pairPatchAgglomeration.H.

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

Here is the call graph for this function:

const Foam::bPatch & patchLevel ( const label  leveli) const
const labelField& restrictAddressing ( const label  leveli) const
inline

Return cell restrict addressing of given level.

Definition at line 177 of file pairPatchAgglomeration.H.

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

Here is the call graph for this function:

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:

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:

Member Data Documentation

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().

label maxLevels_
protected

Max number of levels.

Definition at line 67 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::agglomerate().

label nFacesInCoarsestLevel_
protected

Number of faces in coarsest level.

Definition at line 70 of file pairPatchAgglomeration.H.

scalar featureAngle_
protected

Feature angle.

Definition at line 73 of file pairPatchAgglomeration.H.

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().

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().

labelList restrictTopBottomAddressing_
protected

Maps from finest to coarsest.

Definition at line 83 of file pairPatchAgglomeration.H.

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

PtrList<bPatch> patchLevels_
protected
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: