1 Introduction

The conventional finite element method (FEM) employs polynomial basis functions to represent the geometry and the unknown fields. The commonly employed approximation functions are Lagrangian polynomials. However, these Lagrange polynomials are usually built upon a mesh structure which needs to be generated, from a CAD (computer-aided design) model provided for the domain of interest. This mesh generation leads to the loss of certain geometrical features: e.g. a circle becomes a polyhedral domain. Moreover, Lagrange polynomials lead to low order continuity between neighboring elements, which is inadequate in applications described by high order partial differential equations.

The introduction of isogeometric analysis (IGA) [1] provides a general theoretical framework for the concept of “design-through-analysis” which has attracted considerable attention. The key idea of IGA consists in a direct link between CAD and the simulation, by utilizing the same functions to approximate the unknown field variables as those used to describe the geometry of the domain under consideration, similar to the idea proposed in [2]. Moreover, it also provides a systematic construction of high-order basis functions [3]. Note that, more recently, a generalization of the isogeometric concept was proposed, whereby the geometry continues to be described by NURBS functions as in the CAD, but the unknown field variables are allowed to live in different (spline) spaces. This leads to the concept of sub- and super-geometric analysis, also known as Geometry Independent Field approximaTion (GIFT), described within a boundary element framework in [4] and proposed in [5, 6] and later refined in [7]. Related ideas, aiming at the construction of tailored spline spaces for local refinement were proposed recently in [8].

In the literature, the IGA has been applied to study the response of plate and shell structures, involving two main theories, viz., the Kirchhoff–Love theory and the Reissner–Mindlin theory. Thanks to the \(\mathcal {C}^1\)-continuity of the adopted NURBS basis functions, Kiendl et al. [9] developed an isogeometric shell element based on Kirchhoff–Love shell theory. The isogeometric Kirchhoff–Love shell element for large deformations was presented in [10]. The isogeometric Reissner–Mindlin shell element was implemented in [11], including linear elastic and nonlinear elasto-plastic constitutive behavior. The blended shell formulation was proposed to glue a Kirchhoff–Love shell with a Reissner–Mindlin shell in [12]. In addition, the isogeometric Reissner–Mindlin shell formulation derived from the continuum theory was presented in [13], in which the exact director vectors were used to improve accuracy. The solid shell element was developed in [14], in this formulation the NURBS basis functions were used to construct the mid-surface and a linear Lagrange basis function was used to interpolate the thickness field.

The Kirchhoff–Love type formulation is rotation-free, but it is only valid for thin structures. Moreover due to the absence of rotational degrees of freedom (DoFs), special techniques are required to deal with the rotational boundary conditions [9, 15, 16] and multi-patch connection [17]. Theoretically, the Reissner–Mindlin theory is valid for both thick and thin shell structures. However it is observed from the literature [11, 18] that, when the shell kinematics is represented by Reissner–Mindlin theory, both FEM and IGA approaches suffer from locking for thin structures, especially for low order elements with coarse meshes. This has been attracting engineers and mathematicians to develop robust elements that could alleviate this pathology. Adam et.al. proposed a family of concise and effective selective reduced integration (SRI [19]) rules within the IGA framework for beams [20], plates/shells [21], and non-linear shells using T-splines [22]. Elguedj et al. [23] presented \(\bar{B}\) method and \(\bar{F}\) method to handle nearly incompressible linear and non-linear problems. The \(\bar{B}\) method has been successfully applied to shear locking problems in curved beams [24], 2D solid shells [25], 3D solid shells [26] and later in nonlinear solid shell formulation [27]. Echter and Bischoff  [18, 28] proposed the discrete shear gap (DSG) method [29] to alleviate the shear locking phenomena effectively. Other approaches include twist Kirchhoff theory [30], virtual element method [31], collocation method [32, 33], simple first order shear deformation theory [34], and single variable method [35, 36]. The above approaches have been employed with Lagrangian elements or IGA framework with varying orders of success.

The approaches proposed by Bouclier, Elguedj and Combescure [25,26,27] focus on solid-shells in IGA and achieve good un-locking performance with the \(\bar{B}\) method, thus it is promising to implement and test this method for degenerated Reissner–Mindlin shell elements in the context of IGA. This paper is the extension of our previous paper [37] on Timoshenko beams. In this research, in order to alleviate the locking phenomena, the locking strains are projected onto bi-dimensional low-order physical space by the least square method. The novel idea behind the formulation is to use multiple sets of basis functions to project the locking strains locally i.e. element-wise, instead of projecting globally i.e. all over the patch, thereby reducing the computational effort significantly. More importantly, the local projection allows one to use different orders of projecting basis functions, which could further improve the un-locking performance.

The outline of this paper is as follows: Sect. 2 gives an overview of the degenerated Reissner–Mindlin shell formulation. In Sect. 3, we present the novel approach, the local \(\bar{B}\) method to alleviate the locking (both shear and membrane) problems encountered in thin structures whilst employing Reissner–Mindlin formulation. The accuracy, robustness and the convergence properties are demonstrated by some benchmark examples in Sect. 4, followed by concluding remarks in the last Sect. 5. Some implementation details are provided in the “Appendix”.

2 Isogeometric formulation of Reissner–Mindlin shells

2.1 Reissner–Mindlin shell model

Figure 1 represents the mid-surface of a shell structure in the parametric and physical spaces. For simplicity, we consider a shell of constant thickness h, and assume the linear elastic material to be homogeneous and isotropic, which is governed by Young’s modulus E and Poisson’s ratio \(\nu \).

