The shell finite element explained

Understand the shell finite element mechanical assumptions. And learn step by step how to derive the shell element stiffness matrix.

The development of an efficient shell element has gathered a lot of work since the beginning of structural finite element history. For multiple reasons, developing an effective shell element is not an easy task, and we will cover some of these reasons through this article. Multiple shell elements are available in the literature, and they are still being improved as time goes on. For this article I have decided to introduce the MITC shell element (Mixed Interpolation of Tensorial Components) because it recently received new improvements making it one of the most practical and efficient shell element. After detailing the various assumptions and how they work together, I will explain how to derive the shell element stiffness matrix. Finally, I will conclude this article with an example of an hyperboloid-like model simulated using the SesamX finite element analysis software (implementing the element presented here).

There are 2 main kinds of shell element depending on their underlying geometry: quadrangular and triangular. In this article I will focus on the MITC4 element (quadrangular) because it is the most widespread among the MITC shell family.

Relevant papers about the MITC4 shell finite element

This article is mainly inspired from the following papers about the MITC4 element. They are great resources to consult if you are looking for deeper information about this element.

  1. Dvorkin EN, Bathe KJ. A continuum mechanics based four-node shell element for general nonlinear analysis: original paper about the MITC4 element. It introduces the concept of mixed interpolation of tensorial components, and how it improves the transverse shear behavior of the element.

  2. Ko Y, Lee PS, Bathe KJ. A new MITC4+ shell element: recent paper exposing new improvements about the MITC4 element membrane behavior.

  3. Ko Y, Lee PS, Bathe KJ. A new 4-node MITC element for analysis of two dimensional solids and its application in shell analyses: other improvements about the MITC4 element membrane behavior.

  4. Ko Y, Lee Y, Lee PS, Bathe KJ. Performance of the MITC3+ and MITC4+ shell elements in widely-used benchmark problems: comparison of the improved MITC4 element against other well known shell elements (including Abaqus S4 element).

Quick remark on notations

Before starting, let’s define some notations that are used through this article:

  • vectors are denoted with an underline u \underline{u} and tensors with a double underline ε \underline{\underline{\varepsilon}} ,

  • matrices are represented with brackets, as well as vector and tensor components [ ] \lbrack \ \rbrack ,

  • Einstein summation convention is used on repeated indices,

  • partial derivatives are denoted with the comma notation u,x u_{,x} ,

  • infinitesimal strain and stress tensors are represented in column matrix notation [ε]=[ε11ε22ε332ε122ε232ε13] \lbrack \varepsilon \rbrack = \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\ 2 \varepsilon_{12} \\ 2 \varepsilon_{23} \\ 2 \varepsilon_{13} \end{bmatrix} and [σ]=[σ11σ22σ33σ12σ23σ13] \lbrack \sigma \rbrack = \begin{bmatrix} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\ \sigma_{12} \\ \sigma_{23} \\ \sigma_{13} \end{bmatrix} , where [ε] \lbrack \varepsilon \rbrack represents the engineering strains.

Introducing the shell element

The shell element is intended to analyze thin structures undergoing forces and moments in any direction. The structure can be flat or curved but it should have one dimension smaller than the other 2. For instance, it is the perfect element to analyze a slab or an aircraft fuselage.

Shell finite element Aircraft fuselage
Slab
Aircraft fuselage

To fully define the shell geometry, the element needs the following 3 characteristics:

  • The mid-surface geometry,

  • The thickness at each point of the mid-surface: h h ,

  • The director vector at each point of the mid-surface: v \underline{v}

The mid-surface and thickness are what comes naturally in mind when thinking about shells.

Simple shell

The director vector is a specific MITC feature. It allows to control how the “cross section” is tilted relative to the mid-surface.

Shell director vector

Theses features make it possible to modelize shells with varying thickness along the mid-surface, as well as arbitrary shells connections.

Varying shell thickness Shell connection
Varying shell thickness
Shell connection

