1 Introduction

Shape optimization is one of the great applications of isogeometric analysis (IGA) since the latter integrates a computer-aided design (CAD) and analysis (Hughes et al. 2005; Cottrell et al. 2009). Structural optimization requires a suitable mix of an accurate geometric description and an efficient analysis model. The classical finite element method (FEM) faces few difficulties originated from the geometric approximation inherent to the finite element mesh. Two approaches can be distinguished in the FEM framework: the CAD-based (Imam 1982; Braibant and Fleury 1984; Ramm et al. 1993; Lund 1994) and the FE-based (Bletzinger et al. 2010; Le et al. 2011; Firl et al. 2013; Bletzinger 2014) approach. The CAD-based approach uses a CAD model to define the shape design and the corresponding shape parameters. The main problem is that the finite element mesh has to be generated at every design update. The FE-based approach consists in using the spatial location of the nodes as the design variables. It leads to a high number of design variables and irregular shapes with possible distortion meshes. Expensive mesh regularization techniques are performed to overcome the shape design representation (Firl et al. 2013; Bletzinger 2014). Beyond this, the IGA concept fills the needs of embedding efficient geometric and analysis models by discretizing the structure with its intrinsic, computer-aided geometric definition. This study relies on a non-uniform rational B-spline (NURBS)-based framework (Cohen et al. 2001; Piegl and Tiller 1997; Farin 2002). In fact, before the development of IGA, NURBS have been used in shape optimization due to their ability to describe smooth design, and because they offer an attractive way to impose the design updates (Imam 1982; Braibant and Fleury 1984; Ramm et al. 1993; Lund 1994). Finally, since CAD uses the boundary representation (B-rep), IGA is especially suitable for analyzing structures whose geometry is easily derived from a surface, as is the case for shells (Kiendl et al. 2009; Benson et al. 2010; Echter et al. 2013; Dornisch et al. 2013; Bouclier et al. 2013, 2015a, b; Caseiro et al. 2014, 2015; Cardoso and Cesar De Sa 2014). Therefore, isogeometric shape optimization of shells is a promising field whose effectiveness has already been highlighted in some recent works (Nagy et al. 2013; Kiendl et al. 2014; Bandara and Cirak 2017).

Isogeometric shape optimization has been successfully applied to a wide range of applications (see for example Wall et al. 2008; Qian 2010; Nagy et al. 2010, 2011, 2013; Nguyen et al. 2012; Kiendl et al. 2014; Taheri and Hassani 2014; Fußeder et al. 2015; Wang and Turteltaub 2015; Ding et al. 2016; Bandara and Cirak 2017; Herrema et al. 2017; Wang et al. 2017b, c). A general procedure, which has been improved over the years (Daxini and Prajapati 2017), is commonly adopted. It is based on a multilevel design concept which consists in choosing different refinement level of the same NURBS-based geometry to define both optimization and analysis spaces (Nagy et al. 2010, 2011, 2013; Kiendl et al. 2014; Wang and Turteltaub 2015). Shape updates are represented by altering the spatial location of the control points, and in some cases the weights, on the coarse level. The finer level defines the analysis model and is set to ensure good quality of the solution. The optimization and analysis refinement levels are independently chosen which provides a problem-adapted choice of the spaces. Gradient-based optimization algorithms are generally called upon to solve the isogeometric optimization problems cited therein. In fact, isogeometric shape optimization can provide accurate sensitivities, especially when geometric properties such as curvature are involved. Several works tackle the issue of suitable IGA-based sensitivities which has led to improve the optimization procedures by reducing the discretization-dependency during the shapes’ updates (Wang et al. 2017a; Kiendl et al. 2014). From this overview, it can be seen that main researches focus on modeling and optimization aspects leading today to an accurate general procedure of resolution. However, discussion from the analysis point of view is somehow missing. We believe that this is a crucial issue especially regarding the shape optimization of shells.

In the framework of isogeometric shape optimization of shells, it seems that Kirchhoff-Love NURBS elements have been mainly considered (Nagy et al. 2013; Kiendl et al. 2014; Bandara and Cirak 2017), while little research works adopt a Reissner-Mindlin NURBS shell formulation (Kang and Youn 2016). However, the influence of the shell formulations on the optimization results is not well-known, and, unfortunately, the choice of one shell formulation rather than another is usually dictated by numerical needs. Thus, the Kirchhoff-Love NURBS element is attractive due to its low computational cost, but it should be borne in mind that it is restricted to very thin shells. In order to provide a broader framework that is also suitable for thicker shells, we propose to consider in this work solid-shell NURBS-based element as well. Indeed, we believe that the solid-shell element can bring interesting features in the shell shape optimization framework from both the analysis and the design points of view. First and foremost, it has been demonstrated that such elements are particularly adapted to compute shells with variable shell thicknesses and with complex behaviors (geometric, material, and contact non-linearities) Bouclier et al. 2013, 2015a, b; Caseiro et al. 2014, 2015; Cardoso and Cesar De Sa 2014).

Then, regarding more precisely the design aspect, it appears that the geometric representation of the thickness offers new possibilities. Indeed, the volume representation of the structure enables to optimize the thickness profile continuously by modifying the control point coordinates. In this respect, Ding et al. (2016) highlight the benefits of making use of a NURBS solid element to accurately represent and analyze the thickness variations encountered in tailor rolled blanks. Thickness optimization becomes thus natural with the solid-shell approach and its inherent continuous transition between the thin and the thick case appears attractive in a large range of applications. For example, automotive industry already uses rolling processes to enable weight reduction and a better use of materials (Kopp et al. 2005; Merklein et al. 2014; Hirt and Senge 2014). Blended composite laminate structures also present continuous thickness transition which has a fundamental role to play in this context (Adams et al. 2004). Regarding the optimization, the number of design variables is reduced in comparison to more classic methods using discrete sizing parameters at the element level. Applying the thickness variations with the NURBS geometry tends to regularize the problem and it acts as a filter. Therefore, no additional filtering techniques are required to avoid undesired phenomenon as, for example, checkerboard pattern experienced with discrete thickness approaches (Nha et al. 1998; Lam et al. 2000). The benefits of solid shells must, however, be qualified: the automatic generation of analysis-suitable volumetric NURBS models is still a challenging task (Liu et al. 2014; Akhras et al. 2017). All the same, for slender structures, the task is affordable since the geometry is derived from a surface.

Therefore, this study has two main objectives. Firstly, we seek to extend the existing methodology to be able to consider solid-shell elements. Comparisons with Kirchhoff-Love elements are performed in order to validate the proposed solid-shell strategy. Then, we study the benefits of the solid-shell formulation for the shape optimization of variable thickness structures and its interest in carrying out continuous sizing optimization of shells. Hence, this paper is organized as follows. In Section 2, we review the concept of isogeometric shape optimization, and we give practical aspects on the design parametrization of shells. In Section 3, we remind the basics of the solid-shell and the Kirchhoff-Love NURBS formulations and specify their treatment to be used for isogeometric shape optimization. Section 4 provides optimization examples on which comparisons between the optimal results obtained with both shell formulations are made. In Section 5, we apply the proposed solid-shell strategy for thickness optimization of shells. We perform an integrated shape and sizing optimization on a stiffened cylinder. Then, we combine both benefits of Kirchhoff-Love and solid shells into a multi-model approach. The global optimal shape is obtained through a first optimization by using Kirchhoff-Love shells. Then, the solid-shell formulation is used to further improve the structures by optimizing the thickness variation. Finally, Section 6 concludes on this work by summarizing our most important points and motivating future research in this direction.

2 Isogeometric shape optimization of shells

The framework of this study draws on research dealing with isogeometric shape optimization (see for example Kiendl et al. 2014; Fußeder et al. 2015; Nagy et al. 2013; Bandara and Cirak 2017). This section reviews the principal insights of the approach by highlighting main theoretical points and also practical aspects. In particular, we discuss the multilevel optimization process and the definition of design variations in the context of isogeometric shape optimization of shells.

2.1 NURBS and isogeometric analysis

NURBS are a generalization of B-splines and standard in CAD and computer graphics for geometry modeling (see Cohen et al. 2001; Piegl and Tiller 1997; Farin 2002). Only the fundamentals are given in the following. For futher details, the interested read is referred to the references cited therein. A general expression for a NURBS geometry with parameter \({\mathbf {\xi }}\in \mathbb {R}^{\text {d}}\) (d being the dimension of the space) is written as

$$ \boldsymbol{S}({\mathbf{\xi}}) = \sum\limits_{I = 1}^{n} R_{I}({\mathbf{\xi}})\mathbf{P}_{I}, $$
(1)

where n is the number of control points and PI and RI are the NURBS basis functions. The multivariate NURBS basis functions RI are obtained as weighted B-splines NI by the following rational definition:

$$ R_{I}({\mathbf{\xi}}) = \frac{N_{I}({\mathbf{\xi}})w_{I}}{W({\mathbf{\xi}})}, \quad\text{with}\quad W({\mathbf{\xi}}) = \sum\limits_{k = 1}^{n} N_{k}({\mathbf{\xi}})w_{k}, $$
(2)

where wI is the weight of the Ith control point. The multivariate B-spline functions NI are defined as the tensor product of univariate B-spline functions. Finally, the 1D B-spline basis functions are piecewise polynomials defined by the polynomial degree p and a set of parametric coordinates ξi collected into a knot vector Ξ. These B-spline basis functions are obtained recursively using the Cox-de Boor recursion formula (see Cohen et al. 2001). The concept behind IGA (Hughes et al. 2005; Cottrell et al. 2009) consists in discretizing the displacement field using the NURBS parametrization already introduced to describe the geometry:

$$ \boldsymbol{u}({\mathbf{\xi}}) = \sum\limits_{I = 1}^{n} R_{I}({\mathbf{\xi}})\mathbf{U}_{I}, $$
(3)

where UI is the displacement corresponding to the Ith control point. By substituting the NURBS approximations in the weak formulation of a boundary value problem, a linear system to be solved is obtained as in standard FEM.

An interesting feature of NURBS is their high degree of continuity. If m is the multiplicity of a given knot, the functions are Cpm continuous at that location. This is attractive from both design and analysis points of view. In particular, it allows to define smooth free-form shapes with high continuity. Numerical errors in the analysis are reduced because the geometry can be exactly preserved. The higher continuity within a NURBS patch increases the accuracy of the analysis in comparison to standard FEM where C0 regularity is encountered. Furthermore, NURBS present efficient refinement procedures which allows to enhance the design space without changing the geometry nor the parametrization. In particular, k-refinement, in which order and continuity of the basis functions are simultaneously increased, can be performed. In practice and especially in the structural optimization framework, it is efficient to use the matrix representation of refinement methods of NURBS. For more details on refinement strategies of NURBS and their matrix representation, reference is made to Piegl and Tiller (1997) and Lee and Park (2002).

2.2 Optimization flowchart

Figure 1 describes the main steps of the optimization process. It gets an initial CAD model as a main input. CAD model has here to be understood as an analysis-suitable NURBS geometry. As an output, the optimal shape is given, and an interesting point to notice is that this shape is a NURBS geometry too. Therefore, the result is directly usable by designers and, thus, for production. There is no need to re-design the final geometry in a CAD environment as it would be the case with FE-based optimization.

Fig. 1
figure 1

Isogeometric shape optimization flowchart: overview of the main steps of the process

The optimal NURBS geometry is obtained from an iterative process with three main steps. Each iteration consists in:

  1. 1.

    Updating the current shape in a hopefully better one

  2. 2.

    Running the analysis for this new geometry and then inferring mechanical and/or geometrical properties of interest

  3. 3.

    Computing new design variations to further improve the structure

A more detailed description of each step of the process is given in the following paragraphs.

2.3 Multilevel design

A major asset of isogeometric shape optimization is the possibility to properly choose both optimization and analysis spaces (Qian 2010; Nagy et al. 2010, 2011, 2013; Nguyen et al. 2012; Kiendl et al. 2014; Fußeder et al. 2015; Wang and Turteltaub 2015; Herrema et al. 2017; Wang et al. 2017b, c). A fine NURBS discretization is introduced as the analysis model in order to ensure good quality computations. Conversely, the optimization model is defined to impose suitable shape variations. Both spaces describe the exact same geometry and are initially obtained through different refinement levels of the CAD model as shown in Fig. 2.

Fig. 2
figure 2

Multilevel design approach: optimization and analysis spaces describe the exact same geometry and are initially obtained through different refinement levels of the CAD model (above, NURBS elements; below, control points)

It is clear that the finer the analysis model, the better the results. The choice of the refinement level used for the analysis model is principally dictated by the need for realistic computational cost. When it comes to the optimization model, the situation is quite different. In this case, the choice of the refinement level has an impact on the complexity of the optimal shape reached. A coarse optimization model may provide a simpler optimal shape than a fine optimization model. Therefore, few questions can be asked in order to accurately define the refinement levels for the analysis and optimization models:

  • How different from the initial geometry the optimal shape is allowed to be?

  • Depending on the intended level of shape variation complexity, how fine should the analysis model be to ensure reliable results?

These points are illustrated and discussed in more detail in Section 4 of this paper.

2.4 Design variables

The isogeometric framework provides a proper and accurate way to vary the geometry. It has long been established that shape control of NURBS is very comfortable and leads to smooth optimal design (Imam 1982; Braibant and Fleury 1984; Ramm et al. 1993). Indeed, a straightforward and natural way of modifying the shape of the structure is to move the control points. NURBS also offer an other interesting way to apply shape variation by modifying the control point weights, but this point is not investigated here. As pointed out by Kiendl et al. (2014), for the optimization of free-form shapes, it is generally sufficient to use only the control point coordinates. Nevertheless, note that taking the weights as design variables may improve the optimal shape by adding proper shape adjustments if the optimization is performed on a very coarse NURBS model (Wall et al. 2008; Nagy et al. 2010, 2013; Qian 2010).

Although attractive, taking the control point coordinates as design variables requires attention. Problems are similar to those encountered with FE-based optimization where the FE nodal points are directly used as design variables. In fact, attention must be paid to mesh distortion in order to avoid local non-injectivities due to fold-overs. If the control points are allowed to independently move in every spatial direction then the optimization process constantly needs to check the mesh quality and often requires cumbersome mesh regularization techniques (Bletzinger et al. 2010; Choi and Cho 2015; Le et al. 2011; Nguyen et al. 2012; Firl et al. 2013). In the context of isogeometric optimization, links between design variables and move directions are usually set up to avoid these challenges (Lee and Hinton 2000; Wall et al. 2008; Kiendl et al. 2014; Taheri and Hassani 2014; Wang et al. 2017b, c). Figure 3 shows this idea in the case of a hemisphere. By letting only each design control point moving in the radial direction, we avoid mesh regularity problems. Moreover, control points located on patch boundaries are often (but not always) coupled with their neighbors to ensure a G1 geometric continuity between patches (Kiendl et al. 2009). This prevents the emergence of kinks during the optimization and it finally leads to smoother optimal shapes. Linking design variables may also be relevant to preserve initial shape properties as reflectional, rotational, and translational symmetries. It also guarantees a reduction in the number of design variables which leads to lower computational cost and again smoother optimal shapes.

Fig. 3
figure 3

Illustration of the design variations of the hemisphere. Middle control points move in radial directions (top) and boundary control points are coupled with their neighbors to ensure G1-continuity between patches (bottom)

2.5 Shape gradient and normalization

A typical shape optimization problem can be formulated as the minimization of a given objective function carried out over a set of admissible domains. In this work, we limit ourselves to the case of minimizing the compliance. Other objective functions could have been considered as the mass, the displacement of a given material point, the maximal stress, the critical buckling load, and so on. The design space is limited by lower bound sl and upper bound su which surround the ns design variables collected in vector \(\mathbf {s}=(s_{1},s_{2},\hdots ,s_{n_{s}})\). This unconstrained optimization problem can be defined mathematically as

$$\begin{array}{@{}rcl@{}} \min\limits_{\mathbf{s}\in{\Omega}} f(\mathbf{s}) \quad\text{where:}\quad {\Omega}&=& \left\{\mathbf{s}\in\mathbb{R}^{n_{s}}~|~\mathbf{s}_{l} \leq \mathbf{s} \leq \mathbf{s}_{u} \right\} \\ f(\mathbf{s}) &=& \tfrac{1}{2}\mathbf{F}\cdot\mathbf{U} = \tfrac{1}{2}\mathbf{U}\cdot\mathsf{K}\cdot\mathbf{U}. \end{array} $$
(4)

F denotes the force vector, K the stiffness matrix, and U the displacement vector which satisfies the equilibrium equations. Moreover, note that constraints, as for example a maximal mass, can be added to this optimization problem. An illustration regarding a constrained optimization problem is provided in Section 5.1.

In order to use a gradient-based optimization algorithm, the derivatives of the compliance with respect to the design variables need to be computed. A simple chain rule leads to the following result (see, e.g., Nagy et al. 2010, 2013; Kiendl et al. 2014 for more details):

$$ \frac{\mathrm{d}f}{\mathrm{d}\mathbf{s}} = \mathbf{U}\cdot\frac{\mathrm{d}\mathbf{F}}{\mathrm{d}\mathbf{s}} ~-~ \frac{1}{2}\mathbf{U}\cdot\frac{\mathrm{d}\mathsf{K}}{\mathrm{d}\mathbf{s}}\cdot\mathbf{U}. $$
(5)

The derivatives of the force vector and stiffness matrix with respect to the design variables are approximated by first-order finite differences

$$ \frac{\mathrm{d}\mathbf{F}}{\mathrm{d}\mathbf{s}} \approx \frac{\mathbf{F}(\mathbf{s}+{\Delta}\mathbf{s}) - \mathbf{F}(\mathbf{s})}{{\Delta}\mathbf{s}}, \quad \frac{\mathrm{d}\mathsf{K}}{\mathrm{d}\mathbf{s}} \approx \frac{\mathsf{K}(\mathbf{s}+{\Delta}\mathbf{s}) - \mathsf{K}(\mathbf{s})}{{\Delta}\mathbf{s}}. $$
(6)

Combining (6) with (5) gives semi-analytical sensitivities which are easy to compute and offer practical advantages (Lund 1994; Kiendl et al. 2014). In fact, the computation of semi-analytical sensitivities does not require more development than those necessary to build the stiffness matrix and the force vector. In addition, whatever the shell formulation, computation of the sensitivities is identical. Note that analytical sensitivities may also be available, depending on the shell formulation, but require more numerical development (Cho and Ha 2009; Qian 2010; Nagy et al. 2013; Taheri and Hassani 2014; Ha 2015).

In practice, the derivatives of the compliance with respect to the design variables are not directly used as the search direction. Indeed, it has been shown (Kiendl et al. 2014; Wang et al. 2017a) that normalization approaches help to reduce discretization-dependency. As a result, we use here the diagonally lumped mapping matrix normalization, also called sensitivity weighting, which leads to the following search directions:

$$ \mathbf{d}_{i} = -\frac{1}{\mathsf{M}_{ii}}\frac{\mathrm{d}f}{\mathrm{d}\mathbf{s}_{i}}, \quad\text{with}\quad \mathsf{M}_{ii} = \sum\limits_{k \in {\Omega}_{i}}\left( {\int}_{D} {R_{k}}~dD \right). $$
(7)

Geometric factor Mii can be interpreted as the fraction of surface or volume linked to the ith design variable. It integrates in the physical space D all NURBS basis functions related to the ith design variable (Ωi lists the indexes of the control points governed by the ith design variable). Finally, this normalized semi-analytical gradient can be used in gradient-based optimization algorithms as, for example, those provided in the SciPy package (Jones et al. 2001). In this work, the SLSQP method is used (Kraft 1988).

3 Isogeometric shell analysis

In this work, two isogeometric shell formulations are envisaged to perform the optimization. On the one hand, we extend the shell shape optimization framework in order to be able to use solid-shell elements for the modeling. On the other hand, we consider the already established optimization process based on the Kirchhoff-Love elements in order to compare its results with those provided by the solid-shell element-based procedure. The two shell formulations, along with their treatment to be used for isogeometric shape optimization, are introduced in this section.

3.1 NURBS-based solid-shell element

3.1.1 Basics

The solid-shell NURBS element used in this work is the classical one introduced by Bouclier et al. (2013). It is based on a 3D continuum mechanics-type formulation. The idea is to take a 3D solid continuum element and, in order to limit the computational costs, discretize the shell using a single layer of elements through the thickness. This element is used in its raw form and no particular treatment (strain-projection, reduced integration, etc.) is put in place here. To alleviate locking, the basic strategy of increasing the polynomial degree of the analysis model is performed. Despite the simplicity of the formulation, this element has shown similar behaviors to those of Kirchhoff-Love or of Reissner-Mindlin NURBS shell elements through several shell benchmarks (Bouclier et al. 2013; Benson et al. 2010; Kiendl et al. 2009; Belytschko et al. 1985). Other efficient NURBS-based solid-shell elements have been developed to overcome locking phenomena (Bouclier et al. 2013; Caseiro et al. 2014) and to analyze structures with geometric (Bouclier et al. 2015b; Cardoso and Cesar De Sa 2014) and material (Bouclier et al. 2015a; Caseiro et al. 2015) non-linearities.

Since based on classical 3D continuum elements, the standard solid-shell formulation is well-known. We only remind the basics in order to underline differences with the Kirchhoff-Love NURBS shell formulation. No particular kinematic assumptions are made on the displacement field u. Therefore, strain and stress fields have six components using Voigt notation. In the context of small perturbations, the components of the infinitesimal strain tensor ε are

$$ \boldsymbol{\varepsilon}_{ij} = \frac{1}{2}\left( \frac{\partial\mathbf{u}_{i}}{\partial x_{j}} + \frac{\partial\mathbf{u}_{j}}{\partial x_{i}}\right) \qquad\forall i,j = \{1,\hdots,3\}^{2}, $$
(8)

where ui denotes the ith component of the displacement at point M located at (x1,x2,x3) in the Cartesian frame. In IGA, the displacement field is approximated using the NURBS functions which enables to build the geometry of the structure. This implies an approximation εh of the strains as follows:

$$ \boldsymbol{\varepsilon}^{h} = \sum\limits_{A} \mathsf{B}_{A}\mathbf{U}_{A} \qquad\text{with}\qquad \mathsf{B}_{A} = \left[\begin{array}{ccc} R_{A,1} & 0 & 0 \\ 0 & R_{A,2} & 0 \\ 0 & 0 & R_{A,3} \\ 0 & R_{A,3} & R_{A,2} \\ R_{A,3} & 0 & R_{A,1} \\ R_{A,2} & R_{A,1} & 0 \end{array}\right], $$
(9)

where UA is the vector of the control variables at control point A and RA,i denotes the derivative of the NURBS function at control point A with respect to coordinate xi. Introducing the approximation fields into the classical weak formulation leads to the following linear system to be solved:

$$\begin{array}{@{}rcl@{}} \mathsf{K} \cdot \mathbf{U} = \mathbf{F} \quad\text{where}\quad \mathsf{K}_{ab} &=& {\int}_{D} \left[ \mathsf{B}_{a} \cdot \mathsf{C} \cdot \mathsf{B}_{b} \right]\ \mathrm{d}{V}, \\ \mathbf{F}_{a} &=& {\int}_{D}R_{a}\boldsymbol{f}\mathrm{d}{V}+ {\int}_{\Gamma F}R_{a}\boldsymbol{F} \mathrm{d}\gamma,\\ \end{array} $$
(10)

and with C the Hooke tensor, f as body force in D, and F as surface load over the Neumann boundary ΓF.

It has been shown that for solid-shell element, it is unnecessary to increase the degree of approximation of the functions through the thickness beyond 2. When speaking of solid-shell elements of degree p, the reader should understand that degree of p is used in the main directions (commonly referred to as ξ and η) and that degree 2 is selected through the thickness of the shell. Finally, this basic solid-shell NURBS element is nothing other than the classical IGA solid element. Consequently, being able to perform shape optimization of shell with this element offers another attractive interest: with the simplest IGA code in hand, one can run optimization without any further development.

3.1.2 Imposing shape variations

With solid-shell elements, the structure is described by its volume and not by its mid-surface. Thus, the standard strategy depicted in Section 2.4 needs to be further improved: the shape control has to deal with volume. A solid-shell is characterized by two outer skins. A natural idea is to define one of the outer skins as the master surface and the other as the slave surface. This is carried out in this work in two steps. A first set of design variables updates the master surface as it is commonly done with shell structure and as already discussed. Then, a second set of design variables moves the slave surface starting from the master surface. This idea is illustrated in Fig. 4 which shows the shape parametrization of a tube.

Fig. 4
figure 4

Definition of the design variables in the context of solid-shell isogeometric elements. a A first set of design variables updates the master surface and b the slave surface follows the shape variation through a second set of variables

Each control point from the master surface has its equivalent on the slave surface. If a variable moves the master point from initial position \(\mathbf {P}_{m}^{0}\) to Pm in direction n1 and a second variable further updates the neighbor slave point form \(\mathbf {P}_{s}^{0}\) to Ps in direction n2, then the design update follows

$$\begin{array}{@{}rcl@{}} \mathbf{P}_{m} &=& \mathbf{P}_{m}^{0} + \mathtt{var1}\mathbf{n}_{1}, {\kern77pt} \mathtt{[step 1]}\\ \mathbf{P}_{s} &=& \mathbf{P}_{s}^{0} + \mathtt{var1}\mathbf{n}_{1} + \mathtt{var2}\mathbf{n}_{2}. {\kern32pt}\mathtt{[step 2]} \end{array} $$
(11)

By setting additional bounds to , we avoid undesirable shapes as for example overlapping of the outer skins. Generally, in shape optimization of shells, the thickness is kept constant. For this purpose, we apply a simple approach where the second set of design variables is not included in the optimization. In other words, same shape variations are applied on both outer skins. If the optimization model has a higher degree through the thickness than 1, then the intermediate control points are interpolated between both outer skins. Finally, the use of solid-shell NURBS element offers the possibility to optimize through the thickness. The thickness optimization issue seems to be promising (Ding et al. 2016), and it is investigated in the present work (see Section 5).

3.2 Kirchhoff-Love NURBS shell formulation

3.2.1 Basics

At the beginning of NURBS-based shell formulations, a structural model approach was firstly developed (see, e.g., the initial works of Kiendl et al. 2009 on the Kirchhoff-Love 8 theory and Benson et al. 2010 on the Reissner-Mindlin theory, and then, more recently, Echter et al. 2013 and Dornisch et al. 2013). The structural model approach is based on a discretization of the mean surface alone. It leads to fewer degrees of freedom per element in comparison with solid-shell element. This is particularly true with the Kirchhoff-Love formulation where no rotational degrees of freedom are needed. In return, Kirchhoff-Love shells require C1 continuity but thanks to NURBS surfaces, this condition is easily satisfied. IGA based on NURBS surfaces offers Cp− 1 continuity throughout the element. Finally, one should keep in mind that Kirchhof-Love shells neglect transverse shear deformations, and thus they are accurate for analyzing thin structures only.