Fig. 1
figure 1

Mid-surface (blue) in the parameter space (left) and physical space (right) for a shell model. The 3D model is recovered by Eq. (1). (Color figure online)

The main differences between the Reissner–Mindlin shell theory and the Kirchhoff–Love shell theory lie in the assumptions on the deformation behavior of the section and further in the resulting independent kinematic quantities attached to the mid-surface. According to the Reissner–Mindlin theory, along the thickness direction a first order kinematic description is adopted for the transverse shear deformation. Assuming a Cartesian coordinate system, an arbitrary point P belongs to the 3D shell structure can be found by

$$\begin{aligned} \varvec{x}_P(\xi ,\eta ,\zeta )=\varvec{x}(\xi ,\eta )+\zeta \frac{h}{2} \varvec{n}(\xi ,\eta ), \end{aligned}$$
(1)

where \(\varvec{x}\) stands for the shell mid-surface, modeled by a function of (\(\xi , \eta \)), as shown in Fig. 1. Let parameter \(\zeta \in [-1,1]\) denotes the shell thickness. On mid-surface \(\varvec{x}\), the normal vector is calculated by

$$\begin{aligned} \varvec{n} = \frac{\varvec{x}_{,\xi }\times \varvec{x}_{,\eta }}{||\varvec{x}_{,\xi }\times \varvec{x}_{,\eta }||_2}, \end{aligned}$$
(2)

and we denote

$$\begin{aligned} \varvec{t}_1 := \frac{\varvec{x}_{,\xi }}{||\varvec{x}_{,\xi }||_2},\; \varvec{t}_2 := \varvec{n} \times \varvec{t}_1. \end{aligned}$$
(3)

Note that \((\varvec{t}_1,\varvec{t}_2,\varvec{n})\) form a local frame on the mid-surface, and the components of these vectors are indicated by subscript xyz respectively.

Assuming small deformations, the displacement of the point P is recovered by

$$\begin{aligned} \varvec{u}_P(\xi ,\eta ,\zeta )=\varvec{u}(\xi ,\eta )+\zeta \frac{h}{2} \varvec{\theta }(\xi ,\eta ) \times \varvec{n}(\xi ,\eta ), \end{aligned}$$
(4)

in which \(\varvec{u}\) and \(\varvec{\theta }\) are the displacement vector and the rotation vector at the mid-surface point projected from P. Then we have the linearized strain tensor

$$\begin{aligned} \pmb {\varepsilon }=\frac{1}{2}(\varvec{u}_{P,\varvec{x}}+\varvec{u}_{P,\varvec{x}}^\mathrm{T}). \end{aligned}$$
(5)

2.2 Isogeometric approach

Following the degenerated type formulation, we start our simulation from the mid-surface geometry of a Reissner–Mindlin shell. In order to describe the shell mid-surface, bi-variate NURBS basis functions are employed. Let \(\varXi =\{\xi _1,\ldots ,\xi _{n+p+1}\}\) and \(H=\{\eta _1,\ldots ,\eta _{m+q+1}\}\) be open knot vectors, and \(w_A\) be given weights, where p and q are the orders along the directions \(\xi \) and \(\eta \) respectively. Denoting \(A=\{1,\ldots ,nm\}\), we construct the NURBS basis functions \(R_A(\xi ,\eta )\). For more details about IGA, interested readers are referred to [40] and references therein.

The geometry of the undeformed mid-surface is described by

$$\begin{aligned} \varvec{x}(\xi ,\eta )=\sum _{A=1}^{nm}R_A(\xi ,\eta ) \varvec{x}_A, \end{aligned}$$
(6)

where \(\varvec{x}_A\) define the locations of control points. The discrete displacement field on the mid-surface is interpolated as

