38 #ifndef Foam_pairPatchAgglomeration_H 39 #define Foam_pairPatchAgglomeration_H 100 bool agglomeratePatch
104 const label fineLevelIndex,
109 bool isSingleEdgeLoop
119 label maxValidNeighbour
121 const bool addToCluster,
136 void combineLevels(
const label curLevel);
139 void compactLevels(
const label fineLevelIndex);
142 bool continueAgglomerating
145 const label nLocalOld,
146 const label nMarkedEdges
150 void setEdgeWeights(
const label indexLevel);
153 void setLevel0EdgeWeights();
156 void mapBaseToTopAgglom(
const label fineLevelIndex);
186 const label mergeLevels,
187 const label maxLevels,
188 const label nFacesInCoarsestLevel,
189 const label nGlobalFacesInCoarsestLevel,
190 const scalar featureAngle = 0
235 const Field<Type>&
ff,
236 const label fineLevelIndex
244 const Field<Type>& cf,
245 const label coarseLevelIndex
PrimitivePatch< List< face >, const pointField > bPatch
Field< label > labelField
Specialisation of Field<T> for label.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
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.
virtual ~pairPatchAgglomeration()
A list of faces which address into the list of points.
const labelList & restrictTopBottomAddressing() const
Return restriction from top level to bottom level.
const bPatch & patchLevel(const label leveli) const
Return primitivePatch of given level.
void agglomerate()
Agglomerate patch.
label nFacesInCoarsestLevel_
Number of faces in coarsest level.
scalar featureAngle_
Feature angle.
label size() const
Return size.
runTime controlDict().readEntry("adjustTimeStep"
The central control dictionary, the contents of which are either taken directly from the FOAM_CONTROL...
label nGlobalFacesInCoarsestLevel_
Global number of faces in coarsest level.
labelList restrictTopBottomAddressing_
Maps from finest to coarsest.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Primitive patch pair agglomerate method.
EdgeMap< scalar > facePairWeight_
Edge weights.
TypeName("pairPatch")
Runtime type information.
const std::string patch
OpenFOAM patch number as a std::string.
labelList nFaces_
The number of faces in each level.
A class for managing temporary objects.
label maxLevels_
Max number of levels.
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.