35 #ifndef pairPatchAgglomeration_H 36 #define pairPatchAgglomeration_H 102 const label fineLevelIndex
113 void combineLevels(
const label curLevel);
116 void compactLevels(
const label fineLevelIndex);
119 bool continueAgglomerating(
const label fineLevelIndex);
122 void setEdgeWeights(
const label indexLevel);
125 void setBasedEdgeWeights();
128 void mapBaseToTopAgglom(
const label fineLevelIndex);
140 const bool additionalWeights =
false 162 return patchLevels_.
size();
177 return restrictAddressing_[leveli];
189 const label fineLevelIndex
198 const label coarseLevelIndex
pairPatchAgglomeration(const polyPatch &patch, const dictionary &controlDict, const bool additionalWeights=false)
Construct given mesh and controls.
runTime controlDict().lookup("adjustTimeStep") >> adjustTimeStep
A list of keyword definitions, which are a keyword followed by any number of values (e...
PtrList< labelField > restrictAddressing_
Cell restriction addressing array.
PtrList< bPatch > patchLevels_
Hierarchy of patch addressing.
void prolongField(Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
Prolong (interpolate by injection) cell field.
const labelField & restrictAddressing(const label leveli) const
Return cell restrict addressing of given level.
~pairPatchAgglomeration()
A list of faces which address into the list of points.
const labelList & restrictTopBottomAddressing() const
Return restriction from top level to bottom level.
void agglomerate()
Agglomerate patch.
void operator=(const pairPatchAgglomeration &)=delete
Disallow default bitwise assignment.
label nFacesInCoarsestLevel_
Number of faces in coarsest level.
scalar featureAngle_
Feature angle.
label size() const
Return size.
const bPatch & patchLevel(const label leveli) const
Return primitivePatch of given level.
label size() const
Return the number of elements in the UPtrList.
labelList restrictTopBottomAddressing_
Maps from finest to coarsest.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Primitive patch pair agglomerate method.
EdgeMap< scalar > facePairWeight_
Edge weights.
labelList nFaces_
The number of faces in each level.
PrimitivePatch< faceList, const pointField > bPatch
A class for managing temporary objects.
label maxLevels_
Max number of levels.
A patch is a list of labels that address the faces in the global face list.
label mergeLevels_
Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.
const FieldField< fvPatchField, Type > & ff(const FieldField< fvPatchField, Type > &bf)
void restrictField(Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const
Restrict (integrate by summation) cell field.