Furthermore, this element is not restricted to flat shell and can also represent curved geometries. The element is meshed on the mid-surface using 4 nodes. At each node I I the following quantities are available:

  • the position of the node XI \underline{X^I} ,

  • the thickness at the node hI h^I ,

  • the shell director vector at the node vI \underline{v^I} ,

  • the displacement vector at the node uI \underline{u^I} ,

  • and the rotation vector at the node θI \underline{\theta^I} .

Shell element

MITC4 shell element assumptions

In essence, the shell element is a simplification of a more complex 3D structure. When designing such an element, the aim is to decrease the computational cost, while making relevant assumptions on how the element behaves. The main kinematic assumptions underlying the MITC element are given here with some explanations.

Stress assumption

As the shell must be able to sustain transverse and plane loading, the stress state must allow for transverse shear stress, as well as in plane stress. It is then sufficient to enforce:

(1)σ33=0 \boxed{\sigma_{33} = 0} \tag{1}

This is the classical stress assumption made for shell elements when the “3” direction is normal to the mid-surface. However, in the case of the MITC element, the “3” direction is collinear to the director vector at each point of the shell mid-surface (basis and coordinate systems are detailed further ahead in this article).

Kinematic assumption

Before detailing the kinematic assumption, we need to define a convenient parametric coordinate system on the shell.

Parametric coordinates system and position vector

We rely on the position vector to define the parametric system. Without providing more details, the first 2 coordinates r r and s s can be any of the mid-surface curvilinear coordinates. The last coordinate t t is such that for a given r r and s s , t t evolves when we move along the director vector.

Using these parametric coordinates, we can describe the position of every point in the space:

(2)X(r,s,t)=X0(r,s)+t2h(r,s)v(r,s) \boxed{\underline{X}(r,s,t) = \underline{X_0}(r,s) + \cfrac{t}{2} h(r,s) \underline{v}(r,s)} \tag{2}

Where X0(r,s) \underline{X_0}(r,s) describes the mid-surface position. To define clearly what r r and s s are, we need to detail further X0(r,s) \underline{X_0}(r,s) , h(r,s) h(r,s) and v(r,s) \underline{v}(r,s) .

Using the position of the nodes and the shape functions we have:

  • X0(r,s)=NI(r,s)XI \underline{X_0}(r,s) = N^I(r,s)\underline{X^I}
  • h(r,s)v(r,s)=NI(r,s)hIvI h(r,s) \underline{v}(r,s) = N^I(r,s)h^I \underline{v}^I

Where the shape functions NI N^I are:

