BUG: singleCellFvMesh : locally (but not globally) zero sized patches

This commit is contained in:
mattijs
2010-10-06 16:20:55 +01:00
parent 04c5454b21
commit dfbcf6eb46

View File

@ -42,12 +42,13 @@ void Foam::singleCellFvMesh::agglomerateMesh
const polyBoundaryMesh& oldPatches = mesh.boundaryMesh();
// Check agglomeration within patch face range and continuous
labelList nAgglom(oldPatches.size());
labelList nAgglom(oldPatches.size(), 0);
forAll(oldPatches, patchI)
{
const polyPatch& pp = oldPatches[patchI];
if (pp.size() > 0)
{
nAgglom[patchI] = max(agglom[patchI])+1;
forAll(pp, i)
@ -63,6 +64,7 @@ void Foam::singleCellFvMesh::agglomerateMesh
}
}
}
}
// Check agglomeration is sync
{
@ -155,6 +157,8 @@ void Foam::singleCellFvMesh::agglomerateMesh
forAll(oldPatches, patchI)
{
patchStarts[patchI] = coarseI;
const polyPatch& pp = oldPatches[patchI];
if (pp.size() > 0)
@ -170,8 +174,6 @@ void Foam::singleCellFvMesh::agglomerateMesh
// From agglomeration to compact patch face
labelList agglomToFace(nAgglom[patchI], -1);
patchStarts[patchI] = coarseI;
forAll(pp, i)
{
label myAgglom = agglom[patchI][i];
@ -223,10 +225,10 @@ void Foam::singleCellFvMesh::agglomerateMesh
);
}
}
}
patchSizes[patchI] = coarseI-patchStarts[patchI];
}
}
//Pout<< "patchStarts:" << patchStarts << endl;
//Pout<< "patchSizes:" << patchSizes << endl;