Skip to content

distributedTriSurfaceMesh used for refinement shell not consistent flipped

Summary

In snappyHexMesh a distributedTriSurfaceMesh can be used as a closed refinement shell. This can lead to problems if it decides to orient the geometry and that decision is not the same on all processors.

Steps to reproduce

Original geometry is too big. But have an STL shell surfaces and change its type from 'triSurfaceMesh' to 'distributedTriSurfaceMesh'. Change the decomposition method to a nonsense one (only 'hierarchical' really makes sense for meshing).

Depending on the case some of the processors (if they have zero faces of it) might decide not to orient it whereas others might. This can cause an inconsistent orientation.

Example case

What is the current bug behaviour?

Error inside snappyHexMesh at startup (on some processors only) when it is orienting the shell surfaces.

Relevant logs and/or images

Environment information

  • OpenFOAM version :v2112

Possible fixes

Take consistent decision (flip/not-flip) on all processors, not just looking at own processor.