$$\begin{aligned} \left\{ \begin{aligned} \varvec{u}(\xi ,\eta ) \\ \varvec{\theta }(\xi ,\eta ) \end{aligned}\right. = \sum _{A=1}^{nm}R_A(\xi ,\eta ) \left\{ \begin{aligned} \varvec{u}_A \\ \varvec{\theta }_A \end{aligned}\right. , \end{aligned}$$
(7)

specifically \(\varvec{u}_A=(u,v,w)^\mathrm{T}\) and \(\varvec{\theta }_A=(\theta _x,\theta _y,\theta _z)^\mathrm{T}\). Once the mid-surface is modeled according to Eq. (6) and (7), an arbitrary point P in the shell body can be traced by the following discrete forms

$$\begin{aligned} \varvec{x}_P(\xi ,\eta ,\zeta )=\sum _{A=1}^{nm}R_A(\xi ,\eta )\varvec{x}_A+\zeta \frac{h}{2} \varvec{n}(\xi ,\eta ), \end{aligned}$$
(8)

and

$$\begin{aligned} \varvec{u}_P(\xi ,\eta ,\zeta )=\sum _{A=1}^{nm}R_A(\xi ,\eta )\varvec{u}_A+\zeta \frac{h}{2} \sum _{A=1}^{nm}R_A(\xi ,\eta ) \varvec{\theta }_A \times \varvec{n}(\xi ,\eta ). \end{aligned}$$
(9)

Regarding the exact normal vector field \(\varvec{n}\), we construct an approximated field by collocated points, explained in “Appendix A”.

Upon employing the Galerkin framework and using the following discrete spaces for the displacement field

$$\begin{aligned} S&=\left\{ \varvec{u}\in \left[ H^1(\varOmega )\right] ^d,\varvec{u}|_{\varGamma _u}=\varvec{u}^d\right\} , \end{aligned}$$
(10)
$$\begin{aligned} V&=\left\{ \varvec{v}\in \left[ H^1(\varOmega )\right] ^d,\varvec{v}|_{\varGamma _u}=0\right\} , \end{aligned}$$
(11)

the variational equation reads: find \(\varvec{u} \in S\) such that

$$\begin{aligned} b(\varvec{u},\varvec{u}^*)=l(\varvec{u}^*) \quad \forall \varvec{u}^* \in v, \end{aligned}$$
(12)

in which the bi-linear term is

$$\begin{aligned} b(\varvec{u},\varvec{u}^*)=\int _{\varOmega }\pmb {\varepsilon }(\varvec{u}^*)^\mathrm{T}\varvec{D}_g \pmb {\varepsilon }(\varvec{u}) \,\mathrm{d} \varOmega , \end{aligned}$$
(13)

with \(\varvec{D}_g\) denoting the global constitutive matrix. More details are provided in “Appendix B”.

When the displacements and the rotations are approximated by polynomials of the same order, the discretized framework experiences locking (shear and membrane) when the shell thickness becomes very small. The numerical procedure fails to satisfy the Kirchhoff limit as the shear strain does not vanish with the thickness approaching zero. One popular explanation of shear locking is that variables involved are not compatible [35], which is also known as field inconsistency. In the next section, we introduce the \(\bar{B}\) method, trying to address the locking syndrome from the above point of view.

3 B-bar method for Reissner–Mindlin shells

In this section, we firstly illustrate the main idea behind the \(\bar{B}\) method. After introducing the classical \(\bar{B}\) method, in order to reduce the computational cost of the formulation, a local form of the \(\bar{B}\) formulation is proposed, followed by a novel projecting scheme.

3.1 The idea behind the B-bar method

Assuming an unit length Timoshenko beam, which is discreted by one element with 2 nodes. The element length parameter \(x\in [0,1]\). By the help of shape functions

$$\begin{aligned} N_1 = 1-x, \quad N_2=x, \end{aligned}$$
(14)

the deflection field w and the rotation field \(\theta \) are constructed as

$$\begin{aligned} w = N_1w_1+N_2w_2, \quad \theta =N_1\theta _1+N_2\theta _2, \end{aligned}$$
(15)

in which \(w_i\) and \(\theta _i\) are nodal variables, \(i=1,2\).

For thin beams, the Timoshenko beam theory tends to degenerate into the Euler beam theory, and the shear strain (in Timoshenko beam theory) tends to vanish:

$$\begin{aligned} \gamma = \frac{\mathrm{d} w}{\mathrm{d} x} - \theta = 0, \end{aligned}$$
(16)

and in discrete form denoted by its superscript h:

$$\begin{aligned} \gamma ^h = (-w_1+w_2) - \big [ (1-x)\theta _1 + x\theta _2 \big ] =0. \end{aligned}$$
(17)

The field inconsistency phenomenon occurs in the above equation, that is the order (wrt. x) of \(\theta _i\) is higher than the order of \(w_i\), which makes the shear strain difficult to vanish.

The \(\bar{B}\) method modifies the field to be order-consistency. Firstly we build a pseudo shear strain as

$$\begin{aligned} \bar{\gamma }^h = \sum _{\bar{A}} \bar{N}_{\bar{A}} \bar{\gamma }^{\bar{A}^h}, \end{aligned}$$
(18)

where \(\bar{\gamma }^{\bar{A}^h}\) is the corresponding pseudo DoF. Since the order of the initial shape functions \(N_i\) is one, we define our one order lower shape function(s) as \(\bar{N}_{\bar{A}}=1\) with \(\bar{A}=1\). Next we perform a least square (\(L_2\)) projection and obtain a system of linear equation(s):

$$\begin{aligned} \int _0^1 \bar{N}_1 \left( \bar{\gamma }^h - \gamma ^h \right) \, \mathrm{d} x = 0, \end{aligned}$$
(19)

specifically

$$\begin{aligned}&\int _0^1 \bar{N}_1 \bar{N}_1 \, \mathrm{d} x \cdot \bar{\gamma }^{1^h} \nonumber \\&\quad - \int _0^1 \bar{N}_1 \left[ (-w_1+w_2) - \big ( (1-x)\theta _1 + x\theta _2 \big ) \right] \, \mathrm{d} x =0,\nonumber \\ \end{aligned}$$
(20)

and then

$$\begin{aligned} \bar{\gamma }^{1^h}+w_1-w_2+\frac{1}{2}\theta _1+\frac{1}{2}\theta _2 = 0. \end{aligned}$$
(21)

Solve the above equation for \(\bar{\gamma }^{1^h}\)

$$\begin{aligned} \bar{\gamma }^{1^h} = -w_1+w_2-\frac{1}{2}\theta _1-\frac{1}{2}\theta _2, \end{aligned}$$
(22)

thus the pseudo shear strain we previously built becomes

$$\begin{aligned} \bar{\gamma }^h = \bar{N}_1 \bar{\gamma }^{1^h} = (-w_1+w_2)-\left( \frac{1}{2}\theta _1+\frac{1}{2}\theta _2\right) . \end{aligned}$$
(23)

Compare the pseudo shear strain in Eq. (23) with the original one in Eq. (17), it is noticed that the shape functions for \(w_i\) remain unchanged, but the order of shape functions for \(\theta _i\) is reduced to be the same as \(w_i\). The pseudo shear strain is order consistency, it is believed that this strain could achieve good un-locking performance.

From the strain matrix perspective, the \(\bar{B}\) method modifies the original strain matrix

$$\begin{aligned} \varvec{B}= \left[ \begin{array}{llll} \frac{\mathrm{d}N_{1}}{\mathrm{d}x}&\frac{\mathrm{d}N_{2}}{\mathrm{d}x}&-N_1&-N_2 \end{array}\right] \end{aligned}$$
(24)

into

$$\begin{aligned} \bar{\varvec{B}}= \bar{N}_1 \left( \int _0^1 \bar{N}_1 \bar{N}_1 \, \mathrm{d} x \right) ^{-1} \int _0^1 \bar{N}_1 \left[ \begin{array}{llll} \frac{\mathrm{d}N_{1}}{\mathrm{d}x}&\frac{\mathrm{d}N_{2}}{\mathrm{d}x}&-N_1&-N_2 \end{array}\right] \mathrm{d} x, \end{aligned}$$
(25)

which explains the name of this method.

3.2 Classical B-bar method in IGA

The novel idea behind the \(\bar{B}\) method [23, 24] is to use a projected strain instead of the original one to formulate the bi-linear term

$$\begin{aligned} \bar{b}(\varvec{u},\varvec{u}^*)=\int _{\varOmega }\bar{\pmb {\varepsilon }}^{* \mathrm T} \varvec{D}_g \bar{\pmb {\varepsilon }}\mathrm{d} \varOmega . \end{aligned}$$
(26)

The projected strain \(\bar{\pmb {\varepsilon }}\) and the original strain \(\pmb {\varepsilon }\) are equivalent in the sense of the \(L_2\) projection. Denoting the approximation space for displacement field by \(Q_{p,q}\), a common way is using the projection space of one order lower, i.e. \(Q_{\bar{p},\bar{q}}=Q_{p-1,q-1}\) (see Fig. 2a). Lower order B-spline basis functions \(\bar{N}_{\bar{A}}\) are built from lower order knot vectors, with all the weights given as \(w_{\bar{A}}=1,\bar{A}=\left\{ 1,\ldots ,\bar{n}\bar{m}\right\} \). The \(L_2\) projection process is performed on the physical domain as

$$\begin{aligned}&\int _{\varOmega }\bar{N}_{\bar{B}}\left( \pmb {\varepsilon }^h-\bar{\pmb {\varepsilon }}^h \right) \mathrm{d}\varOmega =0, \nonumber \\&\bar{B}=1,\ldots ,\bar{n}\bar{m}, \end{aligned}$$
(27)

in which the discretized form of the projected strain is

$$\begin{aligned} \bar{\pmb {\varepsilon }}^h=\sum _{\bar{A}=1}^{\bar{n}\bar{m}}\bar{N}_{\bar{A}}\bar{\varepsilon }^{\bar{A}^h}, \end{aligned}$$
(28)

where \(\bar{\varepsilon }^{\bar{A}^h}\) means the projection of \(\pmb {\varepsilon }^h\) onto \(\bar{N}_{\bar{A}}\). Finally, we have

$$\begin{aligned} \bar{\pmb {\varepsilon }}^h=\sum _{\bar{A},\bar{B}=1}^{\bar{n}\bar{m}}\bar{N}_{\bar{A}}\varvec{M}_{\bar{A}\bar{B}}^{-1}\int _{\varOmega } \bar{N}_{\bar{B}} \pmb {\varepsilon }^h \mathrm{d}\varOmega , \end{aligned}$$
(29)

in which \(\varvec{M}_{\bar{A}\bar{B}}\) is the inner product matrix

$$\begin{aligned} \varvec{M}_{\bar{A}\bar{B}} =\int _{\varOmega }\bar{N}_{\bar{A}}\bar{N}_{\bar{B}}\mathrm{d}\varOmega :=(\bar{N}_{\bar{A}},\bar{N}_{\bar{B}})_{\varOmega }. \end{aligned}$$
(30)

The Gram matrix \(\varvec{M}\) is inverseable since the involved bases are obviously linear-independent. In addition, the Hu-Washizu principle could be utilized to prove the variational consistency of the \(\bar{B}\) method [23,24,25, 41], and [24, 26] proved that the \(\bar{B}\) method is equivalent to a mixed formulation.

3.3 Local B-bar formulation for Reissner–Mindlin shells

The motivation of the local \(\bar{B}\) concept comes from the observation that one needs to calculate the inverse of the matrix \(\varvec{M}\) in Eq. (29), which could be computationally expensive if the projection is applied patch-wise. Thus, from a practical point of view, it is highly recommended to project the strains locally [26, 37], i.e. element-wise on \({\varOmega _e}\):

$$\begin{aligned} \bar{\pmb {\varepsilon }}_e^h=\sum _{\bar{A},\bar{B}=1}^{(\bar{p}+1)(\bar{q}+1)}\bar{N}_{\bar{A}}\varvec{M}_{\bar{A}\bar{B}}^{-1}\int _{\varOmega _e} \bar{N}_{\bar{B}} \pmb {\varepsilon }_e^h \, \mathrm{d}\varOmega , \end{aligned}$$
(31)

with

$$\begin{aligned} \varvec{M}_{\bar{A}\bar{B}}=(\bar{N}_{\bar{A}},\bar{N}_{\bar{B}})_{\varOmega _e}. \end{aligned}$$
(32)

This kind of treatment can be also found from the work of local least square method [38, 39]. It is worthy pointing out that Eq. 31 implies the element strain matrix is modified as

$$\begin{aligned} \bar{\varvec{B}}=\sum _{\bar{A},\bar{B}=1}^{(\bar{p}+1)(\bar{q}+1)}\bar{N}_{\bar{A}}\varvec{M}_{\bar{A}\bar{B}}^{-1}\int _{\varOmega _e} \bar{N}_{\bar{B}} \varvec{B} \,\mathrm{d}\varOmega \end{aligned}$$
(33)

comparing with the original one \(\varvec{B}\) in Appendix Eq. B.8.

Moreover, with the assumption that projecting the original strains onto a lower order space can help to reduce locking phenomena, it is expected that using the possibly lowest order for each element maximizes the un-locking performance. Therefore, instead of projecting the strains simply onto \(Q_{p-1,q-1}\), different sets of projection spaces are adopted in this work. The projecting spaces need to be chosen carefully to avoid ill-condition or rand deficiency, readers interested in the corresponding mathematical theory is recommended to see [42], which is about volume locking (nearly-incompressible) problems. Here, the projection scheme in our previous work [37] is extended to bi-dimensional cases. Specifically, for space \(Q_{2,2}\), we adopt \(Q_{1,1}\) for corner elements, \(Q_{0,1}\) and \(Q_{1,0}\) for boundary elements, and \(Q_{0,0}\) for inner elements, as shown in Fig. 2b. This generalized strategy is similar with the SRI strategy in Fig. 2c, however the SRI strategy strongly depends on continuity conditions across elements [21]. The shape of the projecting functions are plotted in Fig. 3 for an intuitive understanding.

Fig. 2
figure 2

Projection strategies in bi-dimensional parameter space. Projecting spaces for locking strains are denoted as \(Q_{p,q}\). For local \(\bar{B}\) method (a), one order lower B-spline basis functions are employed for all elements. The proposed local \(\bar{B}\) method (b) uses basis functions of different orders, similar to the SRI method (c), but the \(\mathcal {C}^1\) continuity of elements are not restricted as in (c)

Fig. 3
figure 3

Bi-dimensional basis functions for projecting locking strains for each element, in the case of \(Q_{p,q} = Q_{2,2}\)

The degenerated shell model is represented by its 2D mid-surface, while the strain formula is expressed in 3D involving the thickness parameter \(\zeta \), in this case if the whole strain is projected, rank deficiency appears and the formulation yields inaccurate results. Following the similar approach as outlined in solid-shell element [25, 26], in this work only the average strain through the thickness is projected:

$$\begin{aligned} \overline{{{\varvec{MID}}}(\pmb {\varepsilon }_e^{h})}=\sum _{\bar{A},\bar{B}=1}^{(\bar{p}+1)(\bar{q}+1)}\bar{N}_{\bar{A}}\varvec{M}_{\bar{A}\bar{B}}^{-1}\int _{\varOmega _e}{{\varvec{MID}}}(\pmb {\varepsilon }_e^{h})\bar{N}_{\bar{B}}\,\mathrm{d}\varOmega ,\nonumber \\ \end{aligned}$$
(34)

where \({{\varvec{MID}}}(\pmb {\varepsilon }_e^{h})\) is defined to be the average strain through the thickness within a single element

$$\begin{aligned} {{\varvec{MID}}}(\pmb {\varepsilon }_e^{h})=\frac{1}{h}\int _{-\frac{h}{2}}^{\frac{h}{2}}\pmb {\varepsilon }_e^h\,\mathrm{d}z. \end{aligned}$$
(35)

The modified bi-linear form is written as

$$\begin{aligned}&\bar{b}(\varvec{U},\varvec{U}^*) =\int _{\varOmega } \pmb {\varepsilon }^{*\mathrm{T}}\varvec{D}\pmb {\varepsilon } \nonumber \\&\quad - \underbrace{ {{\varvec{MID}}}(\pmb {\varepsilon }^*)^\mathrm{T} \varvec{D} {{\varvec{MID}}}(\pmb {\varepsilon }) }_{\mathrm{original average virtual work}} + \underbrace{ \overline{{{\varvec{MID}}}(\pmb {\varepsilon })}^\mathrm{T} \varvec{D} \overline{{{\varvec{MID}}}(\pmb {\varepsilon })} }_{\mathrm{projected average virtual work}} \mathrm{d} \varOmega .\nonumber \\ \end{aligned}$$
(36)

The above calculation process is illustrated in Algorithm 1.

figure a

A primary comparison of the computational efforts is performed in Table 1, in which the meaning of the Step No. can be found in Algorithm 1. For classical IGA, the process is rather simple but it suffers from locking. In the classical \(\bar{B}\) method, the calculation of the inverse of matrix \(\varvec{M}=(\bar{N}_{\bar{A}},\bar{N}_{\bar{B}})_{\varOmega }\) requires large amounts of memory. Reviewing the literature of the \(\bar{B}\) method since its appearance [43], one valuable contribution is the introduction of the local \(\bar{B}\) concept [26, 37], which saves lots of computational effort with acceptable accuracy loss. Compared with the global \(\bar{B}\) method, the local \(\bar{B}\) method shows promising advantages in terms of computational efficiency. Based on the local \(\bar{B}\) method, in the present research we choose different orders of basis functions as projection bases in order to achieve an improved un-locking performance.

Table 1 Computational effort checklist for comparison

4 Numerical examples

In this section, we demonstrate the performance of the proposed local \(\bar{B}\) method for Reissner–Mindlin plates/shells by solving several standard benchmark problems. The proposed formulation is implemented within the open source C++ IGA framework GismoFootnote 1 [44]. The numerical examples include: (a) Square plate; (b) Scordelis-Lo roof; (c) Pinched cylinder and (d) Pinched hemisphere with a hole. Unless otherwise mentioned consistent units are employed in this study. In all the numerical examples, the following knot vectors are chosen as the initial ones:

$$\begin{aligned} \varXi= & {} \{0,0,0,1,1,1\}, \nonumber \\ H= & {} \{0,0,0,1,1,1\}. \end{aligned}$$
(37)

The following conventions are employed whilst discussing the results:

  • IGA 2: Classical IGA without any treatment of locking, approximation orders \(p=q=2\).

  • B-bar 2: \(\bar{B}\) method, global projection, \(p=q=2\).

  • LB 2: Local \(\bar{B}\) method [26], the projection is applied element by element as shown in Eq. (31) and Fig. 2a, \(p=q=2\).

  • SRI 2: Selective reduced integration scheme introduced in [21], \(p=q=2\) and we restrict \(\mathcal {C}^1\) continuity between elements.

  • GLB 2: Local \(\bar{B}\) method with present projection strategy as shown in Fig. 2b, \(p=q=2\).

4.1 Simply supported square plate

Consider a simply supported square plate with thickness h and edge length \(L=\) 1 m. Owing to symmetry, only one quarter of the plate, i.e, \(a=L/2\) is modeled as shown in Fig. 4. The plate is assumed to be made up of homogeneous isotropic material with Young’s modulus \(E=\) 200 GPa and Poisson’s ratio \(\nu =\) 0.3, and subjected to uniform pressure p. The control points and the corresponding weights are given in Table 2.

Fig. 4
figure 4

Mid-surface of the rectangular plate in Sect. 4.1: geometry and boundary conditions. Only one quarter of the plate is modeled. The red filled squares are the corresponding control points. (Color figure online)

The analytical out-of-plane displacement field for a thin plate with simply supported edges is given by

$$\begin{aligned} w(x,y) =\frac{16p}{\pi ^6 D} \sum \limits _{m=1,3,5,\ldots }^\infty \sum \limits _{n=1,3,5,\ldots }^\infty \frac{ \sin \left( \frac{m\pi x}{L} \right) \sin \left( \frac{n \pi y}{L} \right) }{ mn\left[ \left( \frac{m}{L} \right) ^2 + \left( \frac{n}{L} \right) ^2\right] ^2}, \end{aligned}$$
(38)

where \(D = E h^3 / (12(1-\nu ^2))\). The transverse displacement is constant when the applied load is proportional to \(h^3\), thus the numerical solution is independent of the plate thickness. Due to the fact that \(w_A\) indicates the maximum displacement of the plate, only the errors of \(w_A\) are studied instead of the field error. The reference value is \(w_A= -2.21804 \times 10^{-6}~\hbox {m}\).

Figure 5 shows the normalized displacement as a function of mesh refinement. For thickness \(h=10^{-3}~\hbox {m}\), although the conventional IGA yields inaccurate results for coarse meshes, the results tend to improve upon refinement. However, IGA suffers from severe shear locking syndrome for \(h=10^{-5}~\hbox {m}\). In this case the results remain almost identical when increasing the number of elements, indicating that the elements are extremely locked. For \(\bar{B}\) method slight rank deficiency occurs for coarse meshes. GLB gets more accurate results than LB when \(h=10^{-5}~\hbox {m}\). It is inferred that the proposed formulation alleviates shear locking phenomena and yields accurate results even for extremely thin plates of slenderness ratio \(10^5\).

Table 2 Control points and weights of the rectangular plate (Fig. 4)
Fig. 5
figure 5

Normalized central displacement \(w_A\) with mesh refinement for the rectangular plate (Fig. 4). h stands for thickness

Figure 6 compares the convergence behavior by a severe locking case, the plate thickness is fixed as \(h=10^{-5}~\hbox {m}\). In this study, IGA of order 2 is locked for even more than 1000 elements, the convergence rate is nearly zero. Elements by IGA of order 3 start with smaller error, but suffer from locking until they are sufficiently refined. LB behaves the same as GLB for mesh \(2\times 2\). GLB achieves a good convergence rate in general, but at the well-refined steps the errors become unreasonably increased, which is also observed for IGA of order 3. The reason is that the converging results mismatch the reference value slightly, as pointed out in the partial enlarged Fig. 6b.

Fig. 6
figure 6

Convergence of deflection \(w_A\) for the rectangular plate problem (Fig. 4), thickness \(h= 10^{-5}\). IGA elements are locked until the elements are refined to a large number

In Fig. 7 we analysis the computational time of the global/local \(\bar{B}\) methods and IGA. Here we use a \(\times \)64 computer with Inter CPU i5-4590 (3.30 GHz), 8 GB RAM, then run the code only by a single thread. Overall the \(\bar{B}\) methods add slightly computational effort to IGA, for instance about \(2.64\%\) in case of \(64 \times 64\) elements, thus for a given accuracy the \(\bar{B}\) methods are more cost-effective than IGA. For present method, the time is spend mostly on calculating the average strain (Step No. 5) and the least square projection (Step No. 6). For each element the dimension of the coefficient matrix \(\varvec{M}\) is one or two, therefore the computational time is not increased significantly. However in classical \(\bar{B}\) method, inverting \(\varvec{M}\) is more time consuming as the dimension of \(\varvec{M}\) is proportional to the number of elements (Fig. 7).

Fig. 7
figure 7

Computational time comparison for the plate problem (Fig. 4)

4.2 Scordelis–Lo roof

Here we consider the Scordelis–Lo roof problem to further demonstrate the capability of the proposed formulation in the case of membrane locking. It features a cylindrical panel with ends supported by rigid diaphragm. The roof is subjected to uniform pressure, \(p_z= 6250~\hbox {N/m}^2\) and the vertical displacement of the mid-point of the side edge is monitored to study the convergence behavior. The material properties are Young’s modulus \(E= 30~\hbox {GPa}\) and Poisson’s ratio \(\nu = 0\). Owing to symmetry only one quarter of the roof is modeled as shown in Fig. 8. The roof is modeled with control points (xyz) and weights w, given in Table 3. The analytical solution based on the deep shell theory is \(w_B^\mathrm{ref} = -0.0361~\hbox {m}\)  [45], however the results obtained by IGA of \(p=q=4\) with mesh \(100\times 100\), \(w_B^{\mathrm{ref}} = -0.0361776~\hbox {m}\), is taken as the reference solution.

Fig. 8
figure 8

Scordelis–Lo roof problem in Sect. 4.2: geometry and boundary conditions. The red filled squares are the corresponding control points. The mid-surface of the cylindrical panel is modeled and the roof is subjected to a uniform pressure. (Color figure online)

Table 3 Control points and weights of the Scordelis–Lo roof problem (Fig. 8)

For the geometry considered here, \(R/h= 100\) and \(L/h= 200\), the structure experiences membrane locking as the transverse shear strain is negligible. The roof is dominated by membrane and bending deformations. The results of the normalized vertical displacement with mesh refinement is shown in Fig. 9. The results from the proposed formulation is compared with selective reduced integration technique [21]. It can be seen that accurate results are achieved by the present method. For coarse meshes the \(\bar{B}\) methods, including classical \(\bar{B}\) method and local \(\bar{B}\) method as well as present method, lead to rank insufficient matrices, however for other problems slightly rank deficiency is also possible as recorded in the strain smoothing method by a single subcell [46]. In addition, the contour plot of the deflection \(w_B\) by IGA and GLB are given in Fig. 10. It is can be noted that GLB captures the deformation quite well even for coarse meshes.

Fig. 9
figure 9

Results of \(w_B\) for the Scordelis–Lo roof problem (Fig. 8)

Fig. 10
figure 10

Deflection field \(w \times 10^2\) for the Scordelis–Lo roof (Fig. 8) by IGA of order 2 (a, b), and by the proposed local \(\bar{B}\) method (c, d)

Fig. 11
figure 11

The mid-surface of a fourth of the pinched cylinder in Sect. 4.3. The red filled squares are the corresponding control points. (Color figure online)

Table 4 Control points and weights of the pinched cylinder problem (Fig. 11)

4.3 Pinched cylinder

The examples in Sects. 4.1 and 4.2 show that the proposed formulation yields accurate results when the structure experience either shear locking or membrane locking. We present here the pinched cylinder problem with the aim of demonstrating the robustness of the proposed formulation when the structure experiences both shear and membrane locking. Again, due to symmetry only one quarter of the cylinder is modeled as shown in Fig. 11. The corresponding control points and weights are given in Table 4. The cylinder consists of of homogeneous isotropic material with Young’s modulus, \(E= 30~\hbox {GPa}\) and Poisson’s ratio, \(\nu = 0.3\). The concentrated load acting on the cylinder is \(P= 0.25~\hbox {N}\). The reference value of the vertical displacement is take as \(w_C^{\mathrm{ref}}= -1.85942^{-7}~\hbox {m}\), which is obtained by bi-quartic IGA with mesh \(100\times 100\). This example serves as a test case to evaluate the performance of the method when the structure is dominated by bending behaviour. The convergence of the vertical displacement with mesh refinement is shown in Fig. 12 and it is evident that the proposed formulation yields more accurate results than the conventional bi-quadratic IGA. The contour plot of \(w_C\) in Fig. 13 indicates that the elements modified by GLB exhibit higher values of displacements compared to IGA.

Fig. 12
figure 12

Results of \(w_C\) of the pinched cylinder (Fig. 11)

4.4 Pinched hemisphere with hole

Consider a pinched hemisphere with \(18^\circ \) hole subjected to equal and opposite concentrated forces applied at the four cardinal points. The hemisphere is modeled with Young’s modulus \(E= 68.25~\hbox {MPa}\), Poisson’s ratio \(\nu = 0.3\) and concentrated force, \(P= 1~\hbox {N}\). As before, owing to symmetry, only one quadrant of the hemisphere is modeled as shown in Fig. 14. The control points and weights employed to model the hemisphere are given in Table 5. This structure experiences severe membrane and shear locking, and the discretization experiences severe mesh distortion. The mesh distortion further enhances the locking phenomenon. To evaluate the convergence properties, the horizontal displacement \(u_D^{\mathrm{ref}}= 0.0940~\hbox {m}\) [21] is taken as the reference solution. The results form the proposed formulation are plotted in Fig. 15. As the elements are refined, GLB behaves similarly to SRI, but the results obtained by GLB is slightly accurate. Moreover, the field of displacement \(u_x\) is plotted in Fig. 16, it seems that the proposed method allows to capture the correct structural response.

4.5 Square plate with irregular meshes

Throughout Sect. 4.1, it is pointed out that in the cases of plates with high slenderness ratio, e.g. \(10^3\) or \(10^5\), the classical IGA elements suffer from locking, and present \(\bar{B}\) method has still achieved satisfactory results. However, the studies are performed in somewhat ideal conditions by using structured meshes. In order to explore the generality and applicability of the present method, we focus on the influence of two kinds of unstructured meshes, i.e. control mesh distortion and nonuniform knots.

The influence of the control mesh distortion on the performance of the proposed formulation is investigated by considering two different kinds of distortions: control mesh expansion and rotation, as shown in Fig. 17. Thickness \(h=10^{-5}~\hbox {m}\) is considered here as the case when both locking and mesh distortion appear, and \(h=10^{-1}~\hbox {m}\) is chosen as the reference case when only mesh distortion appears. The influence of mesh distortion on the normalized center displacement is pictured in Fig. 18. When locking and mesh distortion occur at the same time, accuracy of IGA decreases substantially, while GLB keeps a good degree of accuracy even for severe distortions. It is inferred that when locking happens, the results with classical IGA deteriorates with control mesh distortion, while the proposed formulation is less sensitive to control mesh distortion.

Fig. 13
figure 13

Field of \(w \times 10^7\) of the pinched cylinder (Fig. 11) by IGA of order 2 (a, b), and by present local \(\bar{B}\) method (c, d)

The influence of the non-uniformly distributed knots on the performance of the proposed formulation is investigated by considering a chosen knot \(\xi _i\) moving from its left neighbor \(\xi _{i-1}\) to its right neighbor \(\xi _{i+1}\). In the following example we build the plate geometry by

$$\begin{aligned} \varXi&=\{\ldots ,\xi _4=0.25,\xi _5=0.375,\xi _6=0.5,\ldots \}, \nonumber \\ H&=\{\ldots ,\eta _4=0.25,\eta _5=0.375,\eta _6=0.5,\ldots \}, \end{aligned}$$
(39)

and let \(\xi _5\) move from \(\xi _4\) to \(\xi _6\), \(\eta _5\) move from \(\eta _4\) to \(\eta _6\) simultaneously, as illustrated in Fig. 19, while keeping the control mesh normally distributed. Figure 20 shows the results in terms of knots distribution, once again the classical IGA leads to poor results for unstructured knots distribution, but the proposed \(\bar{B}\) formulation keeps good accuracy. It should be noted that, when \(\xi _5=\xi _4\) and \(\eta _5=\eta _4\), or when \(\xi _5=\xi _6\) and \(\eta _5=\eta _6\), the special cases of repeated knots (\(\mathcal {C}^0\) continuity) are also included. For present \(\bar{B}\) formulation, there is no need to consider inter knot multiplicity explicitly since the projection procedure is applied element-wise. Thus, lower order knot vectors can be used without inner repeated knots for projection, in spite of element continuity. A similar and detailed conclusion is drawn in [37].

Fig. 14
figure 14

The mid-surface of a fourth of the pinched hemisphere in Sect. 4.4. The red filled squares are the corresponding control points

Table 5 Control points and the corresponding weights of the pinched hemisphere problem (Fig. 14)

5 Conclusion remarks

The local \(\bar{B}\) method is adopted to unlock the degenerated Reissner–Mindlin shell elements within the framework of isogeometric analysis. The shell mid-surface and the unknown field are described with non-uniform rational B-splines. The proposed method uses multiple sets of lower order B-spline basis functions as projection bases, by which the locking strains are modified in the sense of \(L_2\) projection, in this way field-consistent strains are obtained.

The salient features of the proposed local \(\bar{B}\) method are: (a) has less computational effort than the classical, global \(\bar{B}\) method; (b) yields better accuracy than IGA of order 2 especially in cases of coarse meshes or mesh distortions; (c) suppresses both shear and membrane locking commonly encountered when lower order elements are employed and suitable for both thick and thin models.

Fig. 15
figure 15

Results of \(u_D\) of the pinched hemisphere (Fig. 14)

Fig. 16
figure 16

Field of \(u \times 10^2\) of the pinched hemisphere (Fig. 14) by IGA of order 2 (a, b), and by present local \(\bar{B}\) method (c, d)

Fig. 17
figure 17

Illustration of control mesh distortions. In (a), four selected control points are moved along the diagonal directions. In (b), four selected control points are rotated around the center of the patch. Indexes e and r are employed to indicate the stages of distortions

Fig. 18
figure 18

Normalized results of \(w_A\) of the rectangular plate (Fig. 4) with control mesh distortions (Fig. 17). h stands for thickness. When locking and mesh distortion occur at the same time, errors of IGA of order 2 drop down quickly, while GLB keeps good accuracy even for severe distortions

Fig. 19
figure 19

Nonuniform knots distribution for the rectangular plate (Fig. 4). Let \(\xi _5\) move from \(\xi _4\) to \(\xi _6\), \(\eta _5\) move from \(\eta _4\) to \(\eta _6\) simultaneously

Fig. 20
figure 20

Normalized results of \(w_A\) of the rectangular plate (Fig. 4) with nonuniformly knots distribution (Fig. 19). h stands for thickness

Future work includes extending the approach to large deformations, large deflections and large rotations as well as investigating the behaviour of the stabilization technique for enriched approximations such as those encountered in partition of unity methods [46,47,48].