In the Kirchhoff-Love NURBS shell formulation, the structure is defined by its mid-surface \(\bar {D}\) and its thickness t. In the IGA concept, the mid-surface is described by a NURBS function S providing at each material point xD a straightforward parametrization in terms of a system of curvilinear coordinates as

$$ \mathbf{x}(\xi,\eta,\zeta) = \mathbf{S}(\xi,\eta) + \zeta\mathbf{a}_{3}(\xi,\eta), \quad -\frac{t}{2}\leq\zeta\leq\frac{t}{2}. $$
(12)

The unit normal a3 and the standard covariant vectors of the mid-surface aα are given by

$$ \mathbf{a}_{1} = \frac{\partial\mathbf{S}}{\partial\xi} = \mathbf{S}_{,\xi} ~,\quad \mathbf{a}_{2} = \frac{\partial\mathbf{S}}{\partial\eta} = \mathbf{S}_{,\eta} ~,\quad \mathbf{a}_{3} = \frac{\mathbf{a}_{1}\times\mathbf{a}_{2}}{|\mathbf{a}_{1}\times\mathbf{a}_{2}|}. $$
(13)

The displacement at each material point on the whole structure is directly linked to the displacement on the mid-surface \(\bar {\boldsymbol {u}}\). This is the result of the well-known Kirchhoff kinematic assumptions: straight lines normal to the mid-surface are characterized by rigid-body displacements and remain normal to the mid-surface after deformation. It follows that the linearized strain tensor of the shell is found to be of the form

$$ \boldsymbol{\varepsilon}_{\alpha\beta} = \boldsymbol{e}_{\alpha\beta} + \zeta\boldsymbol{\kappa}_{\alpha\beta}, $$
(14)

where membrane strains e and bending strains κ are given by

$$\begin{array}{@{}rcl@{}} \boldsymbol{e}_{\alpha\beta} &=& \frac{1}{2}\left( {\bar{\boldsymbol{u}}}_{,\alpha}\cdot\mathbf{a}_{\beta} + {\bar{\boldsymbol{u}}}_{,\beta}\cdot\mathbf{a}_{\alpha} \right), \end{array} $$
(15)
$$\begin{array}{@{}rcl@{}} \boldsymbol{\kappa}_{\alpha\beta} &=& -{\bar{\boldsymbol{u}}}_{,\alpha\beta}\cdot\mathbf{a}_{3} \\ &&+\frac{1}{|\mathbf{a}_{1}\times\mathbf{a}_{2}|} \left[ {\bar{\boldsymbol{u}}}_{,\xi}\cdot\left( \mathbf{a}_{\alpha,\beta}\times\mathbf{a}_{2}\right) + {\bar{\boldsymbol{u}}}_{,\eta}\cdot\left( \mathbf{a}_{1}\times\mathbf{a}_{\alpha,\beta}\right) \right] \\ &&+\frac{\mathbf{a}_{3}\cdot\mathbf{a}_{\alpha,\beta}}{|\mathbf{a}_{1}\times\mathbf{a}_{2}|} \left[ {\bar{\boldsymbol{u}}}_{,\xi}\cdot\left( \mathbf{a}_{2}\times\mathbf{a}_{3}\right) + {\bar{\boldsymbol{u}}}_{,\eta}\cdot\left( \mathbf{a}_{3}\times\mathbf{a}_{1}\right) \right]. \end{array} $$
(16)

Greek indices take the values 1 and 2. In fact, the kinematic assumptions vanish the transverse shear strains εα3 = 0. As for the mid-surface, the displacement field is approximated using the NURBS basis functions. Introducing the approximation \({\bar {\mathbf {u}}}^{h}\) into (15) and (16) gives the membrane and bending strains as follows:

$$ \boldsymbol{e}({\bar{\mathbf{u}}}^{h}) = \sum\limits_{i = 1}^{n} \mathsf{B}_{i}^{m}\bar{\mathbf{U}}_{i} ~, \qquad\text{and}\qquad \boldsymbol{\kappa}({\bar{\mathbf{u}}}^{h}) = \sum\limits_{i = 1}^{n} \mathsf{B}_{i}^{f}{\bar{\mathbf{U}}}_{i}, $$
(17)

where the matrices \(\mathsf {B}_{i}^{m}\) and \(\mathsf {B}_{i}^{f}\) can be found in Appendix A.1. The equilibrium configurations of the shell follow from the principle of minimum potential energy which, once expressed in weak form, leads to the linear system

$$\begin{array}{@{}rcl@{}} {\bar{\mathsf{K}}} \cdot {\bar{\mathbf{U}}} = {\bar{\mathbf{F}}} & \quad\text{where:}\\ {\bar{\mathsf{K}}}_{ab} \!&=&\! {\int}_{\bar{D}}~ t\mathsf{B}_{a}^{m}\cdot\mathsf{H}\cdot\mathsf{B}_{b}^{m} + \tfrac{t^{3}}{12}\mathsf{B}_{a}^{f}\cdot\mathsf{H}\cdot\mathsf{B}_{b}^{f}\! dA, \\ {\bar{\mathbf{F}}}_{a} \!&=&\! {\int}_{\bar{D}} R_{a} \boldsymbol{p} dA + {\int}_{{\Gamma}_{t}} R_{a} \boldsymbol{t} d\gamma, \end{array} $$
(18)

and with p as distributed loads per unit area of \(\bar {D}\), t as axial forces per unit length of border Γt, and H the material tensor describing the linear elastic behavior of the shell. Its expression is given in Appendix A.2.

3.2.2 Multi-patch analysis

By comparing the basic solid-shell NURBS element with the Kirchhoff-Love NURBS shell element, it is clear that the first is simpler. In addition to this practical aspect, Kirchhoff-Love element faces some difficulties when it comes to enforce the G1-continuity between patches, fix the angle between surface folds, enforce symmetry conditions, and prescribe rotational Dirichlet boundary conditions. Computational formulations to overcome these difficulties are usually either expensive or difficult to implement and this issue is still of interest (Apostolatos et al. 2015; Guo et al. 2017; Duong et al. 2017; Coox et al. 2017). In this paper, the bending-strip approach (Kiendl et al. 2010; Goyal and Simeon 2017) is used to handle multi-patch discretization and thus, in particular, to perform the coupling between stiffeners and panels when a stiffened structure is investigated. The idea is to introduce additional patches of fictitious material, namely the bending strips, where the patches are joined with C0 continuity. The material has zero membrane stiffness and non-zero bending stiffness only in the direction transverse to the strip. In practice, adding the bending strips consists in adding terms to the global stiffness matrix introduced in (18). The stiffness matrix of a bending strip is the same as the one of a classical Kirchhoff-Love NURBS patch, except the material tensors:

The membrane material tensor is null and the bending material tensor \(\mathsf {H}_{\phantom {ab}}^{{\text {\textsf {bnd-strip}}}}\) is given by

$$ \mathsf{H}^{{\text{\textsf{bnd-strip}}}} = \mathsf{P}^{T}\cdot \mathsf{\widehat{H}}^{{\text{\textsf{bnd-strip}}}} \cdot \mathsf{P},\quad \mathsf{\widehat{H}}^{{\text{\textsf{bnd-strip}}}} = \left[\begin{array}{lll} E & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right] $$
(19)

and with E as the directional bending stiffness. Matrix \(\mathsf {\widehat {H}}_{\phantom {ab}}^{{\text {\textsf {bnd-strip}}}}\) describes the stress-strain relationship in the local coordinate system defined by

$$ \mathbf{e}_{1} = \frac{\mathbf{a}_{1}}{|\mathbf{a}_{1}|}, \qquad \mathbf{e}_{2} = \frac{\mathbf{a}_{2}-\left( \mathbf{a}_{2}\cdot\mathbf{e}_{1}\right)\mathbf{e}_{1}} {|\mathbf{a}_{2}-\left( \mathbf{a}_{2}\cdot\mathbf{e}_{1}\right)\mathbf{e}_{1}|}, \qquad \mathbf{e}_{3} = \mathbf{a}_{3}. $$
(20)

Finally, matrix P maps the components of the strain tensor with respect to the contravariant basis vectors to those with respect to local orthonormal basis ei.

4 Investigation on preliminary optimization examples

4.1 Description of the numerical examples

In order to investigate the use of isogeometric solid-shell elements for shape optimization of shell structures, two optimization examples depicted in Fig. 5 are first studied. The motivation is to ensure compatibility of solid-shell NURBS elements with isogeometric shape optimization. The effectiveness of the isogeometric Kirchhoff-Love shell formulation for shape optimization of thin structures no longer needs to be proven. Therefore, there is a great interest in comparing the optimum results obtained by solid-shell elements to those obtained by the Kirchhoff-Love formulation.

Fig. 5
figure 5

Numerical examples to investigate the use of isogeometric solid-shell elements for shape optimization of shell structures. a Pinched cylinder. b Pinched hemisphere

Both the pinched cylinder and the pinched hemisphere are known from the shell obstacle course (Belytschko et al. 1985). These optimization problems are non-convex and are numerically challenging. In fact, the pinched hemisphere and the pinched cylinder are commonly studied to test high-efficient shell elements. The hemisphere is challenging in terms of locking: it exhibits almost no membrane strains. The pinched cylinder is even more severe. The loading and the displacement boundary conditions lead to a highly localized strain state. The local loading associated with the curved geometry makes the problem challenging numerically in terms of both locking and representation of complex membrane states. Optimizing this set of problems automatically requires accurate analysis results. Approximation error of sensitivity analysis can lead to different local minimum and unfortunately lead to poor optimal geometry (Kiendl et al. 2014).

4.2 Pinched cylinder

We first deal with the test case of the pinched cylinder (see Fig. 5a). The optimization model is chosen relatively coarse in order to keep the shape simple. Because of the complexity of the strain state generated by the local loading, a fine optimization model would lead to a too complex final shape. Due to the symmetry of the problem, one eighth of the cylinder is considered; hence, only one NURBS patch is needed. In the framework of the results presented in Fig. 6, the optimization model is built with uniform knot vectors which discretize the patch in three and four elements in the circumferential and the axial direction respectively. Degree 2 is chosen in both directions. With such an optimization model in hand, six design variables update the geometry as depicted in Fig. 6a. Variables named xi move some control points in the x-direction, whereas variables denoted ri move some control points in the radial direction. At the patch boundaries, groups of two or four control points are set in order to preserve a smooth G1-continuous shape as explained in Fig. 3. All variables are constrained by bounds of [0,60]. Analysis is performed with cubic elements. Refinement level of 4 and 3 are set in the circumferential and the axial direction respectively, leading to an analysis model of 1536 elements.

Fig. 6
figure 6

Shape optimization of the pinched cylinder. a Six design variables update the optimization model. b Final shapes obtained by both shell formulations. c Comparison of the final shapes depicted as the distance between their mid-surface

We run the shape optimization with Kirchhoff-Love NURBS shell elements and with Solid-shell NURBS elements. Final shapes are identical as shown in Fig. 6. The difference between both results is not visible when looking at the design modifications. To further compare the results, the distance between the mid-surfaces is presented. The maximum gap between the optimal surface obtained by Kirchhoff-Love elements and the final mid-surface obtained by Solid-shell elements is about 0.5 which is, by comparison with the range of allowed design variation, very small. The maximum gap normalized by 60 is lower than 1%. Table 1 gives the optimal values of the design variables for both shell formulations. Results are similar and the relative gap (defined as |sKLsSolid|/60) for each variable does not exceed 1%.

Table 1 Optimal values of the design variables for the shape optimization of the pinched cylinder

The small difference in final design when using either Kirchhoff-Love elements or Solid-shell elements may be a result of the difference in converged solutions. It has been shown that the converged solution using NURBS solid-shell elements for the pinched cylinder problem is a little softer than the reference solution (Bouclier et al. 2013; Hughes et al. 2005). This little difference in solution may influence the shape updates and finally lead to a slightly different optimal design. Beyond that, the shape optimization of the pinched cylinder reveals very similar behavior for both shell formulations. During the optimization process, the shape updates are similar and it has been observed that the convergence is reached after the same amount of iterations.

4.3 Pinched hemisphere

The second example of the pinched hemisphere helps us to further investigate the use of solid-shell NURBS elements for shape optimization of shells. Note that the same test case has been conducted by Kiendl et al. (2014) in the context of isogeometric shape optimization. The symmetry of the problem allows to consider only one quarter of the structure. Hence, only one NURBS patch is needed. The optimization model is built with uniform knot vectors which discretize the geometry in 5 quadratic elements per parametric direction. Twenty-five design variables depicted in Fig. 7a are defined in order to prescribe the shape modifications in radial direction. Once again, the boundary control points are coupled in order to preserve a smooth G1-continuous shape. All variables are constrained by bounds of [− 1,1]. Further k-refinement is applied to perform the analysis, leading to an analysis model with 400 cubic elements. Tests showed that this refinement level was adequate to converge to the good-looking optimal design.

