Keywords

1 Introduction

Funicular shells are shaped to bear loads without introducing bending. They exploit the entire cross section, minimizing the material waste. For these reasons, funicular shells are an example of efficiency and many design approaches have been developed in order to find the “right” shape in accordance with the applied load [1].

Nevertheless, when bending stiffness is not negligible and/or the boundary conditions are not properly assigned, a funicular behaviour is not possible and bending arises. Accounting for this occurrence, the actual funicular behaviour of shells can be quantified by means of a method based on Relaxed Funicularity (R-Funicularity) [2]; the parameter used to quantify the funicularity is the generalized eccentricity. The amount of bending moments exploited by a shell to resist loads can be reduced by means of shape optimization, i.e. an inverse problem properly formulated to minimize an objective function somehow measuring the shell’s bending moments. The minimization is pursued by updating some shell geometric features, i.e. variables, admitted to vary within a range. The goal of bending moments reduction is usually approached by minimizing the strain energy [3,4,5]; other objectives of shape optimization can be, for example, the minimization of the weight, the stress levelling [3, 4] or the minimization of displacements [6].

In [7], a shape optimization process aimed to find R-Funicular shells by minimizing the generalized eccentricity extrema has been developed. Geometry and mechanical behaviour of shells are strictly linked, thus the description of the first strongly influences the solution quality and the computational cost. Often, see for example [5, 6], when an R-Funicular shell is sought, the shape is described by means of analytical functions [7,8,9].

In this work, the geometry definition shown in [8] is modified by introducing B-spline basis functions and associated control points [10] to describe the shell mid-surface. Compared to existing works in which this approach was used (e.g., [5, 11]), here an isogeometric (IG) refinement is applied in order to improve the local control of the shape in the optimization process. An advantage of this approach is that, since it introduces new vertices in the control polygon, the number of optimization variables becomes tunable. This feature is exploited by performing a shape optimization where, starting with the lowest number of control points used to generate the initial geometry, additional vertices can be entered as new variables whenever a more accurate local control of the surface is needed. A similar approach has been employed in [12], where, in order to expand the feasible design space, a refinement of the initial geometry has been performed.

After a brief description of the concepts of R-Funicularity and generalized eccentricity e(α), we discuss the optimization strategy with a major focus on the geometry description. Two effective numerical examples are then proposed and the conclusions are drawn.

2 Generalized Eccentricity and R-Funicularity

The generalized eccentricity measure and its use to define the R-Funicularity concept are briefly introduced in this section. For a complete discussion, please refer to [2].

Let us consider a point P belonging to the surface S, endowed with its orthonormal basis \({{\varvec{a}}}_{1},\boldsymbol{ }{{\varvec{a}}}_{2},\boldsymbol{ }{{\varvec{a}}}_{3}\), and a generic direction of the tangent plane represented by the unit vector \({\varvec{u}}=\left(\mathrm{cos}\theta ,\mathrm{sin}\theta \right)\) (Fig. 1).

Fig. 1.
figure 1

Local orthonormal basis on P belonging to the surface S.

The local tensors \({\varvec{N}}\) and \({\varvec{M}}\), respectively associated with the membrane forces and the bending moments, can be evaluated in each point P:

$${\varvec{N}} = \left( {\begin{array}{*{20}c} {N_{11} } & {N_{12} } \\ {N_{12} } & {N_{22} } \\ \end{array} } \right){,}\;{\varvec{M}} = \left( {\begin{array}{*{20}c} {M_{11} } & {M_{12} } \\ {M_{12} } & {M_{22} } \\ \end{array} } \right)$$
(1a,b)

Then, \(N(\theta ){={\varvec{u}}}^{T}{\varvec{N}}{\varvec{u}}\) and \(M\left(\theta \right)={{\varvec{u}}}^{T}{\varvec{M}}{\varvec{u}}\) are, respectively, the generalized membrane force acting along \({\varvec{u}}\) and the generalized bending moment acting in the plane \(\left({\varvec{u}},{{\varvec{a}}}_{3}\right)\). Using the multiple-angle and the power-reduction trigonometric formulae and setting \(\alpha =2\theta\), it has been possible to write the following explicit form for Eq. \(N(\theta )\) and \(M(\theta )\):

