Dear libMesh devs,

the roots of the finite element method lie in structural analysis and 
the need to solve elasticity problems. Thin shells with a stretching and 
a bending rigidity are an extremely important special case. The bending 
term requires C1 finite elements which have been hard to construct for 
arbitrary surface topologies until the subdivision surface paradigm 
found its way to the FEM a few years ago (Int. J. Numer. Meth. Engng. 
47, 2039-2072 (2000), more than 300 citations!). Ever since, subdivision 
surfaces are the way to go in thin shell finite element analysis, as they

1) require only the three nodal displacement dofs, no rotational or 
other auxiliary dofs,
2) require only one Gauss point per element (very efficient), although 
more still work of course,
3) greatly simplify the implementation of thin shells with arbitrary 
topology.

Still, they have not made it into most finite element packages, perhaps 
because they somewhat deviate from conventional FE principles:

a) the shape functions don't interpolate the mesh nodes, instead they 
approximate them,
b) the solution on an element is determined not only by the nodal 
solutions of its nodes, but also of nodal solutions at the neighboring nodes
c) the number of shape functions per element depends on the mesh 
connectivity,
d) the conventional h-refinement and p-refinement techniques can't be 
applied
e) they require special treatment of boundaries and constraints.

I have prepared a patch that adds the most popular, versatile and 
widely-used type of subdivision surface elements to libMesh: Loop 
subdivision surface elements. Everything is readily Doxygen-commented 
like all of libMesh. I've also prepared a new example 
(miscellaneous_ex11) showing how to use the new element on a loaded thin 
elastic plate.

This is a joint effort initiated by Norbert Stoop in 2008. The related 
discussions can be looked up at:
http://sourceforge.net/mailarchive/message.php?msg_id=20778890
http://sourceforge.net/mailarchive/message.php?msg_id=20808509

Why didn't I attach the patch already? I'd first like to know if you're 
interested at all. Why wouldn't you, you're asking? Bear in mind the 
unconventional nature of subdivision surface finite elements. (b) 
requires a more general treatment of the number of shape functions in 
DofMap, as it is no longer constant. (c) requires a new integer stored 
in each Node instance, holding the node valence. (d) means some of the 
nice features of libMesh like AMR won't work with the new element. (e) 
means that libMesh's built-in boundary and constraint handling won't 
work with the new element. Furthermore the new element supports only 2D 
triangular meshes in 3D space, so it is a far cry from being as general 
as other elements implemented in libMesh.

Why would you be interested despite all this? First of all, subdivision 
surfaces seem to be the future of two-dimensional C1 elements. They 
would give libMesh an advantage over other FEM packages. Moreover, 
recent advances in finite element research suggest that more new 
elements of this general kind (isogeometric analysis) are on the way. 
Some of them similarly generalize the way we traditionally think about 
element shape functions and even work with less than one quadrature 
point per element [sic!].

This extension of libMesh adds five new source code files and modifies 
22 more (mostly small additions like enums etc.). I've tried to keep the 
patch minimal. It has been in successful operation for a few years now 
at our labs, and I think it's about time it's committed to the official 
libMesh repository. It would make a great added value to libMesh for all 
those who use it for thin shell analysis (and I know that there are a 
few of them around). I'm happy to send you the patch and further 
explanations on it if you're willing to give it a closer look.

Best regards,
Roman

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to