Once again, we run the optimization with the solid-shell NURBS elements and compare the results with those provided by Kirchhoff-Love NURBS elements. Figure 7b presents the optimal design obtained by both formulations. Despite the complexity of this optimization problem, the final shapes are very similar: no visible difference can be observed. Similar hollows and bumps are located on both optimal designs. To compare more in detail the results, the distance between the two mid-surfaces is computed (see Fig. 7c). The maximum gap in shape is about 6.34 × 10−3 which is very small in comparison with the allowed range of design modification. Normalized by 2, the maximum relative distance between the optimal mid-surfaces is lower than 0.5%. Final values of the cost function also demonstrate the similarity between the optimal design obtained with the solid-shell NURBS elements and the one obtained with the Kirchhoff-Love NURBS elements. The final compliance is 1.34 × 10−3 for the solid-shell case and 1.30 × 10−3 for the Kirchhoff-Love case. However, the final shape obtained by Kirchhoff-Love NURBS elements is not better. Note that in order to correctly compare the final shapes, the compliance has to be evaluated on the same analysis model (Kiendl et al. 2014). Strain energy is evaluated for the optimized shapes in a post-processing step using a fine mesh with quartic Kirchhoff-Love NURBS elements. This post-processing procedure reveals that both shapes give a final compliance of 1.34 × 10−3 which is 1.5% of the initial value 9.24 × 10−2.

Fig. 7
figure 7

Shape optimization of the pinched hemisphere. a Twenty-five design variables update the optimization model. b Final shapes obtained by both shell formulations. c Comparison of the final shapes depicted as the distance between their mid-surface

Beyond the similarity in the final shape, the whole optimization histories look alike. Figure 8 shows the convergence of the objective function in both cases either with solid-shell NURBS elements or with Kirchhoff-Love NURBS elements. Optimization processes converge at the same speed and stop after an equivalent number of iterations within a given tolerance on function value. Some of the intermediary shapes are also shown in Fig. 8. Shape updates are very similar and the different hollows and bumps appear at the same iteration during the optimization.

Fig. 8
figure 8

History of compliance and shape during the optimization of the pinched hemisphere when using Kirchhoff-Love NURBS shell elements and NURBS-based solid-shell elements

5 Application to shape optimization of structures with variable thickness

The volume representation of the structure offers the possibility to optimize the thickness profile continuously. This interesting feature is investigated through two examples. First, simultaneous shape and thickness optimization is performed on a stiffened cylinder. Secondly, we present a multi-model approach to combine benefits of both Kirchhoff-Love and solid-shell formulations.

5.1 Stiffened cylinder: shape and sizing optimization

The test case of the stiffened cylinder on which both sizing and shape optimization will be performed is derived from the already discussed pinched cylinder problem (see Figs. 5 and 6). Two stiffeners are added to the cylinder as depicted on Fig. 9. The stiffeners are located at heights 150 and 450. Initially, these stiffeners have a constant rectangular cross section of height 30 and thickness 3. The other geometric and material parameters are detailed in Fig. 5. The optimization problem consists in modifying the cross section along the stiffeners in order to improve the global stiffness of the structure. A volume constrain is set in order to keep the final volume lower or equal to the initial one V0. Due to the symmetry of the problem, only an eighth of the structure is considered.

Fig. 9
figure 9

The stiffened cylinder. Two stiffeners are added to the initial pinched cylinder test case. The left side depicts a global 3D view of the problem. The right side shows a top view of one quarter of the stiffener and its cross section for several angles (notes: thickness is magnified by a factor of 4 for better visualization; this detailed view of the stiffener will be useful to depict the optimal designs in Fig. 11)

The optimization procedure is done here in two steps. Height and thickness of the stiffener are optimized one-by-one. Since the thickness is much less sensitive than the height, combining both quantities in a single optimization problem may lead to mostly modify the height of the stiffener. From here on, the shape step denotes the change in height and the sizing step denotes the change in thickness. A first set of design variables h updates the height of the stiffener as depicted on Fig. 10a. A second set of design variables t modifies the thickness as shown in Fig. 10b. Obviously, the design parametrization is not unique. Depending on how complex the final shape is allowed to be, a simpler or finer parametrization can be chosen. However, this example shows that using solid-shell NURBS-based elements offers an interesting way to optimize through the thickness. Smooth and continuous thickness variations can be imposed.

Fig. 10
figure 10

Shape and sizing optimization with solid-shell NURBS-based elements. The cross section of the stiffener can be geometrically parametrized and thus optimized. Here, for each section of control points, two variables var1 (a) and var2 (b) impose local design modifications in the height and in the thickness directions respectively

In this work, the optimization problems behind the shape step and the sizing step are different. The shape step consists in minimizing the compliance C with a maximal volume constrain. An additional bound is set in order to limit the height of the stiffener h in the range [25,100]. The sizing step minimizes the volume V under the constrain that the final compliance is lower or equal to the one obtained from the shape step C. The design space for the thickness t is limited to [0.5,3.0]. The global optimization process is made of sequences of a shape step followed by a sizing step. The fixed point process iterates until the global convergence is reached; that is, convergence on the design variables, the compliance, and the volume. The kth sequence takes the following form:

(21)
(22)

Both optimization problems are complementary. The shape step will use all the available material in order to minimize the compliance. The sizing step rearranges the material distribution through the thickness in order to save material. Then, this saving material can be further used in the shape step in order to continue minimizing the compliance. This sequential optimization strategy is sensitive to the initial starting point and may lead to local optimum. The height and the thickness design variables are decoupled. Thus, to ensure a good quality result, we performed a multi-start algorithm. On top of that, we notice that multidisciplinary optimization strategies could be of interest to properly solve this problem and we refer the interested reader to Balesdent et al. (2012) and Martins and Lambe (2013) for futher details regarding this point.

The results of this study are given in Fig. 11. More precisely, Fig. 11a presents the optimal design when only the height of the stiffener is modified and Fig. 11b depicts the final design when both shape and sizing optimizations are performed. Optimizing through the thickness leads to a better design in the sense of the compliance. It helps to make a better use of the material volume. By reducing the thickness in some locations, the height of the stiffener can be increased in others. The initial compliance C0 in the case of a straight stiffener is about 1.73e-06. When only shape optimization is employed, the final compliance C1 is about 1.68e-06. The final compliance C2 when both shape and sizing optimizations are performed is about 1.64e-06. The compliance gain can be defined as Gi = 1 − Ci/C0. Therefore, the compliance gain G2 when adding the sizing optimization is almost twice the compliance gain G1 when only the height of the stiffener is taken into the optimization process. Figure 12 depicts the optimization history. It takes three global iterations to converge. The main design changes are imposed during the first stage (i.e., the first succession of a shape and a sizing step) and the second shape step. For this optimization case, these steps may be enough to get an optimal geometry. Finally, this example shows that the solid-shell NURBS element offers an interesting way to deal with sizing optimization. It extends all the advantages of the NURBS parametrization to sizing optimization problem.

Fig. 11
figure 11

Optimization results of the stiffened cylinder. a Final shape when only the stiffener height is modified. b Final shape when both height and thickness are optimized. From left to right are depicted a general 3D view of the final shapes, a top view and several cross sections of the final stiffeners, and the displacement fields for these two optimized designs (annotations on Fig. 9 can be helpful to understand the detailed views of the stiffener)

Fig. 12
figure 12

