BUG: distributedTriSurfaceMesh: locally empty surface. Fixes #2612

This commit is contained in:
mattijs
2022-10-13 11:57:27 +01:00
parent 7fa4f1ef76
commit 6c6c8c5008

View File

@ -4158,7 +4158,10 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
// Collect midpoints // Collect midpoints
DynamicField<point> midPoints(label(0.5*nodes.size())); DynamicField<point> midPoints(label(0.5*nodes.size()));
if (nodes.size())
{
collectLeafMids(0, midPoints); collectLeafMids(0, midPoints);
}
if (debug) if (debug)
{ {
@ -4186,6 +4189,8 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
} }
// Cache on local tree // Cache on local tree
if (nodes.size())
{
label index = 0; label index = 0;
calcVolumeType calcVolumeType
( (
@ -4194,6 +4199,7 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
nt, nt,
0 // nodeI 0 // nodeI
); );
}
if (debug) if (debug)
{ {
Pout<< "distributedTriSurfaceMesh::getVolumeType :" Pout<< "distributedTriSurfaceMesh::getVolumeType :"
@ -4289,8 +4295,11 @@ void Foam::distributedTriSurfaceMesh::getVolumeType
DynamicField<point> fullSearchPoints(localPoints.size()); DynamicField<point> fullSearchPoints(localPoints.size());
DynamicList<label> fullSearchMap(localPoints.size()); DynamicList<label> fullSearchMap(localPoints.size());
forAll(localPoints, i) forAll(localPoints, i)
{
if (tree().nodes().size())
{ {
volType[i] = cachedVolumeType(0, localPoints[i]); volType[i] = cachedVolumeType(0, localPoints[i]);
}
if (volType[i] == volumeType::UNKNOWN) if (volType[i] == volumeType::UNKNOWN)
{ {
fullSearchMap.append(i); fullSearchMap.append(i);