kinnala / scikit-fem

Simple finite element assemblers
https://scikit-fem.readthedocs.io
BSD 3-Clause "New" or "Revised" License
470 stars 76 forks source link

Support for Shell/Surface Meshes #1121

Closed NiklasFreymuth closed 2 months ago

NiklasFreymuth commented 2 months ago

Hey all,

I am trying to use shell/surface meshes, i.e., 2D manifold meshes embedded in 3D space to model thin structures. I have my meshes available as .vtk files, but can not find any way to use them in scikit-fem. Does scikit-fem currently support shell or surface meshes? If so, is there an example on how to use interface and use them? If not, are there any plans to include this feature in the future? It would be helpful to know if this is on the roadmap, and what would potentially be required to make this work.

Thanks in advance!

kinnala commented 2 months ago

There is no proper support. I have no plans for studying shells myself. Some people have asked about this before, see Discussions.

I don't have a good overview of the problem type to know what people might use these meshes and element types for. Is it mainly shell theory (elasticity) or also something else?

We have a way to define bilinear forms over surfaces (FacetBasis). However, it is currently strictly restricted to boundaries of tetrahedral or hexahedral meshes. This is because we do not have separate surface basis functions and mappings, everything is defined using the volume basis functions restricted on the surface.

This way it is possible to hack together surface PDEs but it is slightly clumsy to have a single layer of volume elements to just integrate on its surface.

NiklasFreymuth commented 2 months ago

Thanks a lot for the quick reply!

I somehow missed the discussion on shell/midsurface meshes. I'll see if using the surface of a volumetric mesh is possible for my application, but it sounds like it could work.