Primitive patch pair agglomerate method. More...

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... | |
Primitive patch pair agglomerate method.
Definition at line 57 of file pairPatchAgglomeration.H.
| pairPatchAgglomeration | ( | const polyPatch & | patch, |
| const dictionary & | controlDict, | ||
| const bool | additionalWeights = false |
||
| ) |
Construct given mesh and controls.
Definition at line 190 of file pairPatchAgglomeration.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), pairPatchAgglomeration::nFaces_, and pairPatchAgglomeration::patchLevels_.

Definition at line 236 of file pairPatchAgglomeration.C.
References pairPatchAgglomeration::patchLevel().

| void agglomerate | ( | ) |
Agglomerate patch.
Definition at line 354 of file pairPatchAgglomeration.C.
References Foam::exit(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceFaces(), pairPatchAgglomeration::facePairWeight_, Foam::FatalError, FatalErrorInFunction, forAll, pairPatchAgglomeration::maxLevels_, pairPatchAgglomeration::mergeLevels_, pairPatchAgglomeration::nFaces_, pairPatchAgglomeration::patchLevels_, Foam::reduce(), tmp< T >::ref(), and pairPatchAgglomeration::restrictAddressing_.

|
inline |
Return size.
Definition at line 162 of file pairPatchAgglomeration.H.
References UPtrList< T >::size().

|
inline |
Return restriction from top level to bottom level.
Definition at line 168 of file pairPatchAgglomeration.H.
References pairPatchAgglomeration::patchLevel(), and pairPatchAgglomeration::restrictTopBottomAddressing_.

| const Foam::bPatch & patchLevel | ( | const label | leveli | ) | const |
Return primitivePatch of given level.
Definition at line 243 of file pairPatchAgglomeration.C.
References Foam::abort(), Foam::e, Foam::endl(), Foam::exit(), pairPatchAgglomeration::facePairWeight_, Foam::FatalError, FatalErrorInFunction, forAll, Foam::invertOneToMany(), Foam::max(), Foam::min(), pairPatchAgglomeration::patchLevels_, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::renumber(), pairPatchAgglomeration::restrictAddressing_, pairPatchAgglomeration::restrictTopBottomAddressing_, and List< T >::size().
Referenced by pairPatchAgglomeration::restrictTopBottomAddressing(), and pairPatchAgglomeration::~pairPatchAgglomeration().


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

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


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

|
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().
|
protected |
Max number of levels.
Definition at line 67 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::agglomerate().
|
protected |
Number of faces in coarsest level.
Definition at line 70 of file pairPatchAgglomeration.H.
|
protected |
Feature angle.
Definition at line 73 of file pairPatchAgglomeration.H.
|
protected |
The number of faces in each level.
Definition at line 76 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::agglomerate(), and pairPatchAgglomeration::pairPatchAgglomeration().
|
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().
|
protected |
Maps from finest to coarsest.
Definition at line 83 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::patchLevel(), and pairPatchAgglomeration::restrictTopBottomAddressing().
Hierarchy of patch addressing.
Definition at line 86 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::agglomerate(), pairPatchAgglomeration::pairPatchAgglomeration(), and pairPatchAgglomeration::patchLevel().
|
protected |
Edge weights.
Definition at line 89 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::agglomerate(), and pairPatchAgglomeration::patchLevel().
1.8.11