{N1(r,s)=14(1r)(1s)N2(r,s)=14(1+r)(1s)N3(r,s)=14(1+r)(1+s)N4(r,s)=14(1r)(1+s) \begin{cases} N^1(r,s) = \cfrac{1}{4} (1-r) (1-s) \\ N^2(r,s) = \cfrac{1}{4} (1+r) (1-s) \\ N^3(r,s) = \cfrac{1}{4} (1+r) (1+s) \\ N^4(r,s) = \cfrac{1}{4} (1-r) (1+s) \\ \end{cases}

Which yields the full expression of the position from the parametric coordinates:

(3)X(r,s,t)=NI(r,s)XI+t2NI(r,s)hIvI \boxed{\underline{X}(r,s,t) = N^I(r,s)\underline{X^I} + \cfrac{t}{2} N^I(r,s)h^I \underline{v}^I} \tag{3}

Please note the following remarks:

  • for t=0 t = 0 the domain r,s[1,1] r, s \in [-1, 1] describes the shell mid-surface,

  • t t moving from -1 to 1 corresponds to a point moving from the inferior face to the superior face of the shell,

  • the full product h(r,s)v(r,s) h(r,s) \underline{v}(r,s) is linearly interpolated from its values at the nodes (we want to stress that h(r,s) h(r,s) and v(r,s) \underline{v}(r,s) are not interpolated on their own but through their product),

  • even though expression (3) is useful to define the parametric space, we use extensively expression (2) in the following for its conciseness.

Parametric coordinate system

Displacement vector

Next we express the displacement vector at each point inside the shell, relative to its parametric coordinates. We have:

u(r,s,t)=u0(r,s)+t2h(r,s)(θ(r,s)×v(r,s)) \underline{u}(r,s,t) = \underline{u_0}(r,s) + \cfrac{t}{2} h(r,s) (\underline{\theta}(r,s) \times \underline{v}(r,s))

Where:

  • u0(r,s) \underline{u_0}(r,s) is the displacement vector on the shell mid-surface,

  • θ(r,s) \underline{\theta}(r,s) is the rotation vector on the shell mid-surface.

We see from this formula that, for a given point on the mid-surface, the rotation vector θ(r,s) \underline{\theta}(r,s) describes simply the rotation of the director vector. Hence t2h(r,s)(θ(r,s)×v(r,s)) \cfrac{t}{2} h(r,s) (\underline{\theta}(r,s) \times \underline{v}(r,s)) is simply the displacement resulting from the director vector rotation.

However, this comes at a price. In general, if we seek to compute the rotation of a vector v \underline{v} under a given rotation vector θ \underline{\theta} , we have to apply Rodrigues’ formula. This formula is non linear on θ \underline{\theta} , but can be simplified to θ×v \underline{\theta} \times \underline{v} if we assume that θ \underline{\theta} is small (which is the case here).

As for the position vector, we relate the displacement inside the shell from the displacements and rotations at the nodes:

u(r,s,t)=NI(r,s)uI+t2NI(r,s)hI(θI×vI) \underline{u}(r,s,t) = N^I(r,s)\underline{u^I} + \cfrac{t}{2} N^I(r,s) h^I (\underline{\theta^I} \times \underline{v^I})

And we note again that the full term h(r,s)(θ(r,s)×v(r,s)) h(r,s) (\underline{\theta}(r,s) \times \underline{v}(r,s)) is interpolated at once from the values at the nodes. To make things easier, we can introduce the vector ϕ=θ×v \underline{\phi} = \underline{\theta} \times \underline{v} to finally write:

(4)u(r,s,t)=u0(r,s)+t2h(r,s)ϕ(r,s) \boxed{\underline{u}(r,s,t) = \underline{u_0}(r,s) + \cfrac{t}{2} h(r,s) \underline{\phi}(r,s)} \tag{4}

And after interpolation from the values at the nodes:

(5)u(r,s,t)=NI(r,s)uI+t2NI(r,s)hIϕI \boxed{\underline{u}(r,s,t) = N^I(r,s)\underline{u^I} + \cfrac{t}{2} N^I(r,s) h^I \underline{\phi^I}} \tag{5}

Basis and coordinate systems

Before going further, let’s define and summarize the different basis and coordinate systems that are used while deriving the stiffness matrix.

Covariant basis

We have defined previously the parametric coordinate system (r r , s s , t t ). It is time now to give the associated covariant basis. Using (2), this basis is defined as:

(6){gr(r,s,t)=X,r=X0,r+t2(hv),rgs(r,s,t)=X,s=X0,s+t2(hv),sgt(r,s)=X,t=12hv \begin{cases} \begin{alignedat}{1} \underline{g_r}(r,s,t) &= \underline{X}_{,r} = \underline{X_0}_{,r} + \cfrac{t}{2} (h \underline{v})_{,r} \\ \underline{g_s}(r,s,t) &= \underline{X}_{,s} = \underline{X_0}_{,s} + \cfrac{t}{2} (h \underline{v})_{,s} \\ \underline{g_t}(r,s) &= \underline{X}_{,t} = \cfrac{1}{2} h \underline{v} \end{alignedat} \end{cases} \tag{6}

Remarks:

  • gr \underline{g_r} and gs \underline{g_s} depend on r r , s s and t t while gt \underline{g_t} depends only on r r and s s ,

  • if the element has the same director vectors and thickness at the nodes, then hv h \underline{v} is constant, and now gr \underline{g_r} and gs \underline{g_s} depend only on r r and s s ,

In a sense, the covariant basis “follows” the geometry of the element. Therefore, it is used to compute specific strains inside the element.

Covariant basis

Contravariant basis

We will also use the contravariant basis associated with the previous covariant one. It is defined as follow:

(7){gr(r,s,t)=gs×gtgr(gs×gt)gs(r,s,t)=gt×grgr(gs×gt)gt(r,s,t)=gr×gsgr(gs×gt) \begin{cases} \begin{alignedat}{1} \underline{g^r}(r,s,t) &= \cfrac {\underline{g_s} \times \underline{g_t}} {\underline{g_r} \cdot (\underline{g_s} \times \underline{g_t})} \\ \underline{g^s}(r,s,t) &= \cfrac {\underline{g_t} \times \underline{g_r}} {\underline{g_r} \cdot (\underline{g_s} \times \underline{g_t})} \\ \underline{g^t}(r,s,t) &= \cfrac {\underline{g_r} \times \underline{g_s}} {\underline{g_r} \cdot (\underline{g_s} \times \underline{g_t})} \end{alignedat} \end{cases} \tag{7}

This basis is used conjointly with the covariant basis to manipulate the strain tensor. In fact, it has the following properties: gigj=0 \underline{g^i} \cdot \underline{g_j} = 0 i,j i≠j \forall i,j \ i = \not j and gigi=1 \underline{g^i} \cdot \underline{g_i} = 1

Local basis and local Cartesian coordinate system

From the covariant basis, we also define a Cartesian local basis (e1,e2,e3 \underline{e_1}, \underline{e_2}, \underline{e_3} ) as follow:

(8){e3(r,s)=gtgte1(r,s,t)=gs×e3gs×e3e2(r,s,t)=e3×e1 \begin{cases} \begin{alignedat}{1} \underline{e_3}(r,s) &= \cfrac {\underline{g_t}} {\| \underline{g_t} \|} \\ \underline{e_1}(r,s,t) &= \cfrac {\underline{g_s} \times \underline{e_3}} {\| \underline{g_s} \times \underline{e_3} \|} \\ \underline{e_2}(r,s,t) &= \underline{e_3} \times \underline{e_1} \end{alignedat} \end{cases} \tag{8}

And from this local basis, we define the local Cartesian coordinate system (x x , y y , z z ). We note that e3 \underline{e_3} is not perpendicular to the shell mid-surface but is aligned with v \underline{v} .

The local basis is used to express the stress strain relation for the shell. The stress assumption given in (1) applies in this basis. While the local Cartesian coordinate system is used to integrate the virtual work over the element volume.

Note that when v \underline{v} is not perpendicular to the mid-surface, the plane described by e1 \underline{e_1} and e2 \underline{e_2} is not on the mid-surface.

Local basis

MITC4 shell element derivation

The biggest challenge regarding shell element design is to avoid shear and membrane locking, namely the tendency of the element to represent too rigidly shear and membrane motions. Multiple techniques have been employed to alleviate this issue, each having its pros and cons. Regarding the MITC, this issue is tackled without adding extra degree of freedom or instability to the element. Which makes it an efficient and conceptually simple shell element.

In fact, it relies on assuming specific transverse shear and membrane strains interpolation inside the element from strain values at tying points. And these points are specifically chosen to avoid locking. The fundamental assumption underlying the MITC element is the use of the covariant strain components to perform this interpolation. Roughly speaking, covariant strain components at the tying points are manipulated and inserted as covariant strain components at any point (for instance Gauss points). Hence the covariant / contravariant basis act as a hub connecting the strains from multiple points.

Strain interpolation

Applying the classical finite element method we can derive the shell element stiffness matrix.

Strain tensor

The strain tensor can be expressed in whatever basis we choose. To go on with the MITC procedure, we need to express the strains in the contravariant basis to get the covariant strain components. Then the tying procedure is applied on some of these terms to improve the element behavior.

Covariant strain tensor components

From definition, the covariant strains components are given by:

ε=εij~gigji,j=r,s,t \underline{\underline{\varepsilon}} = \widetilde{\varepsilon_{ij}} \underline{g^i} \otimes \underline{g^j} \qquad \forall i, j = r, s, t

And it can be shown that:

εij~=12(u,igj+u,jgi) \widetilde{\varepsilon_{ij}} = \cfrac{1}{2} (\underline{u}_{,i} \cdot \underline{g_j} + \underline{u}_{,j} \cdot \underline{g_i})

Using (4) we can simplify further this expression:

(9){εrr~=u0,rgr+t2(hϕ),rgrεss~=u0,sgs+t2(hϕ),sgsεtt~=12hϕgt=0εrs~=12(u0,rgs+u0,sgr)+t4((hϕ),rgs+(hϕ),sgr)εst~=12(u0,sgt)+14(hϕgs)+t4((hϕ),sgt)εrt~=12(u0,rgt)+14(hϕgr)+t4((hϕ),rgt) \begin{cases} \begin{alignedat}{1} \widetilde{\varepsilon_{rr}} &= \underline{u_0}_{,r} \cdot \underline{g_r} + \cfrac{t}{2} (h \underline{\phi})_{,r} \cdot \underline{g_r} \\ \widetilde{\varepsilon_{ss}} &= \underline{u_0}_{,s} \cdot \underline{g_s} + \cfrac{t}{2} (h \underline{\phi})_{,s} \cdot \underline{g_s} \\ \widetilde{\varepsilon_{tt}} &= \cfrac{1}{2} h \underline{\phi} \cdot \underline{g_t} = 0 \\ \widetilde{\varepsilon_{rs}} &= \cfrac{1}{2} (\underline{u_0}_{,r} \cdot \underline{g_s} + \underline{u_0}_{,s} \cdot \underline{g_r}) + \cfrac{t}{4} \big ((h \underline{\phi})_{,r} \cdot \underline{g_s} + (h \underline{\phi})_{,s} \cdot \underline{g_r} \big) \\ \widetilde{\varepsilon_{st}} &= \cfrac{1}{2} (\underline{u_0}_{,s} \cdot \underline{g_t}) + \cfrac{1}{4} (h \underline{\phi} \cdot \underline{g_s}) + \cfrac{t}{4} \big ((h \underline{\phi})_{,s} \cdot \underline{g_t} \big) \\ \widetilde{\varepsilon_{rt}} &= \cfrac{1}{2} (\underline{u_0}_{,r} \cdot \underline{g_t}) + \cfrac{1}{4} (h \underline{\phi} \cdot \underline{g_r}) + \cfrac{t}{4} \big ((h \underline{\phi})_{,r} \cdot \underline{g_t} \big) \end{alignedat} \end{cases} \tag{9}

Where the displacement and rotation vectors (through ϕ \underline{\phi} ) appear more clearly. We note that εtt~=0 \widetilde{\varepsilon_{tt}} = 0 because by definition ϕ \underline{\phi} is perpendicular to gt \underline{g_t} . The relations given here are valid for an arbitrary point inside the element. Next step is about modifying these terms from their values at the tying points.

Covariant transverse shear tying procedure

The procedure detailed here can be found in details in [1]. We are interested in reworking the terms εst~\widetilde{\varepsilon_{st}} and εrt~\widetilde{\varepsilon_{rt}} that are responsible for transverse shear locking. The idea is to compute the term εst~\widetilde{\varepsilon_{st}} at the tying points C and D, and the term εrt~\widetilde{\varepsilon_{rt}} at the tying points A and B (see picture below). Such that we have, εrtA~ \widetilde{\varepsilon^A_{rt}} , εrtB~ \widetilde{\varepsilon^B_{rt}} , εstC~ \widetilde{\varepsilon^C_{st}} and εstD~ \widetilde{\varepsilon^D_{st}} .

Transverse shear tying points

Note that these tying points are located on the mid-surface. Eventually, elsewhere in the element, εrt~\widetilde{\varepsilon_{rt}} and εst~\widetilde{\varepsilon_{st}} are interpolated from the values at the tying points. Hence, for an arbitrary point located at (r,s) (r, s) we have:

{εrt~=12(1+s)εrtA~+12(1s)εrtB~εst~=12(1+r)εstC~+12(1r)εstD~ \begin{cases} \begin{alignedat}{1} \widetilde{\varepsilon_{rt}} = \cfrac{1}{2} (1+s) \widetilde{\varepsilon^A_{rt}} + \cfrac{1}{2} (1-s) \widetilde{\varepsilon^B_{rt}} \\ \widetilde{\varepsilon_{st}} = \cfrac{1}{2} (1+r) \widetilde{\varepsilon^C_{st}} + \cfrac{1}{2} (1-r) \widetilde{\varepsilon^D_{st}} \end{alignedat} \end{cases}

Covariant membrane strain tying procedure

The full procedure can be found in [2] and [3]. It is more involved than the transverse shear procedure but quite similar. The idea is to rework the terms εrr~\widetilde{\varepsilon_{rr}} , εss~\widetilde{\varepsilon_{ss}} and εrs~\widetilde{\varepsilon_{rs}} such that membrane locking is suppressed by using specific tying points inside the element. As for the shear terms, it yields new relations for the terms εrr~\widetilde{\varepsilon_{rr}} , εss~\widetilde{\varepsilon_{ss}} and εrs~\widetilde{\varepsilon_{rs}} that linearly depend on strains at the tying points.

Summary

Once the tying procedure is completed, we can rewrite (9) using the covariant strains at the tying points. We then insert the displacement and rotation vectors interpolated from the nodes values (5). This yield the full expression of the covariant strain components that linearly depend on the degrees of freedom at the nodes.

The last step is then to project the covariant strain components into the local basis (8). Expressing the strain tensor in the contravariant basis on one hand and in the local basis on the other hand we have:

ε=εij~gigj=εklekeli,j=r,s,tandk,l=1,2,3 \underline{\underline{\varepsilon}} = \widetilde{\varepsilon_{ij}} \underline{g^i} \otimes \underline{g^j} = \varepsilon_{kl} \underline{e_k} \otimes \underline{e_l} \qquad i, j = r, s, t \quad and \quad k, l = 1, 2, 3

Which relates the covariant strain components to the local strain components:

εkl=εij~(giek)(gjel) \varepsilon_{kl} = \widetilde{\varepsilon_{ij}} (\underline{g^i} \cdot \underline{e_k}) (\underline{g^j} \cdot \underline{e_l})

Using the fact that εtt~=0 \widetilde{\varepsilon_{tt}} = 0 and that e3 \underline{e_3} is collinear to gt \underline{g_t} (hence e3gr=e3gs=0 \underline{e_3} \cdot \underline{g^r} = \underline{e_3} \cdot \underline{g^s} = 0 ) we can write the local strains in matrix representation (using engineering strains):

(10)[ε]=[ε11ε22ε332ε122ε232ε13]=[ε11ε2202ε122ε232ε13] \lbrack \varepsilon \rbrack = \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\ 2 \varepsilon_{12} \\ 2 \varepsilon_{23} \\ 2 \varepsilon_{13} \end{bmatrix} = \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ 0 \\ 2 \varepsilon_{12} \\ 2 \varepsilon_{23} \\ 2 \varepsilon_{13} \end{bmatrix} \tag{10}

Stress tensor

To relate the stresses to the strains we need to apply Hooke’s law for linear elastic material.

[ε11ε22ε332ε122ε232ε13]=1E[1νν000ν1ν000νν10000002+2ν0000002+2ν0000002+2ν][σ11σ22σ33σ12σ23σ13] \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{33} \\ 2 \varepsilon_{12} \\ 2 \varepsilon_{23} \\ 2 \varepsilon_{13} \end{bmatrix} = \frac{1}{E} \begin{bmatrix} 1 && -\nu && -\nu && 0 && 0 && 0 \\ -\nu && 1 && -\nu && 0 && 0 && 0 \\ -\nu && -\nu && 1 && 0 && 0 && 0 \\ 0 && 0 && 0 && 2+2\nu && 0 && 0 \\ 0 && 0 && 0 && 0 && 2+2\nu && 0 \\ 0 && 0 && 0 && 0 && 0 && 2+2\nu \end{bmatrix} \begin{bmatrix} \sigma_{11} \\ \sigma_{22} \\ \sigma_{33} \\ \sigma_{12} \\ \sigma_{23} \\ \sigma_{13} \end{bmatrix} \\

Note that this material law is applied on strains and stresses expressed in the local basis (where e3 \underline{e_3} is not necessarily perpendicular to the mid-surface). Using assumption (1) on the right hand side, as well as the result we got in (10) on the left hand side, leads to a peculiar relation:

[ε11ε220ε12ε23ε13]kinematic assumption=1E[σ11νσ22σ22νσ11νσ11νσ22(2+2ν)σ12(2+2ν)σ23(2+2ν)σ13]stress assumption \underbrace{ \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ 0 \\ \varepsilon_{12} \\ \varepsilon_{23} \\ \varepsilon_{13} \\ \end{bmatrix} }_{\text{kinematic assumption}} = \underbrace{ \frac{1}{E} \begin{bmatrix} \sigma_{11} - \nu \sigma_{22} \\ \sigma_{22} - \nu \sigma_{11} \\ -\nu\sigma_{11} - \nu\sigma_{22} \\ (2+2\nu)\sigma_{12} \\ (2+2\nu)\sigma_{23} \\ (2+2\nu)\sigma_{13} \end{bmatrix} }_{\text{stress assumption}}

As for the truss element and beam element, this relation cannot hold. However using a similar explanation, we can find a way out. When making the kinematic assumption we were interested in the macroscopic behavior of the shell. Whereas the stress assumption relates more to a microscopic behavior. It turns out that even if ε33 \varepsilon_{33} is not 0 (microscopic scale) its effect on the displacement (macroscopic scale) is negligible compared to what comes from the other terms. Of course, this explanation becomes questionable as the thickness of the shell increases.

We can therefore simplify this relation and write:

[ε11ε220ε12ε23ε13]=1E[σ11νσ22σ22νσ110(2+2ν)σ12(2+2ν)σ23(2+2ν)σ13] \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ 0 \\ \varepsilon_{12} \\ \varepsilon_{23} \\ \varepsilon_{13} \end{bmatrix} = \frac{1}{E} \begin{bmatrix} \sigma_{11} - \nu \sigma_{22} \\ \sigma_{22} - \nu \sigma_{11} \\ 0 \\ (2+2\nu)\sigma_{12} \\ (2+2\nu)\sigma_{23} \\ (2+2\nu)\sigma_{13} \end{bmatrix}

An finally we invert it and omit ε33 \varepsilon_{33} and σ33 \sigma_{33} to get the stresses from the strains:

[σ11σ22σ12σ23σ13]=[E1ν2νE1ν2000νE1ν2E1ν200000E2(1+ν)00000kE2(1+ν)00000kE2(1+ν)][D][ε11ε22ε12ε23ε13] \begin{bmatrix} \sigma_{11} \\ \sigma_{22} \\ \sigma_{12} \\ \sigma_{23} \\ \sigma_{13} \end{bmatrix} = \underbrace{\begin{bmatrix} \cfrac{E}{1-\nu^2} && \cfrac{\nu E}{1-\nu^2} && 0 && 0 && 0 \\ \cfrac{\nu E}{1-\nu^2} && \cfrac{E}{1-\nu^2} && 0 && 0 && 0 \\ 0 && 0 && \cfrac{E}{2(1+\nu)} && 0 && 0 \\ 0 && 0 && 0 && \cfrac{k E}{2(1+\nu)} && 0 \\ 0 && 0 && 0 && 0 && \cfrac{k E}{2(1+\nu)} \\ \end{bmatrix}}_{\lbrack D \rbrack} \begin{bmatrix} \varepsilon_{11} \\ \varepsilon_{22} \\ \varepsilon_{12} \\ \varepsilon_{23} \\ \varepsilon_{13} \end{bmatrix}

Where the classical transverse shear correction factor k=56 k = \cfrac{5}{6} was introduced.

MITC4 shell element stiffness matrix

The element stiffness matrix is obtained through the expression of the virtual work. Denoting the virtual strains as [ε] \lbrack \overline{\varepsilon} \rbrack we have for the virtual work over the element volume:

(11)W=V[ε]T[σ]dV \overline{W} = \iiint_V \lbrack \overline{\varepsilon} \rbrack^T \lbrack \sigma \rbrack dV \tag{11}

Where dV=dxdydz dV = dxdydz refers to the volume element in the local Cartesian coordinate system. However, the formula previously derived for the strains depends on the parametric coordinate system (r,s,t) (r, s, t) . We can relate this volume element to the parametric coordinates using the determinant of the Jacobian matrix:

dV=det([J])drdsdt dV = |det(\lbrack J \rbrack)| drdsdt

It can be shown that the Jacobian matrix is directly given by the covariant vectors components expressed in the local basis:

[J]=[[gr],[gs],[gt]] \lbrack J \rbrack = \big \lbrack \lbrack g_r \rbrack , \lbrack g_s \rbrack , \lbrack g_t \rbrack \big \rbrack

Where [gi] \lbrack g_i \rbrack represents the components of the vector gi \underline{g_i} in the local basis.

Besides, it can be shown that as long as the [gi] \lbrack g_i \rbrack are components of vectors in an orthonormal basis, we have:

det([J])=gt(gr×gs) det(\lbrack J \rbrack) = \underline{g_t} \cdot (\underline{g_r} \times \underline{g_s})

Hence after expanding (11) we get the following expression:

W=V[ε]T[D][ε]gt(gr×gs)drdsdt \overline{W} = \iiint_V \lbrack \overline{\varepsilon} \rbrack^T \lbrack D \rbrack \lbrack \varepsilon \rbrack |\underline{g_t} \cdot (\underline{g_r} \times \underline{g_s})| drdsdt

Unlike classical shell or plate element, we cannot in general “pre-integrate” along t t this volume integral because the dependence on t t is arbitrary. We simply apply a numerical integration over r r , s s and t t . The 2 x 2 x 2 Gauss rule is enough to integrate exactly along r r and s s , and has proven to be accurate enough to integrate along t t for most applications (even though we cannot ensure an exact integration).

Remark: In the specific case where hv h \underline{v} is constant over the element, we have seen that gr \underline{g_r} and gs \underline{g_s} no longer depend on t t . This makes it possible to integrate exactly along t t without requiring numerical integration.

Eventually, using (10), we can relate each of the terms obtained to the nodes displacements and rotations and recognize the expression of the stiffness matrix.

Example of a simple structure using shell elements

As an example, the following hyperboloid-like model is set up and simulated with the SesamX finite element software.

Hyperboloid mesh Hyperboloid loading
Mesh
Loading and boundary conditions

The mesh is voluntarily distorted and curved (the quads are not planar). This mesh can be qualified as a bad mesh, however it is useful to showcase the robustness of the MITC4 shell element.

A linear elastic material is applied with E=200GPa E = 200 GPa and ν=0.33 \nu = 0.33 and a thickness of 80mm 80 mm is applied on all the elements. The circle at Z=0 Z = 0 is clamped while a uniformly distributed load along X X is applied at the top circle of the hyperboloid.

This case is then solved with a linear static resolution.

And the following figure illustrates the displacement of the model.

Hyperboloid displacement

To reproduce this simulation on your own, you need:

If you are looking to extend this example, you can get help from the SesamX documentation.

Conclusion

I hope this article has provided you a better understanding of the shell finite element. If you are looking for more information, do not hesitate to send me and email.


Did you like this content?

Register to our newsletter and get notified of new articles