Commit 8fd3cee8 authored by Henry Weller's avatar Henry Weller
Browse files

pairPatchAgglomeration: Stop agglomeration loop if no further agglomeration is achieved

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1157
parent 9e0f08b2
......@@ -365,7 +365,7 @@ bool Foam::pairPatchAgglomeration::agglomeratePatch
}
void Foam::pairPatchAgglomeration:: agglomerate()
void Foam::pairPatchAgglomeration::agglomerate()
{
label nPairLevels = 0;
label nCreatedLevels = 1; // 0 level is the base patch
......@@ -380,13 +380,15 @@ void Foam::pairPatchAgglomeration:: agglomerate()
do
{
label nCoarseFacesPrev = nCoarseFaces;
finalAgglomPtr = agglomerateOneLevel
(
nCoarseFaces,
patch
);
if (nCoarseFaces > 0)
if (nCoarseFaces > 0 && nCoarseFaces != nCoarseFacesPrev)
{
if
(
......@@ -524,7 +526,7 @@ Foam::tmp<Foam::labelField> Foam::pairPatchAgglomeration::agglomerateOneLevel
{
// if not create single-cell "clusters" for each
coarseCellMap[facei] = nCoarseFaces;
nCoarseFaces ++;
nCoarseFaces++;
}
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment