38#ifndef pairPatchAgglomeration_H
39#define pairPatchAgglomeration_H
100 bool agglomeratePatch
104 const label fineLevelIndex
115 void combineLevels(
const label curLevel);
118 void compactLevels(
const label fineLevelIndex);
121 bool continueAgglomerating
124 const label nLocalOld
128 void setEdgeWeights(
const label indexLevel);
131 void setLevel0EdgeWeights();
134 void mapBaseToTopAgglom(
const label fineLevelIndex);
160 const label mergeLevels,
161 const label maxLevels,
162 const label nFacesInCoarsestLevel,
163 const label nGlobalFacesInCoarsestLevel,
164 const scalar featureAngle = 0
210 const label fineLevelIndex
219 const label coarseLevelIndex
Map from edge (expressed as its endpoints) to value. For easier forward declaration it is currently i...
A list of faces which address into the list of points.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Primitive patch pair agglomerate method.
void prolongField(Field< Type > &ff, const Field< Type > &cf, const label coarseLevelIndex) const
Prolong (interpolate by injection) cell field.
void restrictField(Field< Type > &cf, const Field< Type > &ff, const label fineLevelIndex) const
Restrict (integrate by summation) cell field.
~pairPatchAgglomeration()
const labelList & restrictTopBottomAddressing() const
Return restriction from top level to bottom level.
PtrList< bPatch > patchLevels_
Hierarchy of patch addressing.
labelList nFaces_
The number of faces in each level.
const bPatch & patchLevel(const label leveli) const
Return primitivePatch of given level.
void agglomerate()
Agglomerate patch.
EdgeMap< scalar > facePairWeight_
Edge weights.
label mergeLevels_
Number of levels to merge, 1 = don't merge, 2 = merge pairs etc.
scalar featureAngle_
Feature angle.
label size() const
Return size.
label maxLevels_
Max number of levels.
label nFacesInCoarsestLevel_
Number of faces in coarsest level.
PtrList< labelField > restrictAddressing_
Cell restriction addressing array.
const labelField & restrictAddressing(const label leveli) const
Return cell restrict addressing of given level.
PrimitivePatch< List< face >, const pointField > bPatch
label nGlobalFacesInCoarsestLevel_
Global number of faces in coarsest level.
labelList restrictTopBottomAddressing_
Maps from finest to coarsest.
A class for managing temporary objects.
runTime controlDict().readEntry("adjustTimeStep"