Primitive patch pair agglomerate method. More...
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 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... | |
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 337 of file pairPatchAgglomeration.C.
References points, 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 378 of file pairPatchAgglomeration.C.
References points, and UList< T >::size().
|
virtual |
Definition at line 412 of file pairPatchAgglomeration.C.
TypeName | ( | "pairPatch" | ) |
Runtime type information.
void agglomerate | ( | ) |
Agglomerate patch.
Definition at line 565 of file pairPatchAgglomeration.C.
References Foam::ensightOutput::debug, Foam::endl(), Foam::name(), OFstream::name(), os(), Foam::foamVersion::patch, Foam::Pout, and OBJstream::write().
Referenced by extractEulerianParticles::initialiseBins().
|
inline |
Return size.
Definition at line 258 of file pairPatchAgglomeration.H.
References pairPatchAgglomeration::patchLevels_.
|
inline |
Return restriction from top level to bottom level.
Definition at line 266 of file pairPatchAgglomeration.H.
References pairPatchAgglomeration::restrictTopBottomAddressing_.
const Foam::pairPatchAgglomeration::bPatch & patchLevel | ( | const label | leveli | ) | const |
Return primitivePatch of given level.
Definition at line 420 of file pairPatchAgglomeration.C.
|
inline |
Return cell restrict addressing of given level.
Definition at line 279 of file pairPatchAgglomeration.H.
References pairPatchAgglomeration::restrictAddressing_.
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().
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.
|
protected |
Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.
Definition at line 61 of file pairPatchAgglomeration.H.
|
protected |
Max number of levels.
Definition at line 66 of file pairPatchAgglomeration.H.
|
protected |
Number of faces in coarsest level.
Definition at line 71 of file pairPatchAgglomeration.H.
|
protected |
Global number of faces in coarsest level.
Definition at line 76 of file pairPatchAgglomeration.H.
|
protected |
Feature angle.
Definition at line 81 of file pairPatchAgglomeration.H.
|
protected |
The number of faces in each level.
Definition at line 86 of file pairPatchAgglomeration.H.
|
protected |
Cell restriction addressing array.
Maps from the finer to coarse level
Definition at line 93 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::restrictAddressing().
|
protected |
Maps from finest to coarsest.
Definition at line 98 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::restrictTopBottomAddressing().
Hierarchy of patch addressing.
Definition at line 103 of file pairPatchAgglomeration.H.
Referenced by pairPatchAgglomeration::size().
|
protected |
Edge weights.
Definition at line 108 of file pairPatchAgglomeration.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.