Closed YvanFournier closed 2 years ago
@YvanFournier, here is some info:
The current unstructured support really only allows multiple topologies (one per shape type) to support this use case. That's not ideal, b/c while they can share the coordinates - this forces you to have multiple fields (one connected to each shape type topology)
You can use the polygonal or polyhedral mesh types now for cases like this.
The plan for future mixed topology support for unstructured is to use the same "one to many" constructs that we use to support polygonal and polyhedral meshes. We haven't prioritized the unstructured extensions, but they are something we want to support.
The difference between the current polytopal support and the future extensions to unstructured, will be that it will be a bit easier to specify known shapes (like tet
or hex`) vs the arbitrary cases that polytopal supports.
The older stream based examples are prototypes that we haven't widely adopted.
@cyrush Thanks for the info.
Ok, I can convert everything to polyhedra when I have more than one cell type (or prisms or pyramids), and not bother with mixed for now. I would have had to do this for prisms and pyramids anyways. Though it will probably lead to higher memory usage (x3) for the time being.
@YvanFournier -- we now have support for mixed topologies, and there is an example that shows both polyhedra and standard elements:
braid
examples also create data of this type when you pass mixed_2d
(2d topology) or mixed
(3d topology) as mesh_type
argument.
I feel this is now complete, so I will close.
Hello,
As of v0.82, is there an example for mixed topology meshes ?
The documentation (https://llnl-conduit.readthedocs.io/en/latest/blueprint_mesh.html#mixed-shape-toplogies) is minimal, with no example, so it is not clear whether specific names are needed.
Printing a Conduit node generated with braid ("quads_and_tris" for example) seems to use a different logic, not mentioned in the documentation.
And grep-ing through the Conduit source codes, examples section, I see mentions indicating the mixed topologies are not supported yet.
Looking at the code for the verify method in conduit_blueprint_mesh.cpp, I did manage to generate a mesh with mixed sections which seem to pass "verify" (in the process of generating Catalyst output, which I still have to test in that context)... But id did take looking at the code and not just the documentation.