pairPatchAgglomeration Class Reference

Primitive patch pair agglomerate method. More...

Collaboration diagram for pairPatchAgglomeration:
[legend]

Public Member Functions

 pairPatchAgglomeration (const faceList &faces, const pointField &points, const dictionary &controlDict)
 Construct given faces, points and control dictionary. More...
 
 pairPatchAgglomeration (const faceList &faces, const pointField &points, const label mergeLevels, const label maxLevels, const label nFacesInCoarsestLevel, const label nGlobalFacesInCoarsestLevel, const scalar featureAngle=0)
 Construct from components. 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...
 

Protected Types

typedef PrimitivePatch< List< face >, const pointFieldbPatch
 

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...
 
label nGlobalFacesInCoarsestLevel_
 Global 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 54 of file pairPatchAgglomeration.H.

Member Typedef Documentation

◆ bPatch

typedef PrimitivePatch<List<face>, const pointField> bPatch
protected

Definition at line 58 of file pairPatchAgglomeration.H.

Constructor & Destructor Documentation

◆ pairPatchAgglomeration() [1/2]

pairPatchAgglomeration ( const faceList faces,
const pointField points,
const dictionary controlDict 
)

Construct given faces, points and control dictionary.

Definition at line 200 of file pairPatchAgglomeration.C.

References pairPatchAgglomeration::nFaces_, pairPatchAgglomeration::patchLevels_, points, and UList< T >::size().

Here is the call graph for this function:

◆ pairPatchAgglomeration() [2/2]

pairPatchAgglomeration ( const faceList faces,
const pointField points,
const label  mergeLevels,
const label  maxLevels,
const label  nFacesInCoarsestLevel,
const label  nGlobalFacesInCoarsestLevel,
const scalar  featureAngle = 0 
)

Construct from components.

Definition at line 241 of file pairPatchAgglomeration.C.

References pairPatchAgglomeration::nFaces_, pairPatchAgglomeration::patchLevels_, points, and UList< T >::size().

Here is the call graph for this function:

◆ ~pairPatchAgglomeration()

Definition at line 276 of file pairPatchAgglomeration.C.

Member Function Documentation

◆ agglomerate()

void agglomerate ( )

Agglomerate patch.

Definition at line 394 of file pairPatchAgglomeration.C.

Referenced by extractEulerianParticles::initialiseBins().

Here is the caller graph for this function:

◆ size()

label size ( ) const
inline

Return size.

Definition at line 180 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::patchLevels_.

◆ restrictTopBottomAddressing()

const labelList & restrictTopBottomAddressing ( ) const
inline

Return restriction from top level to bottom level.

Definition at line 186 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::restrictTopBottomAddressing_.

Referenced by extractEulerianParticles::initialiseBins().

Here is the caller graph for this function:

◆ patchLevel()

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

Return primitivePatch of given level.

Definition at line 283 of file pairPatchAgglomeration.C.

◆ restrictAddressing()

const labelField & restrictAddressing ( const label  leveli) const
inline

Return cell restrict addressing of given level.

Definition at line 195 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 33 of file pairPatchAgglomerationTemplates.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, pairPatchAgglomeration::restrictAddressing_, and UList< T >::size().

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 61 of file pairPatchAgglomerationTemplates.C.

References forAll.

Member Data Documentation

◆ mergeLevels_

label mergeLevels_
protected

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

Definition at line 63 of file pairPatchAgglomeration.H.

◆ maxLevels_

label maxLevels_
protected

Max number of levels.

Definition at line 66 of file pairPatchAgglomeration.H.

◆ nFacesInCoarsestLevel_

label nFacesInCoarsestLevel_
protected

Number of faces in coarsest level.

Definition at line 69 of file pairPatchAgglomeration.H.

◆ nGlobalFacesInCoarsestLevel_

label nGlobalFacesInCoarsestLevel_
protected

Global number of faces in coarsest level.

Definition at line 72 of file pairPatchAgglomeration.H.

◆ featureAngle_

scalar featureAngle_
protected

Feature angle.

Definition at line 75 of file pairPatchAgglomeration.H.

◆ nFaces_

labelList nFaces_
protected

The number of faces in each level.

Definition at line 78 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 82 of file pairPatchAgglomeration.H.

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

◆ restrictTopBottomAddressing_

labelList restrictTopBottomAddressing_
protected

Maps from finest to coarsest.

Definition at line 85 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::restrictTopBottomAddressing().

◆ patchLevels_

PtrList<bPatch> patchLevels_
protected

Hierarchy of patch addressing.

Definition at line 88 of file pairPatchAgglomeration.H.

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

◆ facePairWeight_

EdgeMap<scalar> facePairWeight_
protected

Edge weights.

Definition at line 91 of file pairPatchAgglomeration.H.


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