Prev Subsubsection 3.6.2.1: Solid Elements Up Subsection 3.6.2: Elements Section Subsection 3.6.3: NodeSet Section Next
3.6.2.2 Shell Elements
FEBio currently supports the following shell elements:
tri3 | 3-node linear triangular shell element (compatible strain) |
tri6 | 6-node quadratic triangular shell element (compatible strain) |
quad4 | 4-node linear quadrilateral shell element (compatible strain) |
quad8 | 8-node quadratic quadrilateral shell element (compatible strain) |
quad9 | 9-node quadratic quadrilateral shell element (compatible strain) |
q4ans | 4-node linear quadrilateral shell element (assumed natural strain) |
q4eas | 4-node linear quadrilateral shell element (enhanced assumed strain) |
For shell elements that use a compatible strain formulation, the calculation of strain components is based on nodal displacements, similar to hexahedral or pentrahedral elements. Users should be aware that this compatible strain formulation is very susceptible to element locking when the shell thickness is much smaller than the shell size (e.g., when the aspect ratio is less than 0.01). Therefore, these shell formulations should be used with caution, keeping in mind this important constraint. Conversely, these shell elements perform very well when they are attached to solid elements (e.g., skin over muscle), or sandwiched between shell elements (e.g., cell membrane separating cytoplasm from extra-cellular matrix), as described in [34].

Node numbering for shell elements
The element-locking limitation of compatible strain shell formulations has motivated the development of specialized shell formulations that attempt to overcome locking. The FE literature on this subject is rather extensive and we refer the reader to the excellent review chapter by Bischoff et al. [17] on this topic. Methods for overcoming locking include the assumed natural strain (ANS) formulation for transverse shear strains [42, 14] and transverse normal strains [15, 16]. The ANS formulation may be supplemented with the enhanced assumed strain (EAS) method [51] and extended to large deformations [36, 55, 49]. FEBio includes the ANS (q4ans) and EAS (q4eas) quadrilateral shell element formulations of Vu-Quoc and Tan [55], using a seven-parameter EAS interpolation, which is otherwise substantially similar to the five-parameter interpolation presented in an earlier study by Klinkel et al. [36]. These shell elements are not suitable for attachment to a solid element, nor sandwiching between two solid elements. Since they don't experience element locking, they should be loaded more slowly than compatible strain shell elements. The most accurate of these shell formulation is q4eas.
By default, the nodes of a shell element define its front face. The location of the shell element back face is calculated from the nodal values of the shell thickness, along the opposite direction of nodal normals. The nodal normal is evaluated by averaging the front face normal of all shell elements sharing that node. When a shell element is attached to a solid element (e.g., when the shell nodes also represent the nodes of one face of the solid element), FEBio automatically accounts for the shell thickness, reducing the height of the solid element in the direction of the shell normal. It is the user's responsibility to ensure that the shell thickness is less than that of the solid element; otherwise, a negative Jacobian error will be automatically generated.
Prior to FEBio 2.6, the nodes of a shell element defined its middle face (halfway between front and back, such that the shell element extends above and below the face defined by the shell nodes). This older formulation can be recovered by setting shell_formulation to 0 in the Control section. This setting only works with compatible strain shell formulations.
When shell domains intersect such that three or more shell elements share the same edge, as in a T-connection, users should set shell_normal_nodal to 0 in the Control section. This setting ensures that the back face of a shell element is calculated using the front face normal, instead of nodal normals, since the latter would be ill-defined for nodes belonging to such an edge.
Finally, please note that shell elements cannot be stacked in FEBio.