LLNL / conduit

Simplified Data Exchange for HPC Simulations
https://software.llnl.gov/conduit/
Other
208 stars 64 forks source link

Change partitioner so it makes unique faces when combining PH meshes. #1255

Closed BradWhitlock closed 7 months ago

BradWhitlock commented 7 months ago

This PR changes the partitioner so it makes unique faces when combining PH faces. The old code for some reason was appending face definitions.

The utils::ShapeType relies on embedding arrays to make the "faces" that are in each shape. For wedge and pyramid, these make a set of triangles for what should be quad faces. Splitting quad faces into triangles is undesirable when combining PH meshes with other shape types. I ran across this in examining some of the partitioner baselines. I added a get_face() method to ShapeType that preserves the quad/tri faces for pyramids and wedges. The get_face() method is used in the partitioner to traverse faces of 3D shape types when we need to mix them into a PH mesh.