pairPatchAgglomeration Class Reference

Primitive patch pair agglomerate method. More...

Collaboration diagram for pairPatchAgglomeration:

Public Member Functions

 TypeName ("pairPatch")
 Runtime type information. More...
 
 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...
 
virtual ~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 50 of file pairPatchAgglomeration.H.

Member Typedef Documentation

◆ bPatch

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

Definition at line 54 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 337 of file pairPatchAgglomeration.C.

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

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

Here is the call graph for this function:

◆ ~pairPatchAgglomeration()

~pairPatchAgglomeration ( )
virtual

Definition at line 412 of file pairPatchAgglomeration.C.

Member Function Documentation

◆ TypeName()

TypeName ( "pairPatch"  )

Runtime type information.

◆ agglomerate()

void agglomerate ( )

Agglomerate patch.

Definition at line 565 of file pairPatchAgglomeration.C.

References Foam::ensightOutput::debug, Foam::endl(), OFstream::name(), Foam::name(), os(), Foam::foamVersion::patch, Foam::Pout, and OBJstream::write().

Referenced by extractEulerianParticles::initialiseBins().

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

◆ size()

label size ( ) const
inline

Return size.

Definition at line 258 of file pairPatchAgglomeration.H.

References pairPatchAgglomeration::patchLevels_.

◆ restrictTopBottomAddressing()

const labelList& restrictTopBottomAddressing ( ) const
inline

Return restriction from top level to bottom level.

Definition at line 266 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 420 of file pairPatchAgglomeration.C.

◆ restrictAddressing()

const labelField& restrictAddressing ( const label  leveli) const
inline

Return cell restrict addressing of given level.

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

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::fv::ff(), forAll, 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 55 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 61 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 71 of file pairPatchAgglomeration.H.

◆ nGlobalFacesInCoarsestLevel_

label nGlobalFacesInCoarsestLevel_
protected

Global number of faces in coarsest level.

Definition at line 76 of file pairPatchAgglomeration.H.

◆ featureAngle_

scalar featureAngle_
protected

Feature angle.

Definition at line 81 of file pairPatchAgglomeration.H.

◆ nFaces_

labelList nFaces_
protected

The number of faces in each level.

Definition at line 86 of file pairPatchAgglomeration.H.

◆ restrictAddressing_

PtrList<labelField> restrictAddressing_
protected

Cell restriction addressing array.

Maps from the finer to coarse level

Definition at line 93 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::restrictAddressing().

◆ restrictTopBottomAddressing_

labelList restrictTopBottomAddressing_
protected

Maps from finest to coarsest.

Definition at line 98 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::restrictTopBottomAddressing().

◆ patchLevels_

PtrList<bPatch> patchLevels_
protected

Hierarchy of patch addressing.

Definition at line 103 of file pairPatchAgglomeration.H.

Referenced by pairPatchAgglomeration::size().

◆ facePairWeight_

EdgeMap<scalar> facePairWeight_
protected

Edge weights.

Definition at line 108 of file pairPatchAgglomeration.H.


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