$$\begin{gathered} N\left( \alpha \right) = \overline{N} + \hat{N}cos\alpha + N_{12} sin\alpha \hfill \\ M\left( \alpha \right) = \overline{M} + \hat{M}cos\alpha + M_{12} sin\alpha \hfill \\ \end{gathered}$$
(2)

where \(\overline{N }=\frac{{N}_{11}+{N}_{22}}{2}\), \(\widehat{N}=\frac{{N}_{11}-{N}_{22}}{2},\) \(\overline{M }=\frac{{M}_{11}+{M}_{22}}{2}\), \(\widehat{M}=\frac{{M}_{11}-{M}_{22}}{2}\). Then, the generalized eccentricity is defined as the ratio:

$$e\left(\alpha \right)=\frac{M\left(\alpha \right)}{N\left(\alpha \right)}$$
(3)

Equation 2 is the equation of a parametric curve in the plane \(\left(N,M\right)\in {\mathbb{R}}^{2}\), that is an ellipse when \(\alpha \in \left[0,\,2\pi \right]\), called ellipse of eccentricity or Relaxed Funicularity (RF) ellipse (Fig. 2).

It is well known that a surface structure is funicular, for a given load, if (4) is verified.

$$M\left(\alpha \right)=0\,\forall \alpha$$
(4)

The actual behaviour exhibited by shells with non negligible thickness shows that the nullity of bending internal forces is an ideal that never verifies. The aim of R-Funicularity is to define a criteria to consider a structure funicular in a relaxed manner even if Eq. 4 is not respected, when \(e\left(\alpha \right)\) belongs to an admissible range set as \(\left[-\lambda h,\,\lambda h\right]\), where h is the thickness of the surface and \(\lambda \in \left[ {0,\,{\raise0.5ex\hbox{$\scriptstyle 1$} \kern-0.1em/\kern-0.15em \lower0.25ex\hbox{$\scriptstyle 2$}} } \right]\) an admissibility coefficient that depends on the applications.

In the light of above, the Relaxed Funicularity (RF) is defined as follow: “a shell is R-Funicular if, \(e\left(\alpha \right)\in \left[-\lambda h,\,\lambda h\right]\)  \(\forall \alpha \in \left[0, 2\pi \right]\), for each point of the surface”. In practice the problem of the R-Funicularity is that of verifying:

$$\left[min\left(e\left(\alpha \right)\right), max\left(e\left(\alpha \right)\right)\right]\subset \left[-\lambda h,\,\lambda h\right]$$
(5)

For completeness, we show the graphical representation of \(e\left(\alpha \right)\) in the \((N,M)\) plane. More details about its use are given in [2].

Considered the definitions below, the generalized eccentricity is the Rayleigh quotient: \(e\left(\theta \right)=\frac{{{\varvec{u}}}^{{\varvec{T}}}{\varvec{M}}{\varvec{u}}}{{{\varvec{u}}}^{{\varvec{T}}}{\varvec{N}}{\varvec{u}}}\), and the maximum and minimum eccentricities (\({e}_{max}\), \({e}_{min}\)) are found by solving the associated eigenvalue problem:

$$({\varvec{M}}-e{\varvec{N}}){\varvec{u}}=0$$
(6)

The solution of (6), discussed in [2], depends on the algebraic conditioning of M and N and gives the local extrema \({e}_{max}\) and \({e}_{min}\) shown in Eq. (17) of [2].

The global extrema of the eccentricities can be finally evaluated as follows:

