Remove empty patches after conversion
Empty defaultFaces should not be in the list of boundaries.
This commit is contained in:
parent
4608dddc89
commit
478fdb60e8
1 changed files with 44 additions and 0 deletions
|
@ -713,6 +713,48 @@ void readCells
|
||||||
Info<< endl;
|
Info<< endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Simplified version of the function from createPatch utility.
|
||||||
|
void removeEmptyPatches(polyMesh& mesh)
|
||||||
|
{
|
||||||
|
Info<< "\n";
|
||||||
|
|
||||||
|
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
||||||
|
|
||||||
|
DynamicList<polyPatch*> nonEmptyPatches(patches.size());
|
||||||
|
|
||||||
|
forAll(patches, idx)
|
||||||
|
{
|
||||||
|
const polyPatch& pp = patches[idx];
|
||||||
|
|
||||||
|
if (pp.size() > 0)
|
||||||
|
{
|
||||||
|
nonEmptyPatches.append
|
||||||
|
(
|
||||||
|
pp.clone
|
||||||
|
(
|
||||||
|
patches,
|
||||||
|
nonEmptyPatches.size(),
|
||||||
|
pp.size(),
|
||||||
|
pp.start()
|
||||||
|
).ptr()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< "Removing empty patch " << pp.name() << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (patches.size() != nonEmptyPatches.size())
|
||||||
|
{
|
||||||
|
nonEmptyPatches.shrink();
|
||||||
|
mesh.removeBoundary();
|
||||||
|
mesh.addPatches(nonEmptyPatches);
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Main program:
|
// Main program:
|
||||||
|
|
||||||
|
@ -1054,6 +1096,8 @@ int main(int argc, char *argv[])
|
||||||
mesh.addZones(List<pointZone*>(0), fz, cz);
|
mesh.addZones(List<pointZone*>(0), fz, cz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
removeEmptyPatches(mesh);
|
||||||
|
|
||||||
mesh.write();
|
mesh.write();
|
||||||
|
|
||||||
Info<< "End\n" << endl;
|
Info<< "End\n" << endl;
|
||||||
|
|
Reference in a new issue