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 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 Types

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

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< 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 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 201 of file pairPatchAgglomeration.C.

References points.

◆ 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 242 of file pairPatchAgglomeration.C.

References points.

◆ ~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.

References Foam::foamVersion::patch.

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_.

◆ patchLevel()

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

Return primitivePatch of given level.

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

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::fv::ff(), and forAll.

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

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

Here is the call 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 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.

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

◆ 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::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: