Primitive patch pair agglomerate method. More...
#include <pairPatchAgglomeration.H>

Public Member Functions | |
| TypeName ("pairPatch") | |
| Runtime type information. | |
| pairPatchAgglomeration (const faceList &faces, const pointField &points, const dictionary &controlDict) | |
| Construct given faces, points and control dictionary. | |
| 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. | |
| virtual | ~pairPatchAgglomeration () |
| void | agglomerate () |
| Agglomerate patch. | |
| label | size () const |
| Return size. | |
| const labelList & | restrictTopBottomAddressing () const |
| Return restriction from top level to bottom level. | |
| const bPatch & | patchLevel (const label leveli) const |
| Return primitivePatch of given level. | |
| const labelField & | restrictAddressing (const label leveli) const |
| Return cell restrict addressing of given level. | |
| template<class Type> | |
| void | restrictField (Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const |
| Restrict (integrate by summation) cell field. | |
| template<class Type> | |
| void | prolongField (Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const |
| Prolong (interpolate by injection) cell field. | |
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. | |
| label | maxLevels_ |
| Max number of levels. | |
| label | nFacesInCoarsestLevel_ |
| Number of faces in coarsest level. | |
| label | nGlobalFacesInCoarsestLevel_ |
| Global number of faces in coarsest level. | |
| scalar | featureAngle_ |
| Feature angle. | |
| labelList | nFaces_ |
| The number of faces in each level. | |
| PtrList< labelField > | restrictAddressing_ |
| Cell restriction addressing array. | |
| labelList | restrictTopBottomAddressing_ |
| Maps from finest to coarsest. | |
| PtrList< bPatch > | patchLevels_ |
| Hierarchy of patch addressing. | |
| EdgeMap< scalar > | facePairWeight_ |
| Edge weights. | |
Primitive patch pair agglomerate method.
Definition at line 50 of file pairPatchAgglomeration.H.
|
protected |
Definition at line 54 of file pairPatchAgglomeration.H.
| pairPatchAgglomeration | ( | const faceList & | faces, |
| const pointField & | points, | ||
| const dictionary & | controlDict ) |
Construct given faces, points and control dictionary.
Definition at line 336 of file pairPatchAgglomeration.C.
References controlDict(), facePairWeight_, featureAngle_, Foam::identity(), Foam::labelMax, maxLevels_, mergeLevels_, nFaces_, nFacesInCoarsestLevel_, nGlobalFacesInCoarsestLevel_, patchLevels_, points, restrictAddressing_, restrictTopBottomAddressing_, size(), and UList< T >::size().

| 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 377 of file pairPatchAgglomeration.C.
References facePairWeight_, featureAngle_, Foam::identity(), maxLevels_, mergeLevels_, nFaces_, nFacesInCoarsestLevel_, nGlobalFacesInCoarsestLevel_, patchLevels_, points, restrictAddressing_, restrictTopBottomAddressing_, size(), and UList< T >::size().

|
virtual |
Definition at line 412 of file pairPatchAgglomeration.C.
| TypeName | ( | "pairPatch" | ) |
Runtime type information.
References controlDict(), and points.

| void agglomerate | ( | ) |
Agglomerate patch.
Definition at line 565 of file pairPatchAgglomeration.C.
References Foam::endl(), maxLevels_, mergeLevels_, Foam::name(), nFaces_, os(), patchLevels_, Foam::Pout, and restrictAddressing_.
Referenced by extractEulerianParticles::initialiseBins().


|
inline |
Return size.
Definition at line 258 of file pairPatchAgglomeration.H.
References patchLevels_.
Referenced by pairPatchAgglomeration(), and pairPatchAgglomeration().

|
inline |
Return restriction from top level to bottom level.
Definition at line 266 of file pairPatchAgglomeration.H.
References restrictTopBottomAddressing_.
Referenced by extractEulerianParticles::initialiseBins().

| const Foam::pairPatchAgglomeration::bPatch & patchLevel | ( | const label | leveli | ) | const |
Return primitivePatch of given level.
Definition at line 419 of file pairPatchAgglomeration.C.
References patchLevels_.
|
inline |
Return cell restrict addressing of given level.
Definition at line 279 of file pairPatchAgglomeration.H.
References restrictAddressing_.
| void restrictField | ( | Field< Type > & | cf, |
| const Field< Type > & | ff, | ||
| const label | fineLevelIndex ) const |
Restrict (integrate by summation) cell field.
Definition at line 26 of file pairPatchAgglomerationTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, restrictAddressing_, and UList< T >::size().

| void prolongField | ( | Field< Type > & | ff, |
| const Field< Type > & | cf, | ||
| const label | coarseLevelIndex ) const |
Prolong (interpolate by injection) cell field.
Definition at line 54 of file pairPatchAgglomerationTemplates.C.
References forAll, and restrictAddressing_.
|
protected |
Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.
Definition at line 61 of file pairPatchAgglomeration.H.
Referenced by agglomerate(), pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
Max number of levels.
Definition at line 66 of file pairPatchAgglomeration.H.
Referenced by agglomerate(), pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
Number of faces in coarsest level.
Definition at line 71 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
Global number of faces in coarsest level.
Definition at line 76 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
Feature angle.
Definition at line 81 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
The number of faces in each level.
Definition at line 86 of file pairPatchAgglomeration.H.
Referenced by agglomerate(), pairPatchAgglomeration(), and pairPatchAgglomeration().
|
protected |
Cell restriction addressing array.
Maps from the finer to coarse level
Definition at line 93 of file pairPatchAgglomeration.H.
Referenced by agglomerate(), pairPatchAgglomeration(), pairPatchAgglomeration(), prolongField(), restrictAddressing(), and restrictField().
|
protected |
Maps from finest to coarsest.
Definition at line 98 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration(), pairPatchAgglomeration(), and restrictTopBottomAddressing().
Hierarchy of patch addressing.
Definition at line 103 of file pairPatchAgglomeration.H.
Referenced by agglomerate(), pairPatchAgglomeration(), pairPatchAgglomeration(), patchLevel(), and size().
|
protected |
Edge weights.
Definition at line 108 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration(), and pairPatchAgglomeration().