$$min\left(e\left(\alpha \right)\right),max\left(e\left(\alpha \right)\right)=\left\{\begin{array}{cc}-\infty ,+\infty & if\mathrm{ det}\left(N\right)<0\\ {e}_{min}, {e}_{max}& if\mathrm{ det}\left(N\right)\ge 0\end{array}\right.$$
(7)

The angles \({\varphi }_{max}=\mathrm{atan}({e}_{max})\) and \({\varphi }_{min}=\mathrm{atan}({e}_{min})\) in Fig. 2 have been used to define the functional to be minimized with the aim of improving the shells’ mechanical behaviour.

Fig. 2.
figure 2

RF ellipse, eccentricity extrema and limits \({e}_{max}\) and \({e}_{min}\), \({e}_{lim}\) and \(-{e}_{lim}\), respectively equal to the slope of the upper and lower blue and red lines; eccentricity angles \({\varphi }_{max}\), \({\varphi }_{min}\)

3 Shells’ Shape Optimization for R-Funicularity

The main goal of the shells’ shape optimization process proposed in [7] is to obtain a shape for the shell to be R-Funicular and is pursued by minimizing the generalized eccentricity extrema \({e}_{max}\) and \({e}_{min}\) all over the shell. Here the procedure is modified at the geometry definition level. Aiming at a wider design freedom, the shape is now described with B-spline surfaces and an IG refinement is applied to obtain a major local control of the shape; a MATLAB Toolbox [13] has been employed for this purpose.

3.1 Modelling of Geometry and Isogeometric Refinement

The shell geometry has been modelled by means of a non-rational B-splines surface, obtained by fixing a bidirectional net of control points \({\mathbf{P}}_{i,j}\), two knots vectors \(\mathbf{U}=\{0,\dots ,0,{u}_{p+1},\dots ,{u}_{r-p-1},1,\dots ,1\}\) and \(\mathbf{V}=\{0,\dots ,0,{v}_{q+1},\dots ,{v}_{r-q-1},1,\dots ,1\}\) and the products of the two univariate B-spline functions of degree \(p\) and \(q\), \({N}_{i,p}\left(u\right)\) and \({N}_{j,q}\left(v\right)\):

$$\mathbf{S}\left(u,v\right)=\sum_{i=0}^{n}\sum_{j=0}^{m}{N}_{i,p}\left(u\right){N}_{j,q}\left(v\right){\mathbf{P}}_{i,j}$$
(8)

The vectors \(\mathbf{U}\) and \(\mathbf{V}\) contain, respectively, \(r+1\) and \(s+1\) knots, being:

$$\begin{gathered} r = n + p + 1 \hfill \\ s = m + q + 1 \hfill \\ \end{gathered}$$
(9a,b)

The surface resulting from (8) is then manipulated by performing the isogeometric h-refinement that consists in the well-known algorithm of knots insertion. This type of refinement has multiple uses, among which: evaluating points and derivatives on curves and surfaces, subdividing curves and surfaces, adding control points in order to increase flexibility in shape control [10].

In order to understand the effect of knot insertion, let us consider a B-spline curve \(\mathbf{C}=\sum_{i=0}^{n}{N}_{i,p}\left(u\right){\mathbf{P}}_{i}\) defined on \(\mathbf{U}=\left\{{\mathrm{u}}_{0},\dots ,{\mathrm{u}}_{m}\right\}\), whose vector space is \({\mathcal{V}}_{U}\). If we insert \(\overline{u }\in \left[{u}_{k}, {u}_{k+1}\right)\) into \(\mathrm{U}\) we obtain the new vector \(\overline{\mathbf{U} }=\{{\overline{u} }_{0}={u}_{0},\dots ,{\overline{u} }_{k}={u}_{k},\dots ,{\overline{u} }_{k+1}=\overline{u },{\overline{u} }_{k+2}={u}_{k+1},\dots ,{\overline{u} }_{m+1}={u}_{m}\}\), whose vector space \({\mathcal{V}}_{\overline{\mathrm{U}} }\) has dimension \(\mathrm{dim}\left({\mathcal{V}}_{\overline{\mathrm{U}} }\right)=\mathrm{dim}\left({\mathcal{V}}_{U}\right)+1\) and, since \({\mathcal{V}}_{U}\subset {\mathcal{V}}_{\overline{\mathrm{U}} }\), it is possible to represent \(\mathbf{C}\) on \(\overline{\mathbf{U} }\):

$$\mathbf{C}(\mathrm{u})=\sum_{i=0}^{n+1}{\overline{N} }_{i,p}\left(u\right){\mathbf{Q}}_{i}$$
(10)

where \({\mathbf{Q}}_{i}\) are the new control points that can be obtained by exploiting the following equality:

$$\sum_{i=0}^{n}{N}_{i,p}\left(u\right){\mathbf{P}}_{i}=\sum_{i=0}^{n+1}{\overline{N} }_{i,p}\left(u\right){\mathbf{Q}}_{i}$$
(11)

and the property according to which in a given knot span \(\left[{u}_{j}, {u}_{j+1}\right)\), at most \(p+1\) \({N}_{i,p}\) are nonzero.

Omitting the intermediate mathematical steps, that can be found in [10] together with an exhaustive treatment of the topic, the new control points (Fig. 3) are:

$${\mathbf{Q}}_{\mathrm{i}}={\alpha }_{{\varvec{i}}}{\mathbf{P}}_{i}+\left(1-{\alpha }_{i}\right){\mathbf{P}}_{i-1}$$
(12)

where

$${\alpha }_{i}=\left\{\begin{array}{c}1\\ \frac{{\overline{u }-u}_{i}}{{u}_{i+p}-{u}_{i}}\\ 0\end{array}\right. \begin{array}{c}i\le k-p\\ k-p+1\le i\le k\\ i\ge k+1\end{array}$$

and \(k\) is an index that locates the inserted knots in the vector \(\overline{\mathbf{U} }\).

Fig. 3.
figure 3

Effect of knots insertion into a quadratic curve. Blue, solid line: control polygon before knot insertion; green, dashed line: control polygon after inserting \(u=0.1\) and \(u=0.7\) into \(\mathbf{U}=\{0 0 0 0.2 0.4 0.6 0.8 1 1 1\}\).

In this specific case, basis functions of degree 2 have been employed. Initially, a net of \(3\times 5\) control points and the following knots vectors \(\mathbf{U}=\{0 0 0 1 1 1\}\) and \(\mathbf{V}=\{0 0 0 1/3 2/3 1 1 1\}\) have been considered. \(\mathbf{U}\) and \(\mathbf{V}\) contain, respectively 6 and 8 knots, accordingly to the Eqs. (9a,b). The resulting shape and the control net are depicted in Fig. 4.

Fig. 4.
figure 4

Starting shape and control net

The positions of the 9 inner control points (Fig. 5) have been updated in the optimization process by varying 4 different coefficients, each multiplying the z-coordinates of the points marked with the same colour in Fig. 5; the black ones are maintained fixed. Thus, each control point admitted to vary is defined as \({{\varvec{P}}}_{i}\equiv ({x}_{i}, {y}_{i},{z}_{i}{c}_{i})\), where \({c}_{i}\) are the optimization variables. The variables of the starting shape, denoted as \({c}_{oi}\) are equal to 1.

Fig. 5.
figure 5

Plane view of the initial control net. Black dots: control points maintained fixed in the optimization process; Coloured dots: control points updated in the optimization process.

The two knot vectors \({\mathbf{U}}_{1}=\{1/3 2/3\}\) and \({\mathbf{V}}_{1}=\{1/6 1/2 5/6\}\) have been inserted, respectively into \(\mathbf{U}\) and \(\mathbf{V}\), obtaining the new control net shown in Fig. 6.

Fig. 6.
figure 6

Starting shape and new control net

Also in this case, the positions of the 30 inner control points (Fig. 7) have been updated in the optimization process by varying 9 different coefficients, each multiplying the z-coordinates of the points marked with the same colour in Fig. 7; the black ones are maintained fixed. The coordinates of the control points are defined analogously to the previous case.

Fig. 7.
figure 7

Plane view of the refined control net. Black dots: control points maintained fixed in the optimization process; Coloured dots: control points updated in the optimization process.

3.2 Optimization Strategy

The shape optimization process is illustrated in Fig. 8. Firstly, a few general definitions should be provided: shell material, eccentricity limits and boundary conditions. The initial geometry is the B-spline surface described in Sect. 3.1 and shown in Fig. 4, properly discretized to build a Finite Element (FE) model. In the following step a linear static analysis of the structure subject to the self-weight load and an in plan uniform vertical load of \(5\,{\rm kN/{m}}^{2}\) is performed and the internal moments and forces are stored for each i-th area element of the model. The minimum and maximum eccentricities of each i-th element are computed by using bending moments normalized with respect to the shell thickness and collected in the vectors \({{\varvec{e}}}_{0,min}\)\({{\varvec{e}}}_{0,max}\) respectively. In addition, the eigenvalues \({\lambda }_{1,i}\) and \({\lambda }_{2,i}\) of the tensor \({{\varvec{N}}}_{{\varvec{i}}}\) (Eq. 1a) are evaluated and used to check if the ellipse of eccentricity of the i-th element crosses the M axis, that is \({\lambda }_{1,i}\) and \({\lambda }_{2,i}\) have different signs. Then, the values of eccentricity extrema \({e}_{min,\overline{i} }=10000\) and \({e}_{max,\overline{i} }=10000\) are imposed to the \(\overline{i }\) areas with discordant eigenvalues. The eccentricities vectors that result from these computations, \({{\varvec{e}}}_{min}\)\({{\varvec{e}}}_{max}\), are used to evaluate the objective function to be minimized. If convergence is reached the process stops, otherwise the shape is updated by moving the position of the control points P or Q and the procedure is repeated until convergence.

Defining \({\varphi }_{M,i}=\mathrm{max}(\left|{\varphi }_{max,i}\right|,\left|{\varphi }_{min,i}\right|)\), where \(i=1,\dots , N\), being \(N\) the number of shell elements in the FE model, the objective function is defined as the root mean square of \({\varphi }_{M,i}\):

$${f}_{obj}=\sqrt{\frac{{\sum }_{i}{\varphi }_{M,i}^{2}}{N}}$$
(13)

In Table 1, the optimization settings are summarized.

Fig. 8.
figure 8

Overview of the shape optimization process

Table 1. Optimization settings

4 Results and Conclusions

The shape optimization results are expressed in terms of shape variation and eccentricity distribution. As shown in Fig. 9, left, the starting shell is mostly non R-Funicular, being the eccentricity extrema larger than \({e}_{adm}\) and the value of the objective function \({f}_{obj}=1.28\). The image in the centre of Fig. 9 shows the results obtained by means of the first shape optimization, where only 4 variables were updated to modify the control net and, consequently, the shell’s shape. The optimization variables, starting from \({c}_{o1}={c}_{o2}={c}_{o3}={c}_{o4}=1\), turn \({c}_{1}={0.1, c}_{2}=0.16, {c}_{3}=0.24, {c}_{4}=0.12\) after optimization. A notable improvement of the shell funicular behaviour has been obtained, especially in the central areas of the shell, also proved by the objective function that reaches the value \({f}_{obj}=0.42\). The right image (Fig. 9) shows the results obtained by performing the shape optimization after knots insertion. Also in this case, the starting variables have been fixed to 1, the parameters after shape optimization are:

\({c}_{1}={0.59, c}_{2}=0.53 {c}_{3}=0.39 {c}_{4}=0.57, {c}_{5}=0.49, {c}_{6}=0.33, {c}_{7}=0.91, {c}_{8}=0.76, {c}_{9}=0.47\). It can be observed that the increased local control and thus the major number of optimization parameters obtained by knot insertion allowed to obtain a shell mostly R-Funicular. The objective function, starting from 1.28, reduces to 0.32.

According to R-Funicularity, a good shell has been obtained in both examples. Nevertheless, by comparing the shapes and the eccentricity distribution, it can be stated that enriching the initial geometry description by means of IG refinement allowed for a better shape adjustment, also confirmed by the initial and the final \({f}_{obj}\) in the two proposed cases. The objective function, in fact, providing the root mean square of the eccentricity angles (Fig. 2), gives a summary measure of how much the shell behaviour differs from the R-Funicular one, which is immediately evident by comparing the values assumed by \({f}_{obj}\) before and after the optimization with \(\mathrm{atan}\left({e}_{adm}\right)=0.165\).

In the light of above, we believe that this approach could be useful when the accuracy of the shape local control should be modulated according to design and computational demands. Further studies about this approach could be devoted to observing the objective function trend as the number of optimization variables increase, in order to state whether if there is a threshold number over which the function no longer decreases. Also, attention should be paid to the numerical issues that could emerge when a large number of variables are considered.

Fig. 9.
figure 9

Shapes and eccentricity distribution. The colorbar represents the values of the \({e}_{M,i}=max(\left|{e}_{max,i}\right|,\left|{e}_{min,i}\right|)\) that increases going from green to blue, the latter meaning that the eccentricity falls out of the cross section. The shell is R-Funicular in the light green areas. Left: before optimization, \({f}_{obj}=1.28\); centre: after optimization with 4 variables, \({f}_{obj}=0.42\); right: after optimization with 9 variables, \({f}_{obj}=0.32\).