Optimization history of the bi-step approach applied to the stiffened cylinder problem. Three global iterations with successive shape and sizing steps are preformed until convergence. Red zones denote the shape steps where the compliance is minimized and blue zones denote the sizing step where the volume is minimized

5.2 Multi-model optimization

In this last example, we present a multi-model optimization. The idea is to combine the potential of both Kirchhoff-Love and Solid-Shell formulations. In a first stage, the Kirchhoff-Love formulation is used to perform a shape optimization in which the shell structure is varied in the out-of-plane direction. Then, the optimal surface is used to generate a volume model of the structure. In the second stage, thickness optimization is done on the volume model by using the developed solid-shell approach. We notice that this multi-model optimization appears consistent since it corresponds to the design process of structures. The first stage is the prototyping in which the influence of many parameters is studied. It requires a model with low computational cost in order to perform many simulations. Once the global shape of the structure is obtained, a high-fidelity volume model is created. Instead of directly using this model to generate the CAD drawings, one can perform a last optimization to apply final adjustments. Thanks to the isogeometric approach, the final geometry can directly be transferred to the manufacturing step since no conversion in a CAD format is required.

We show the reliability of the procedure on the following example. Starting from a roof made of a square plate, the objective is to optimize the shape and the thickness of the structure by minimizing the compliance under a maximal volume constraint. This example is based on the work of Kegl and Brank (2006) and similar studies can be found for example in Bletzinger et al. (2005) and Ikeya et al. (2016). The mechanical parameters of the study are the following: Young’s modulus E = 210e9, Poisson’s ratio ν = 0.30, length L = 10, thickness h = 0.10, uniform snow load P = 500. The four corners of the plate are fixed. For the first step, the optimization model is defined by a single quadratic Nurbs patch which discretize the whole structure in 4-by-4 NURBS elements. The surface is parametrized with 32 design variables; the four control points located at the corners are kept fixed. A refinement level of 3 is applied in both parametric directions, resulting in an analysis model with 1024 quadratic elements. The volume is constrained to be lower than 110% of the initial volume. Figure 13 shows the final shape. The SLSQP optimizer converges after approximately 40 iterations. The compliance is drastically reduced with a factor of 1.44e-03. The final shape has four symmetric planes defined by the origin and the normal vectors X, Y, X + Y, and X-Y. This is expected since the problem presents these symmetries. Therefore, some design variables have identical optimal values. The fact that we obtain the symmetries without setting groups of design variables is a meaningful indication to validate the result. Moreover, our result is similar to the one of Kegl and Brank (2006) when the control points are only modified in Z-direction (case B in section 5.2 of the cited paper). The optimal positions of the control points are given on the top view and on the side view of the structure on Fig. 13. This global shape could have been obtained using the solid-shell model as in the previous examples of this paper.

Fig. 13
figure 13

Optimal shape of a square plate subjected to an uniform snow load. a 3D view, b top view, and c side view of the final structure. Red points represent the control points

Once the global shape of the structure is obtained, one can build a volume model. Here, we create it by offsetting the previous surface in Z-direction with a distance of h = 0.10. This time, only one quarter of the structure is considered. In order to enrich the design model, knot insertion is performed. The in-plane parametric directions are defined by the same knot vector \(U=\{000\frac {1}{6}\frac {2}{6}\frac {1}{2}\frac {3}{4}111\}\). Degree one is chosen in the thickness direction for building the optimization model. Thus, the optimization model counts 25 elements. The design variables modify the distance between the upper and lower surfaces. A total of 36 variables are defined. They parametrize the distance between neighboring control points of both upper and lower surfaces. The design variables are bounded so that the distance between the neighboring control points varies in range \(t_{\min }= 0.025\) and \(t_{\max }= 0.20\). Since the loading is applied on the upper surface, we keep this surface unchanged. Only the lower control points are moving. The control points located on the symmetric planes are coupled in order to preserve the geometric continuity. Figure 15a gives an idea of the initial configuration of the optimization model. A refinement level of two is performed to build the analysis model: it discretizes the structure with 20-by-20 quadratic elements. Figure 15a shows the initial displacement field computed with this discretization.

The optimization problem is similar as for the first step. The compliance is minimized under the constraint of keeping the volume lower than the one if the initial configuration. The optimization history is presented in Fig. 14. The final ratio of the compliance is below 0.55. Therefore, the thickness optimization drastically improves the behavior of the structure. This gain in stiffness can be observed on the displacement field. Figure 15 depicts the optimal geometry and the displacement field in Z-direction. The overall displacement is reduced in comparison with the initial geometry. Some shape updates are also given in Fig. 14 where the colormap represents the thickness of the structure. It can be observed that the thickness distribution of the final geometry is quite complex. In case of discrete thicknesses, being able to accurately represent such a distribution may require a high number of elements. Thus, the number of design variables would be higher. Finally, the optimal design (see Fig. 15) has regions with thin thickness and regions with thick thickness. At the corners, the thickness is equal to 0.20 which is, regarding the slenderness of the structures, relatively important. Using Kirchhoff-Love elements would not be relevant to analyze such a structure.

Fig. 14
figure 14

Variable thickness roof. Evolution of the compliance, the volume, and the thickness distribution during the optimization

Fig. 15
figure 15

Volume models of the roof. a Initial geometry and initial Z-displacement field. b Optimal geometry and its corresponding Z-displacement field

6 Conclusion

In the context of isogeometric shape optimization of shells, very little work tackles the influence of the chosen shell formulation. We carry out a range of numerical experiments to compare the results of the proposed solid-shell approach with the commonly adopted technique based on the Kirchhoff-Love formulation. Similar results have been observed for the two shell formulations in terms of final optimized design and in terms of global behavior during the optimization process (convergence speed, intermediary shapes). As a result, this first study accounts for the performance of the developed solid-shell approach for standard shape optimization.

Unlike pure shell elements, we emphasize that the solid-shell element used in this work is based on a 3D solid continuum element. With any simple IGA code in hand, one can perform shape optimization of shells without almost any additional developments by imposing identical shape updates on both inner and outer surfaces. This approach leads to identical optimization results as surface shell formulations. In addition, since solid-shell elements are based on a 3D solid continuum element, analytical sensitivities should reasonably be computed even for sophisticated structural response (Cho and Ha 2009; Qian 2010; Ha 2015; Radau et al. 2017), even though this point has not been addressed in the present paper.

The major interest of solid-shell elements concerns the geometric representation of the thickness. This is the most important point according to us since it offers new possibilities from the design point of view. Continuous and smooth thickness variations are imposed by modifying the control point coordinates of one outer surface. Thanks to NURBS functions, very few design variables are required to describe quite complex geometries. The direct link with the CAD format provided by the NURBS functions is also highly attractive in this context. The volume representation of the structure makes the optimal shape directly available for CAD drawings, and thus the transfer to the manufacturing step is simplified.