nschloe / meshio

:spider_web: input/output for many mesh formats
MIT License
1.96k stars 404 forks source link

ENH: facet sets #729

Open gdmcbain opened 4 years ago

gdmcbain commented 4 years ago

In #713 on ugrid:

The ugrid -> exodus conversion took over the node coordinates, and the triangle and tetrahedron connectivities, but did not create side sets.

'Side sets', as they're known in Exodus, or facets sets, are natural representations of patches of the boundary of the mesh of a domain in mixed boundary value problems. Each cell of dimension greater than zero in a mesh has a definite set of facets (e.g. a tetrahedron has four triangles, a triangle three line segments, and a line segment two vertices). In a conforming mesh, a facet is either internal to the domain and common to two cells or only belongs to one cell and forms part of the boundary.

This is to be distinguished from the practice of using (n-1)-dimensional cells for the boundary, independent of the n-dimensional cells of the domain and independently supported on the points, as in Gmsh. That's workable, but less natural.

This is a long-term proposal for meshio to support facet sets. Whereas we have points and point sets, and cells and cell sets, there would only be facet sets, not facets; the facets are implicitly defined as sides of cells.

I'm not sure how many formats besides Exodus include them—presumably ugrid (which I hadn't heard of) , I think XDMF has something, and.there was a mention of 'facet regions' in dolfin XML (though I understand that that's deprecated) in #70 and #265.

RemDelaporteMathurin commented 9 months ago

Hi! Has there been any progress on this? several years later I find myself in the situation where I'd like to export a Cubit mesh and convert it to XDMF with tagged entities (facets and volumes).

Any pointers?

Thanks!

gdmcbain commented 9 months ago

Not from me. I haven't been working with meshio or spatial meshes in general much for the last year or two, but I may well get back to it one day. I still think this is a good ENH and stand by the above. Best wishes.

RemDelaporteMathurin commented 9 months ago

@gdmcbain thanks for the reply! Understood! I don't think I have the expertise to implement this myself (nor am I certain to fully understand what is needed here).

In Cubit, I see that there are Groups and Sidesets/Blocks, and the difference between these two is unclear to me