polyscope icon indicating copy to clipboard operation
polyscope copied to clipboard

Transition Cell Types for Volume Meshes

Open mgsutton opened this issue 10 months ago • 2 comments

Once again, thanks for the great library! I noticed the docs say that volume meshes can support hexes and tets, and even a mixture of the two. For the latter case using polyscope::registerTetHexMesh, how does that work for transition cells between the two types? Are wedges and pyramids specified as degenerate hex cells, or are they just currently not supported? If they aren't supported, it sure would be great if they could be.

mgsutton avatar Apr 15 '25 14:04 mgsutton

Right now it's really just a list of hexes and a list of tets, no support for other types / transitional elements, etc.

My knowledge of volume meshes is pretty simplistic, could you point a list of the kinds of additional elements we would want to support? Or some representative data to test on if someone were to pick this up?

(I'm not sure if/when I'd be able to work on this, but we can list it as a good issue to contribute to if someone wanted to give it a go.)

nmwsharp avatar Apr 15 '25 14:04 nmwsharp

Hi @nmwsharp, I think we would just need the addition of pyramid and wedge topologies. These are sufficient to handle the kinds of transitions a mesh might take going from a tet element to a hex element.

Image

Image

They could possibly be specified as degenerate hex elements. Either, the first 5 vertices out of 8 for a pyramid are specified and the remaining are given a sentinel. Or, sometimes people specify them by "collapsing" multiple vertices in a hex element to a single vertex. So, for example, one might specify vertex slots 4, 5, 6, 7 for a hex to reference global vertex 238 and that would then denote a pyramid. (Slots 5, 6 and 7 are the same vertex as slot 4) The same idea for a wedge where 6 vertices are specified with sentinels in the last two slots, or two sets of two are doubled up similar to the idea for pyramids.

mgsutton avatar Apr 15 '25 15:04 mgsutton