1 Introduction

The need for efficient structures making use of modern materials with high specific stiffness and strength leading to filigree structures makes structural optimisation a popular tool. The vulnerability to stability phenomena and the sensitivity to imperfections increases with the slenderness of structures. Thus, Thompson (1972) called structural optimisation ’a generator of structural instability’. It might be desirable to include the stability behaviour in the optimisation problem. Two main tasks arise, (i) stability analysis to cover the stability behaviour in the structural analysis, (ii) the sensitivity analysis of appropriate quantities to provide the basis for efficient gradient based mathematical optimisation schemes.

The structural analysis covering stability behaviour like buckling and snapping can be categorised in linear and non-linear buckling analysis, cf. Fig. 1, where references to corresponding sections are given. The linear buckling analysis (LBA), also called eigenvalue buckling analysis, includes the estimation of critical load levels based on eigenvalue problems. Here, the eigenvalue gives information about the critical load scale. The eigenvector gives information about the buckling mode shape. Different eigenvalue problems can be set up by using information of one or two states of the load-displacement diagram, see the standard textbooks of Bathe (1996) and Wriggers (2008) for an overview. The non-linear buckling analysis (NBA) includes the full non-linear computation of the load-displacement diagram. The development of continuation or path-following methods enables the computation of load-displacement curves far beyond critical points. Limitations of load or displacement control methods are removed by simultaneous iteration on the load and displacement variables. So called arc-length methods (Wempner 1971; Riks 1972; 1979) are very common in this context. They constrain the arc-length within equilibrium iterations. Several improvements including spherical, cylindrical, elliptical, and linearised versions of arc-length control have been developed (Crisfield 1981; Ramm 1981; Schweizerhof and Wriggers 1986; Hellweg and Crisfield 1998). Alternatively work control method (Powell and Simons 1981; Bathe and Dvorkin 1983), generalised displacement control method (Yang and Shieh 1990; Leon et al. 2014) or orthogonal residual procedure (Krenk 1995) have been proposed. A brief review of non-linear solution techniques is given by Ritto-Correa (2008) and Leon et al. (2014). Collateral measures can detect the appearance of singular points within the continuation methods. Different strategies for the computation of singular points have been developed (Wriggers and Simo 1990; Fujii and Ramm 1997; Fujii et al. 2001). A direct computation scheme in the framework of finite element method was presented by Wriggers et al. (1988). The equilibrium condition is extended with a constraint equation that characterises the critical point. The consistent linearisation leads to a Newton-type method that directly converges to the critical point. A brief overview of the mentioned procedures is given by Wagner (1991).

Fig. 1
figure 1

Stability and sensitivity analysis

The optimisation is either based on the eigenvalue problem of the LBA or on the critical load scale determined within the NBA, cf. Fig. 1, where references to corresponding sections are given.

Design sensitivity analysis (DSA) provides gradient information for mathematical optimisation. The total derivatives of all objectives and constraints with respect to all design variables are determined. Approaches to DSA are overall finite differences, analytical and semi-analytical computation, see review articles by Tortorelli and Michaleris (1994) and van Keulen et al. (2005) for an overview. The analytical DSA can be derived on a discrete or a variational basis. In the discrete approach, governing equations are discretised and subsequently differentiated. Within the variational approach, sensitivity information is derived on the continuous level and discretised afterwards. Here, the material derivative approach (Haug et al. 1986; Arora 1993) and the domain parametrisation approach (Haber 1987; Tortorelli and Zixian 1993) are well known in the literature. Our alternative approach is introduced by Barthold (2002), where continuum mechanics is decomposed into physical and geometrical parts. The subsequent variations can be derived easily (Barthold et al. 2016).

Optimisation based on eigenvalue buckling analysis is performed in many publications e.g. in shape (Khot et al. 1976; Khot 1983; Khot and Kamat 1985; Gu et al. 2000), topology (Pedersen 2000; Achtziger and Kočvara 2008; Lund 2009; Gao and Ma 2015) and material (Choi et al. 1982; Lindgaard et al. 2010; Lindgaard and Lund 2010) optimisation. Weight minimisation with stability constraint based on an eigenvalue problem and optimality criteria is performed by (Khot et al. 1976) and (Khot 1983) for truss structures. Later stability constraints have been regarded based on non-linearly determined critical loads by Khot and Kamat (1985). An overview on sensitivity analysis for eigenvalues especially for multiple eigenvalues is given by Seyranian et al. (1994). Detailed computational procedures for direct and adjoint approach to DSA regarding eigenvalue buckling are presented by Gu et al. (2000) for shape optimisation.

The sensitivities for limit points from the non-linear load-displacement diagram were derived by Wu and Arora (1988). A modification applicable to bifurcation points is presented by Noguchi and Hisada (1993). Design sensitivity analysis for non-linearly determined arbitrary critical points points (including limit and bifurcation points) is presented by Reitinger et al. (1994a) and Reitinger et al. (1994b). This gradient information are applied to topology optimisation by Kemmler et al. (2005). Handling bifurcation points is in many cases more difficult. Thus, strategies have been applied to try to cause a transition of bifurcation point buckling to limit point buckling like it is presented for shell structures by Kegl et al. (2008). Due to the singularity of the tangent stiffness matrix in singular points, different interpolation schemes have been developed (Ohsaki and Uetani 1996; Kwon et al. 1999) to avoid the evaluation in the critical state. A survey on sensitivities of non-linear critical states is given by Ohsaki (2005).

In many publications semi-analytical gradients are used (Haftka 1993; Lund and Olhoff 1994; Hu 1994; Reitinger et al. 1994b; de Boer and van Keulen 2000; Özakça et al. 2003). Analytical gradients have been computed by Mateus et al. (1997). Parente and Vaz (2003) applied analytical approach to isoparametric displacement based finite elements. The variational approach to DSA was used for the critical load factor estimated by an eigenvalue problem for linear structural systems by Haug et al. (1986) and Haug and Rousselet (1980) and for non-linear structural systems by (Park and Choi 1990). Repeated eigenvalues were treated by (Choi et al. 1982). Kirikov and Altus (2011) derived analytical gradients by functional differentiation of the governing equations for beams and plates. Choi (2007) presented a variational derivation of the gradients based on the continuum formulation of stability for the geometrically linear case. However, in this recent paper analytical gradients are derived for the discrete solid shell finite element formulation. To the best of the authors knowledge these analytical sensitivities for mixed solid shell finite elements have not been presented in the literature.

Additionally, the sensitivity to imperfections of the structural behaviour is of major interest for design purposes. Imperfections are unavoidable differences between the real physical structure and the analytical model. These discrepancies can be geometrical, load, material or boundary imperfections. Geometrical imperfections, which are deviations of the perfect shape, can be realistic or worst case imperfections. Worst case imperfections minimising the critical load level can be found by solving an inverse problem using stability criteria (Deml and Wunderlich 1997; El Damatty and Nassef 2001; Kristanič and Korelc 2008). Another approach was presented by Gerzen and Barthold (2013). The influence of design changes on the equilibrium is represented by the pseudo load matrix for shape variations. This overhead of sensitivity information is analysed by a singular value decomposition to detect design changes with major influence on equilibrium.

Imperfections can be regarded in the optimisation problem. The most simple way is the optimisation of imperfect structures with initial imperfections, see Reitinger (1994) and Kemmler (2004). More costly is to include imperfection parameters in the optimisation model (Mróz and Piekarski 1998; Ohsaki et al. 1998). A recurrence optimisation is presented by Lindgaard et al. (2010). An eigenvalue maximisation finding the optimal fibre angle distribution of laminated composites and a minimisation finding the worst imperfections are performed alternating to achieve a structure insensitive to imperfections. A simultaneous analysis and design procedure is presented by Ohsaki (2002). Elishakoff and Ohsaki (2010) give an overview on hybrid optimisation.

Of special interest for stability phenomena are thin-walled shell structures. Many finite element formulations have been developed due to the need for robust and efficient analysis tools. An overview about shell finite element formulations, which are popular due to efficiency and accuracy, is given by Bischoff et al. (2004). The underlying element formulation of this paper is a non-linear solid shell. This robust mixed finite element was presented by Klinkel et al. (2006) and Klinkel and Wagner (2008). Its design sensitivity analysis, providing the pseudo load and sensitivity operators for shape variations, was derived by Gerzen et al. (2013).

The outline of this paper is as follows. In Section 2 the element formulation is presented in a compact form. Details are presented in Appendix A. The eigenvalue problem of the LBA and the direct computation scheme of the NBA is compiled in Section 3. Specifics for solid shells are presented in Section 4. A static condensation to obtain a pure displacement problem is included. The theoretical sensitivity information for single eigenvalues of LBA as well as for single limit and bifurcation points of NBA with respect to shape variations are summarised in Section 5. All quantities of the sensitivity analysis are derived in a discrete analytical way for the underlying solid shell finite element formulation in Section 6. Multiple eigenvalues and critical points are not considered. The smallest eigenvalue of the LBA and critical load scales of NBA are respectively used as objective for shape optimisation under volume constraint. Imperfections are out of the scope of this paper. The investigations are restricted to static and quasi-static processes with conservative loading. Only linear elastic materials of St. Venant-type are employed. In Section 7 notes on the computational effort are given. Section 8 shows illustrative numerical examples, and Section 9 concludes the paper.

2 Structural analysis for solid shells

The solid shell finite element formulation which was presented by Klinkel et al. (2006) and Klinkel and Wagner (2008) is adopted. A low order isoparametric eight noded quadrilateral with trilinear shape functions is employed. Static condensation will be performed to obtain pure displacement based problems. Concepts of assumed natural strains (ANS) and enhanced assumed strains (EAS) are employed to treat different locking effects. The element has 24 displacement, 25 internal strain and 18 internal stress degrees of freeom, see literature above for more details. In these publications quantities for the structural analysis by means of the physical residual and the tangent stiffness operator have been provided. The notation was adjusted for design sensitivity analysis by Gerzen et al. (2013). Here, the sensitivity relations, by means of the material residual, pseudo load operator and sensitivity operator, have been derived for shape variations on a variational basis.

2.1 Variational relations

The solid shell formulation is based on the Hu-Washizu variational principle. The three-field functional depends on the state v and on the design X

$$\begin{array}{@{}rcl@{}} \Pi(\boldsymbol{v}, \boldsymbol{X})&=&\int\limits_{{\Omega}_{R}}\left( W_{R}({\bar{\boldsymbol{E}}})+{\hat{\boldsymbol {S}}}:\left( {\boldsymbol{E}}-{\bar{{\boldsymbol{E}}}}\right)\right)\text{d}\Omega\\ &&-\int\limits_{{\Omega}_{R}}\boldsymbol{u}\cdot{\boldsymbol{b}}\,\text{d}\Omega -\int\limits_{{\Gamma}_{N}}{\boldsymbol{u}}\cdot{\boldsymbol{t}}\,\text{d}\Gamma. \end{array} $$
(1)

The generalised state function \(\boldsymbol {v}=(\boldsymbol {u},{\hat {\boldsymbol {S}}},{\bar {\boldsymbol {E}}})\) is used to reduce paperwork. It contains the displacement field u, the assumed stress field \(\hat {\boldsymbol {S}}\) and the assumed strain field \(\bar {\boldsymbol {E}}\). The quantity E is the Green-Lagrangian strain measure derived from the kinematics. b and t are body and surface loads, respectively. The first variation with respect to the state v provides the weak form of equilibrium or physical residual

$$\begin{array}{@{}rcl@{}} {\delta_v\Pi(\boldsymbol{v},\boldsymbol{X})(\delta\boldsymbol{v})}&=& {\delta_u\Pi(\boldsymbol{v},\boldsymbol{X})(\delta\boldsymbol{u})}+ {\delta_{{\hat{S}}}\Pi(\boldsymbol{v},\boldsymbol{X})(\delta{\hat{\boldsymbol{S}}})}\\ &&+{\delta_{{\bar{E}}}\Pi(\boldsymbol{v},\boldsymbol{X})(\delta{\bar{\boldsymbol{E}}})},\\ {R(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v})}&=& {R_u(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u})}+ {R_{{\hat{S}}}(\boldsymbol{v},\boldsymbol{X};\delta{\hat{\boldsymbol{S}}})}\\&&+ {R_{{\bar{E}}}(\boldsymbol{v},\boldsymbol{X};\delta{\bar{\boldsymbol{E}}})}. \end{array} $$
(2)

It can be written as a system of equations

$$\begin{array}{@{}rcl@{}} R_u(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u})&=&\int\limits_{{\Omega}_{R}}\left( \delta{\boldsymbol{E}}:{\hat{\boldsymbol{S}}}-\delta\boldsymbol{u}\cdot\boldsymbol{b}\right) d\Omega\\ &&-\int\limits_{{\Gamma}_{N}}\delta\boldsymbol{u}\cdot\boldsymbol{t}\,d\Gamma=0,\\ R_{{\hat{S}}}(\boldsymbol{v},\boldsymbol{X};\delta{\hat{\boldsymbol{S}}})&=&\int\limits_{{\Omega}_{R}}\delta{\hat{\boldsymbol{S}}}:\left( {\boldsymbol{E}}-{\bar{\boldsymbol{E}}}\right)d\Omega=0,\\ R_{{\bar{E}}}(\boldsymbol{v},\boldsymbol{X};\delta{\bar{\boldsymbol{E}}})&=&\int\limits_{{\Omega}_{R}}\delta{\bar{\boldsymbol{E}}}:\left( \frac{\partial W_{R}}{\partial {\bar{\boldsymbol{E}}}}-{\hat{\boldsymbol{S}}}\right)d\Omega=0. \end{array} $$
(3)

The second variation of the energy functional with respect to the state v or the linearisation of the weak form of equilibrium yields the tangential stiffness

$$\begin{array}{@{}rcl@{}} &&k(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v},\Delta\boldsymbol{v})\\ &&= k_{u,u}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u},\Delta\boldsymbol{u}) + k_{u,\hat{S}}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u},\Delta{\hat{\boldsymbol{S}}})\\ &&+ k_{\hat{S},u}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v},\Delta\boldsymbol{u}) + k_{\bar{E},\bar{E}}(\boldsymbol{v},\boldsymbol{X};\delta{\bar{\boldsymbol{E}}},\Delta{\bar{\boldsymbol{E}}})\\ &&+ k_{\bar{E},\hat{S}}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v},\Delta{\hat{\boldsymbol{S}}}) + k_{\hat{S},\bar{E}}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v},\Delta{\bar{\boldsymbol{E}}}). \end{array} $$
(4)

Relation (4) contains the following parts

$$\begin{array}{@{}rcl@{}} k_{u,u}&=& \int\limits_{{\Omega}_{R}}\left( \Delta\delta{\boldsymbol{E}}:{\hat{\boldsymbol{S}}}\right)d\Omega,\\ k_{u,\hat{S}}&=& \int\limits_{{\Omega}_{R}}\left( \delta\boldsymbol{E}:\Delta{\hat{\boldsymbol{S}}}\right)d\Omega, \\ k_{\hat{S},u}&=& \int\limits_{{\Omega}_{R}}\left( \delta{\hat{\boldsymbol{S}}}:\Delta{\boldsymbol{E}}\right)d\Omega, \\ k_{\bar{E},\bar{E}}&=& \int\limits_{{\Omega}_{R}}\left( \delta{\bar{\boldsymbol{E}}}:\frac{\partial^{2} W_{R}}{\partial{\bar{\boldsymbol{E}}}\partial{\bar{\boldsymbol{E}}}}:\Delta{\bar{\boldsymbol{E}}}\right)d\Omega, \\ k_{\bar{E},\hat{S}}&=& \int\limits_{{\Omega}_{R}}\left( -\delta{\bar{\boldsymbol{E}}}:\Delta{\hat{\boldsymbol{S}}}\right)d\Omega, \\ k_{\hat{S},\bar{E}}&=& \int\limits_{{\Omega}_{R}}\left( -\delta{\hat{\boldsymbol{S}}}:\Delta{\bar{\boldsymbol{E}}}\right)d\Omega. \end{array} $$
(5)

2.2 Discretised relations

The notation of discretised physical residual and tangent stiffness has been shown by Gerzen et al. (2013) and only the final results are repeated briefly. Some more details can be found in Appendix A. Note that the assumed strain field is additively decomposed in two parts \({\bar {\boldsymbol {E}}}=\hat {\boldsymbol {E}}+\tilde {\boldsymbol {E}}\). The physical residual in discrete form reads

$$\begin{array}{@{}rcl@{}} R_u^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta \hat{\boldsymbol{u}}_{e}(\boldsymbol{f}_{e}^{\text{int}-\boldsymbol{f}_{e}^{\text{ext}}})),\\ R_{{\hat{S}}}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta\boldsymbol \beta_{e} \boldsymbol{b}_{e}),\\ R_{{\bar{E}}}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{A}} (\delta\boldsymbol \alpha_{e}^{1} \boldsymbol{a}_{e}^{1}+\delta\boldsymbol \alpha_{e}^{2} \boldsymbol{a}_{e}^{2}). \end{array} $$
(6)

Here, \(\overset {\text {nel}}{\underset {{e=1}}{\text {{A}}}}\) denotes the assembly over all elements e=1,2,...,nel. The virtual displacements, stresses and strains on element level are \(\delta \hat {\boldsymbol {u}}_{e}\), δ β e , \(\delta \boldsymbol {\alpha }_{e}=[\delta \boldsymbol {\alpha }_{e}^{1}, \delta \boldsymbol {\alpha }_{e}^{2}]^{T}\), respectively. The global vector containing all degrees of freedom is \(\hat {\boldsymbol {v}} = [ \hat {\boldsymbol {u}},\boldsymbol {\alpha },\boldsymbol {\beta }]^{\text {\textit {T}}}\). Note, that the enhanced assumed strain field \(\tilde {\boldsymbol {E}}\), α 2 is presumed to be orthogonal to the independent stress field (Klinkel and Wagner 2008) and corresponding quantities vanish in the finite element formulation. Thus, the tangent stiffness matrix in discrete form contains

$$\begin{array}{@{}rcl@{}} k_{u,u}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta \hat{\boldsymbol{u}}_{e}\boldsymbol{K}_{e}\Delta \hat{\boldsymbol{u}}_{e}),\\ k_{u,\hat{S}}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta \hat{\boldsymbol{u}}_{e}\boldsymbol{L}_{e}^{T}\Delta\boldsymbol \beta_{e}),\\ k_{\hat{S},u}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta\boldsymbol \beta_{e}\boldsymbol{L}_{e} \Delta \hat{\boldsymbol{u}}_{e}), \end{array} $$
$$\begin{array}{@{}rcl@{}} k_{\bar{E},\hat{S}}^{h}&=&k_{\hat{E},\hat{S}}^{h}=\overset{\text{nel}}{\underset{{e=1}}{{A}}} (-\delta\boldsymbol \alpha_{e}^{1}\boldsymbol{C}_{e}^{T}\Delta\boldsymbol \beta_{e}),\\ k_{\hat{S},\bar{E}}^{h}&=&k_{\hat{S},\hat{E}}^{h}=\overset{\text{nel}}{\underset{{e=1}}{{A}}} (-\delta\boldsymbol \beta_{e}\boldsymbol{C}_{e}\Delta\boldsymbol \alpha_{e}^{1}),\\ k_{\bar{E},\bar{E}}^{h}&=&k_{\hat{E},\hat{E}}^{h}+k_{\hat{E},\tilde{E}}^{h}+k_{\tilde{E},\hat{E}}^{h}+k_{\tilde{E},\tilde{E}}^{h}\\ &=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta\boldsymbol \alpha_{e}^{1}\boldsymbol{A}_{e}^{11}\Delta\boldsymbol \alpha_{e}^{1}+\delta\boldsymbol \alpha_{e}^{1}(\boldsymbol{A}_{e}^{21})^{T}\Delta\boldsymbol \alpha_{e}^{2}\\ &&+\delta\boldsymbol \alpha_{e}^{2}\boldsymbol{A}_{e}^{21} \Delta\boldsymbol \alpha_{e}^{1}+\delta\boldsymbol \alpha_{e}^{2}\boldsymbol{A}_{e}^{22}\Delta\boldsymbol \alpha_{e}^{2}). \end{array} $$
(7)

The incremental displacements, stresses and strains are \(\Delta \hat {\boldsymbol {u}}_{e}\), Δβ e , \(\delta \boldsymbol {\alpha }_{e}=[\delta \boldsymbol {\alpha }_{e}^{1}, \delta \boldsymbol {\alpha }_{e}^{2}]^{T}\), respectively.

3 General remarks on analysis

An eigenvalue problem for LBA and a direct computation scheme for NBA are presented.

3.1 Eigenvalue buckling

Different schemes to set up an eigenvalue problem for LBA are known (Bathe 1996; Wriggers 2008). Here, the generalised eigenvalue problem

$$ \left( \boldsymbol{K}_{m}+\Lambda\boldsymbol{K}_{g}\right)\boldsymbol \phi=\boldsymbol 0 $$
(8)

is solved. The decomposition of the tangent stiffness matrix

$$ \boldsymbol{K}_{u}=\boldsymbol{K}_{m}+\boldsymbol{K}_{g} $$
(9)

is used. The subscript u denotes quantities after static condensation only including displacement degrees of freedom. The stiffness matrix is decomposed into a material K m and geometric part K g , respectively. The material part depends on the initial displacements and strains. A further split in displacement independent and dependent parts is avoided. The geometric part depends on the initial stress state. The overall procedure of the LBA is shown in Algorithm 1. It is possible to evaluate the eigenvalue problem in arbitrary states λ, \(\hat {\boldsymbol {u}} = [ \hat {\boldsymbol {u}},\boldsymbol {\alpha },\boldsymbol {\beta }]^{\text {\textit {T}}}\). The choice of the state can have a significant influence. The closer this state is located at the critical point, the better fits the estimation with the actual critical behaviour. Investigations by Lindgaard and Lund (2010) show an example, where LBA predicts bifurcation point buckling, the actual effect of NBA is limit point buckling. In this example the overestimation of the critical load scale is maximised within optimisation based on LBA. The actual critical load scale is hardly changed. For states close to singular points determined by non-linear structural analysis, Lindgaard et al. (2010) call the eigenvalue buckling analysis non-linear buckling analysis. The discrete quantities for LBA are summarised for the underlying solid shell formulation in Section 4.1.

figure a
figure 2

3.2 Direct computation of singular points

To determine the actual critical load level within the NBA a direct computation of critical points is presented. Direct computation means a Newton-type method which directly converges towards singular points. Due to the fact, that the starting point for the iteration procedure is important, it can be combined with path-following methods and collateral measures indicating the appearance of critical points. In this paper a cylindrical arc-length procedure is used for path-following, see survey given by Leon et al. (2014) for an overview on non-linear solution schemes. If the eigenvalue with smallest magnitude of the eigenvalue problem (24) becomes non-positive, indicating the loss of positive definiteness of the tangent stiffness matrix, the direct computation scheme is started. The direct computation scheme is based on an extended equation system. The physical residual

$$ \boldsymbol{R}_{v}=\boldsymbol{R}_{v}^{\text{int}}-\lambda\boldsymbol{F}_{v} $$
(10)

is augmented with a constraint equation, that characterises critical states, an overview is given by Wagner (1991). In critical points the tangent stiffness matrix loses its positive definiteness. The smallest eigenvalue \(\bar {\Lambda }\) of the standard eigenvalue problem

$$ \left( \boldsymbol{K}_{v}-\bar{\Lambda}\boldsymbol{I}\right)\phi=\boldsymbol 0 $$
(11)

becomes zero, which means that there are non-trivial solutions for K v ϕ=0. The pre-multiplication of the transposed eigenvector yields the scalar valued constraint equation \(\phi ^{T}\boldsymbol {K}_{v}\phi =0\), see right hand side of (12). In contrast to the eigenvector of the eigenvalue buckling analysis ϕ, ϕ refers to the uncondensed stiffness matrix and thus it includes entries corresponding to internal degrees of freedom, \(\phi =[{\phi _{ \hat {u}}},{\phi _{\boldsymbol \alpha }},{\phi _{\boldsymbol \beta }}]^{T}\). The consistent linearisation of the extended equation system reads

$$\begin{array}{@{}rcl@{}} \left[\begin{array}{cc} {\frac{\partial \boldsymbol{R}_{v}}{\partial \hat{\boldsymbol{v}}}} & {\frac{\partial \boldsymbol{R}_{v}}{\partial \lambda}}\\ {\frac{\partial \left( \boldsymbol{\phi}^{T}\boldsymbol{K}_{v}\boldsymbol{\phi}\right)}{\partial \hat{\boldsymbol{v}}}}& {\frac{\partial \left( \boldsymbol{\phi}^{T}\boldsymbol{K}_{v}\boldsymbol{\phi}\right)}{\partial \lambda}} \end{array}\right] \left[\begin{array}{ll} \Delta\hat{\boldsymbol{v}}\\ \Delta\lambda \end{array}\right] =- \left[\begin{array}{c} \boldsymbol{R}_{v}\\ \boldsymbol{\phi}^{T}\boldsymbol{K}_{v}\boldsymbol{\phi} \end{array}\right]. \end{array} $$
(12)

The desired derivatives on the left hand side of (12) are \({\frac {\partial \boldsymbol {R}_{v}}{\partial \hat {\boldsymbol {v}}}=\boldsymbol {K}_{v}}\) and \(\frac {\partial \boldsymbol {R}_{v}}{\partial \lambda }=-\boldsymbol {F}_{v}\). Additionally, the quantity \(\frac {\partial \left (\phi ^{T}\boldsymbol {K}_{v}\phi \right )}{\partial \lambda }\) vanishes for conservative loading. For the last remaining quantity one can equivalently write

$$ \frac{\partial \left( \boldsymbol{\phi}^{T}\boldsymbol{K}_{v} \boldsymbol{\phi}\right)}{\partial \hat{\boldsymbol{v}}}=\boldsymbol{\phi}^{T}\frac{\partial \left( \boldsymbol{K}_{v}\right)}{\partial \hat{\boldsymbol{v}}}\boldsymbol{\phi}= \boldsymbol{\phi}^{T}\frac{\partial \left( \boldsymbol{K}_{v}\boldsymbol{\phi}\right)}{\partial \hat{v}}. $$
(13)

The latter part is the directional derivative of the tangential stiffness in the direction of the vector ϕ

$$ \frac{\partial \left( \boldsymbol{K}_{v}\boldsymbol{\phi}\right)}{\partial \hat{\boldsymbol{v}}}=\frac{d}{d \epsilon}\left[\boldsymbol{K}_{v}(\hat{\boldsymbol{v}}+\epsilon\boldsymbol{\phi})\right]{~}_{\epsilon=0}=\delta\boldsymbol{K}_{v}. $$
(14)

This relation will be introduced on a variational basis and discretised in Sections 4.3 and 4.4. The extended equation system can be solved using a block elimination procedure preserving the symmetry of the system matrices like it was presented by Chan (1984). The vector ϕ has to be provided initially. One possibility is to solve the eigenvalue problem (11). The choice of ϕ significantly influences the iterative solution scheme. Within the iteration procedure it can be updated by one step of the inverse iteration method. The overall procedure of the direct computation scheme is shown in Algorithm 2, where the solid shell specifics are already included. They are summarised in Section 4.2

figure b
figure 3

4 Stability analysis for solid shells

The split of the tangent stiffness matrix for LBA is introduced additionally to the representations by Klinkel et al. (2006) and Klinkel and Wagner (2008). The linearisation of the extended equation system for NBA is derived for the underlying solid shell formulation.

4.1 Eigenvalue buckling

The generalised eigenvalue problem (8) is obtained by

$$ \boldsymbol{K}_{m}= \overset{\text{nel}}{\underset{{e=1}}{{A}}} \boldsymbol{K}_{m_{e}} ,~~ \boldsymbol{K}_{g}= \overset{\text{nel}}{\underset{{e=1}}{{A}}} \boldsymbol{K}_{g_{e}} , \boldsymbol{\phi}= \overset{\text{nel}}{\underset{{e=1}}{{A}}} \boldsymbol{\phi}_{e}. $$
(15)

The eigenvalue problem is constructed from the decomposition of tangent stiffness matrix after static condensation and only includes entries referring to displacement degrees of freedom. The material and geometric parts of the stiffness on element level are

$$\begin{array}{@{}rcl@{}} \boldsymbol{K}_{m_{e}}&=&\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e},\\ \boldsymbol{K}_{g_{e}}&=&\boldsymbol{K}_{e}, \end{array} $$
(16)

respectively. The eigenvalue problem can be constructed with these element matrices known from (120) and the abbreviation \(\boldsymbol {A}_{e}=\boldsymbol {A}_{e}^{11}-\boldsymbol {A}_{e}^{12}(\boldsymbol {A}_{e}^{22})^{-1}\boldsymbol {A}_{e}^{21}\).

4.2 Direct computation of singular points

The global quantities in uncondensed form of (12) are

$$\begin{array}{@{}rcl@{}} \begin{array}{lll} \boldsymbol{K}_{v}&= \overset{\text{nel}}{\underset{{e=1}}{{A}}}\boldsymbol{K}_{v_{e}},\qquad \boldsymbol{R}_{v}&= \overset{\text{nel}}{\underset{{e=1}}{{ A}}}\left( \boldsymbol{R}_{v_{e}}^{\text{int}}\lambda\boldsymbol{F}_{v_{e}}\right),\\ \delta\boldsymbol{K}_{v}&= \overset{\text{nel}}{\underset{{e=1}}{{A}}}\delta\boldsymbol{K}_{v_{e}} ,\qquad \boldsymbol{\phi}&= \overset{\text{nel}}{\underset{{e=1}}{{A}}} \boldsymbol{\phi}_{e}. \end{array} \end{array} $$
(17)

Here, the uncondensed tangent stiffness matrix and the physical residual \(\boldsymbol {R}_{v_{e}}=(\boldsymbol {R}_{v_{e}}^{\text {int}}-\lambda \boldsymbol {F}_{v_{e}})\) on element level are

$$ \boldsymbol{K}_{v_{e}}= \left[\begin{array}{ccccc} \boldsymbol{K}_{e}&\boldsymbol 0&\boldsymbol 0&\boldsymbol{L}_{e}^{T}\\ \boldsymbol 0&\boldsymbol{A}_{e}^{11}&\boldsymbol{A}_{e}^{12}&-\boldsymbol{C}_{e}^{T}\\ \boldsymbol 0&\boldsymbol{A}_{e}^{21}&\boldsymbol{A}_{e}^{22}&\boldsymbol 0\\ \boldsymbol{L}_{e}&-\boldsymbol{C}_{e}&\boldsymbol 0&\boldsymbol 0 \end{array}\right] ,~ \boldsymbol{R}_{v_{e}}= \left[\begin{array}{cc} \boldsymbol{f}_{e}\\ \boldsymbol{a}_{e}^{1}\\ \boldsymbol{a}_{e}^{2}\\ \boldsymbol{b}_{e} \end{array}\right] $$
(18)

with \(\boldsymbol {f}_{e}^{\text {int}}-\lambda \boldsymbol {f}_{e}^{\text {ext}}\), respectively. Element vectors are known from (121). The variation of the tangent stiffness matrix and the eigenvector on element level are

$$ \delta\boldsymbol{K}_{v_{e}}= \left[\begin{array}{ccccc} \delta\boldsymbol{K}_{e}&\boldsymbol 0&\boldsymbol 0&\delta\boldsymbol{L}_{e}^{T}\\ \boldsymbol 0&\delta\boldsymbol{A}_{e}^{11}&\delta\boldsymbol{A}_{e}^{12}&\boldsymbol 0\\ \boldsymbol 0&\delta\boldsymbol{A}_{e}^{21}&\delta\boldsymbol{A}_{e}^{22}&\boldsymbol 0\\ \delta\boldsymbol{L}_{e}&\boldsymbol 0&\boldsymbol 0&\boldsymbol 0 \end{array}\right],~ \boldsymbol{\phi}_{e}= \left[\begin{array}{c} \boldsymbol{\phi}_{\hat{u}_{e}}\\ \boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{1}}\\ \boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{2}}\\ \boldsymbol{\phi}_{\boldsymbol\beta_{e}} \end{array}\right], $$
(19)

respectively. Element matrices are known from (31). The static condensation of (12) eliminates the internal degrees of freedom and provides

$$ \left[\begin{array}{cc} \boldsymbol{K}_{u}&-\boldsymbol{F}_{u}\\ \boldsymbol{K}_{\phi}^{T}& 0 \end{array}\right] \left[\begin{array}{ll} \Delta\hat{\boldsymbol{u}}\\ \Delta\lambda \end{array}\right] =- \left[\begin{array}{ll}\boldsymbol{R}_{u}\\ R_{u} \end{array}\right]. $$
(20)

The assembly over all elements yields

$$\begin{array}{@{}rcl@{}} \Delta\hat{\boldsymbol{u}}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}}\Delta\hat{\boldsymbol{u}}_{e},\quad \boldsymbol{R}_{u}^{\text{int}}=\overset{\text{nel}}{\underset{{e=1}}{{ A}}}\boldsymbol{f}_{u_{e}}^{int},\\ \boldsymbol{F}_{u}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}}\boldsymbol{f}_{e}^{\text{ext}},\quad \boldsymbol{K}_{\phi}^{T}=\overset{\text{nel}}{\underset{{e=1}}{{A}}}\boldsymbol{K}_{\phi_{e}}^{T},\\ R_{u}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} R_{u_{e}} \end{array} $$
(21)

with the quantities on element level

$$\begin{array}{@{}rcl@{}} \boldsymbol{f}_{u_{e}}^{int}&=&\boldsymbol{f}_{e}^{int}+\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1}\boldsymbol{b}_{e}+\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{a}_{e}.\\ \boldsymbol{K}_{\phi_{e}}^{T}&=&\boldsymbol{\phi}_{\hat{u}_{e}^{T}}\delta\boldsymbol{K}_{e}+\boldsymbol{\phi}_{\boldsymbol \beta_{e}}^{T}\delta\boldsymbol{L}_{e}+\boldsymbol{\phi}_{\hat{u}_{e}^{T}}\delta\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e},\\ R_{u_{e}}&=&\boldsymbol{\phi}_{\boldsymbol{v}_{e}^{T}}\boldsymbol{K}_{v_{e}}\boldsymbol{\phi}_{\boldsymbol{v}_{e}}+\boldsymbol{\phi}_{\hat{u}_{e}^{T}}\delta\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1}\boldsymbol{b}_{e}\\&+&\boldsymbol{\phi}_{\hat{u}_{e}^{T}}\delta\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{a}_{e}. \end{array} $$
(22)

This expression is restricted to St.Venant-type elasticity with vanishing \(\delta \boldsymbol {A}_{e}^{ij}\), i,j=1,2. A used abbreviation is \(\boldsymbol {a}_{e}=\boldsymbol {a}_{e}^{1}-\boldsymbol {A}_{e}^{12}(\boldsymbol {A}_{e}^{22})^{-1}\boldsymbol {a}_{e}^{2}\). The increments of mixed variables can be computed with

$$\begin{array}{@{}rcl@{}} \Delta\boldsymbol \alpha_{e}^{1}&=&\boldsymbol{C}_{e}^{-1}(\boldsymbol{L}_{e}\Delta\hat{\boldsymbol{u}}_{e}+\boldsymbol{b}_{e}),\\ \Delta\boldsymbol \alpha_{e}^{2}&=&-(\boldsymbol{A}_{e}^{22})^{-1}(\boldsymbol{a}_{e}^{2}+\boldsymbol{A}_{e}^{21}\Delta\boldsymbol \alpha_{e}^{1}),\\ \Delta\boldsymbol \beta_{e}&=&\boldsymbol{C}_{e}^{-T}(\boldsymbol{A}_{e}\Delta\boldsymbol \alpha_{e}^{1}+\boldsymbol{a}_{e}). \end{array} $$
(23)

To provide an initial vector ϕ the eigenvalue problem (11) can be solved. A previous static condensation yields the pure displacement problem

$$ \left( \boldsymbol{K}_{u}-\bar{\Lambda}\boldsymbol{I} \right) \boldsymbol{\phi}_{\hat{u}}=\boldsymbol 0, $$
(24)

which is equivalent to the uncondensed eigenvalue problem (11) in singular points, but only an approximation if \(\bar {\Lambda }\ne 0\). The remaining eigenvector contributions corresponding to internal degrees of freedom can be computed with

$$\begin{array}{@{}rcl@{}} \boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{1}}&=&\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e}\boldsymbol{\phi}_{\hat{u}_{e}},\\ \boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{2}}&=&-(\boldsymbol{A}_{e}^{22})^{-1}\boldsymbol{A}_{e}^{21}\boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{1}},\\ \boldsymbol{\phi}_{\boldsymbol\beta_{e}}&=&\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{\phi}_{\boldsymbol\alpha_{e}^{1}} \end{array} $$
(25)

on element level. The extended equation system (20) can be solved using a block elimination scheme as

$$\begin{array}{@{}rcl@{}} \Delta \hat{\boldsymbol{u}}_{F}&=&\boldsymbol{K}_{u}^{-1}\boldsymbol{F}_{u},\qquad \Delta\lambda=-\frac{R_{u}+\boldsymbol{K}_{\phi}^{T}\Delta \hat{\boldsymbol{u}}_{R}}{\boldsymbol{K}_{\phi}^{T}\Delta \hat{\boldsymbol{u}}_{F}},\\ \Delta \hat{\boldsymbol{u}}_{R}&=&-\boldsymbol{K}_{u}^{-1}\boldsymbol{R}_{u},\qquad \Delta \hat{\boldsymbol{u}}=\Delta\lambda\Delta \hat{\boldsymbol{u}}_{F}+\Delta \hat{\boldsymbol{u}}_{R}. \end{array} $$
(26)

The increments of internal degrees of freedom are given by (23). The eigenvector can be updated by one step of the inverse iteration scheme

$$ \boldsymbol{\phi}_{\hat{u}_{k+1}}=\boldsymbol{K}_{u}^{-1} \boldsymbol{\phi}_{\hat{u}_{k}}. $$
(27)

The subscript k denotes the current iteration step and is introduced in the summarised procedure in Algorithm 2. The eigenvector contribution corresponding to internal degrees of freedom is given by (25). With this direct computation scheme it is possible to accurately compute singular points of the load-displacement diagram. The sensitivities for limit and bifurcation points are presented in Section 5.3.

4.3 Variational relations

The third variation of the energy functional with respect to the state v or directional derivative of the tangential stiffness reads

$$\begin{array}{@{}rcl@{}} t(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{v},\Delta\boldsymbol{v},\hat{\Delta}\boldsymbol{v}) &=&t_{u,u}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u},\Delta\boldsymbol{u},\hat{\Delta}{\hat{\boldsymbol{S}}})\\ &&+t_{u,\hat{S}}(\boldsymbol{v},\boldsymbol{X};\delta\boldsymbol{u},\Delta{\hat{\boldsymbol{S}}},\hat{\Delta}\boldsymbol{u})\\ &&+t_{\hat{S},u}(\boldsymbol{v},\boldsymbol{X};\delta{\hat{\boldsymbol{S}}},\Delta\boldsymbol{u},\hat{\Delta}\boldsymbol{u})\\ &&+t_{\bar{E},\bar{E}}(\boldsymbol{v},\boldsymbol{X};\delta{\bar{\boldsymbol{E}}},\Delta{\bar{\boldsymbol{E}}},\hat{\Delta}{\bar{\boldsymbol{E}}}). \end{array} $$
(28)

Here, the quantities

$$\begin{array}{@{}rcl@{}} t_{u,u}&=& \int\limits_{{\Omega}_{R}}\left( \Delta\delta{\boldsymbol{E}}:\hat{\Delta}\hat{\boldsymbol{S}}\right)d\Omega,\\ t_{u,\hat{S}}&=& \int\limits_{{\Omega}_{R}}\left( \hat{\Delta}\delta{\boldsymbol{E}}:\Delta\hat{\boldsymbol{S}} \right)d \Omega, \\ t_{\hat{S},u}&=& \int\limits_{{\Omega}_{R}}\left( \delta{\hat{\boldsymbol{S}}}:\hat{\Delta}\Delta{\boldsymbol{E}}\right)d\Omega, \\ t_{\bar{E},\bar{E}}&=& \int\limits_{{\Omega}_{R}}\left( \delta{\bar{\boldsymbol{E}}}:\left( \frac{\partial^{3} W_{R}}{\partial{\bar{\boldsymbol{E}}}}\partial{\bar{\boldsymbol{E}}}\partial{\bar{\boldsymbol{E}}}:\hat{\Delta}{\bar{\boldsymbol{E}}}\right):\Delta{\bar{\boldsymbol{E}}}\right)d\Omega \end{array} $$
(29)

are needed for the direct computation as a directional derivative in the direction of prescribed values \(\hat {\Delta }\boldsymbol {v}\), which contains the eigenvector ϕ in discrete form.

4.4 Discretised relations

For the directional derivative of the tangent stiffness matrix in the direction of the discrete values containing the eigenvector \(\hat {\Delta } \hat {\boldsymbol {v}}=[\hat {\Delta } \hat {\boldsymbol {u}},\hat {\Delta } \boldsymbol {\alpha },\hat {\Delta } \boldsymbol {\beta }]^{T}=\phi \), following terms are needed

$$\begin{array}{@{}rcl@{}} t_{u,u}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta \hat{\boldsymbol{u}}_{e}\delta\boldsymbol{K}_{e}\Delta \hat{\boldsymbol{u}}_{e}),\\ t_{u,\hat{S}}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta \hat{\boldsymbol{u}}_{e}\delta\boldsymbol{L}_{e}^{T}\Delta\boldsymbol \beta_{e}),\\ t_{\hat{S},u}^{h}&=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta\boldsymbol \beta_{e}\delta\boldsymbol{L}_{e} \Delta \hat{\boldsymbol{u}}_{e}),\\ t_{\bar{E},\bar{E}}^{h}&=&t_{\hat{E},\hat{E}}^{h}+t_{\hat{E},\tilde{E}}^{h}+t_{\tilde{E},\hat{E}}^{h}+t_{\tilde{E},\tilde{E}}^{h}\\ &=&\overset{\text{nel}}{\underset{{e=1}}{{A}}} (\delta\boldsymbol \alpha_{e}^{1}\delta\boldsymbol{A}_{e}^{11}\Delta\boldsymbol \alpha_{e}^{1} +\delta\boldsymbol \alpha_{e}^{1}\delta(\boldsymbol{A}_{e}^{21})^{T}\Delta\boldsymbol \alpha_{e}^{2}\\ &&+\delta\boldsymbol \alpha_{e}^{2}\delta\boldsymbol{A}_{e}^{21} \Delta\boldsymbol \alpha_{e}^{1} +\delta\boldsymbol \alpha_{e}^{2}\delta\boldsymbol{A}_{e}^{22}\Delta\boldsymbol \alpha_{e}^{2}). \end{array} $$
(30)

The element matrices are

$$\begin{array}{@{}rcl@{}} \delta\boldsymbol{K}_{e}&=&\int\limits_{{\Omega}_{Re}}\boldsymbol{H} \,\mathrm{d}{\Omega}_{e},\qquad\delta\boldsymbol{L}_{e}=\int\limits_{{\Omega}_{Re}}\boldsymbol{N}_{S}^{T} \boldsymbol{P}\,\mathrm{d}{\Omega}_{e},\\ \delta\boldsymbol{A}_{e}^{11}&=&\int\limits_{{\Omega}_{Re}}\boldsymbol{N}_{E}^{T}\bar{\boldsymbol{U}}^{h}\boldsymbol{N}_{E}\,\mathrm{d}{\Omega}_{e}, \\ \delta\boldsymbol{A}_{e}^{21}&=&\int\limits_{{\Omega}_{Re}}\boldsymbol{M}_{E}^{T}\bar{\boldsymbol{U}}^{h}\boldsymbol{N}_{E}\,\mathrm{d}{\Omega}_{e},\\ \delta\boldsymbol{A}_{e}^{22}&=&\int\limits_{{\Omega}_{Re}}\boldsymbol{M}_{E}^{T}\bar{\boldsymbol{U}}^{h}\boldsymbol{M}_{E}\,\mathrm{d}{\Omega}_{e}. \end{array} $$
(31)

N S ,N E ,M E are known, see Gerzen et al. (2013) or Appendix A. The third derivative of the strain energy function scalar multiplied with discrete values \(\hat {\Delta } \bar {E}^{h}=\boldsymbol {N}_{E} \hat {\Delta } \boldsymbol \alpha _{e}^{1}+\boldsymbol {M}_{E} \hat {\Delta } \boldsymbol \alpha _{e}^{2}\)

$$\begin{array}{@{}rcl@{}} \bar{\boldsymbol{U}}^{h}=\frac{\partial^{3} W_{Re}}{\boldsymbol{\partial} \bar{\boldsymbol{E}}^{h}\partial \bar{\boldsymbol{E}}^{h}\partial \bar{\boldsymbol{E}}^{h}}\cdot\hat{\Delta} \bar{\boldsymbol{E}}^{h} \end{array} $$
(32)

vanishes for materials of St. Venant-type. Finally, only the matrices H and P are missing. The matrix

$$ \boldsymbol{H}=\left[\begin{array}{cccc} \boldsymbol{H}_{11}&\cdots&\boldsymbol{H}_{18}\\ \vdots&\ddots&\vdots\\ \boldsymbol{H}_{81}&\cdots&\boldsymbol{H}_{88} \end{array}\right],\quad \in \mathbb{R}^{24 \times 24} $$
(33)

is needed to approximate

$$ (\Delta\delta{\boldsymbol{E}}:\hat{\boldsymbol{S}})^{h}=\delta \hat{u}_{e}^{T}\boldsymbol{H}\Delta \hat{u}_{e}. $$
(34)

The submatrix \(\boldsymbol {H}_{IJ}=\text {diag}[H_{IJ},H_{IJ},H_{IJ}]\in \mathbb {R}^{3\times 3}\) for the node combination I, J is defined by the scalar

$$ H_{IJ}=\left( \hat{\Delta} \hat{\boldsymbol{S}}^{h}\right)^{T}\boldsymbol{B}_{IJ}, ~~\text{with}~~ \boldsymbol{B}_{IJ}=\boldsymbol{T}_{S}^{-T} \boldsymbol{B}_{IJ}^{l} $$
(35)

and

$$ \boldsymbol{B}_{IJ}^{l}= \left[\begin{array}{llllll} B_{IJ_{1}}^{l} & B_{IJ_{2}}^{l} & B_{IJ_{3}}^{l} & B_{IJ_{4}}^{l} & B_{IJ_{5}}^{l} & B_{IJ_{6}}^{l} \end{array}\right]^{T} $$
(36)

containing

$$\begin{array}{@{}rcl@{}} B_{IJ_{1}}^{l}&=&N_{I,1}N_{J,1},\\ B_{IJ_{2}}^{l}&=&N_{I,2}N_{J,2},\\ B_{IJ_{3}}^{l}&=&\sum\limits_{L=i}^{iv}\frac{1}{4}(1+{\xi^{1}_{L}}\xi^{1})(1+{\xi^{2}_{L}}\xi^{2})N_{I,3}^{L} N_{J,3}^{L},\\ B_{IJ_{4}}^{l}&=&N_{I,1}N_{J,2}+N_{I,2}N_{J,1},\\ B_{IJ_{5}}^{l}&=&\frac{1}{2}(1-\xi^{2})(N_{I,1}^{B} N_{J,3}^{B}+N_{I,3}^{B} N_{J,1}^{B})\\&&+\frac{1}{2}(1+\xi^{2})(N_{I,1}^{D} N_{J,3}^{D}+N_{I,3}^{D} N_{J,1}^{C}),\\ B_{IJ_{6}}^{l}&=&\frac{1}{2}(1-\xi^{1})(N_{I,2}^{A} N_{J,3}^{A}+N_{I,3}^{A} N_{J,2}^{A})\\&&+\frac{1}{2}(1+\xi^{1})(N_{I,2}^{C} N_{J,3}^{C}+N_{I,3}^{C} N_{J,2}^{C}). \end{array} $$
(37)

The term \(\hat {\Delta } \hat {S}^{h}=\boldsymbol {N}_{S} \hat {\Delta }\boldsymbol \beta _{e}\) includes the discrete values of assumed stresses in which the directional derivative is performed. Voigt notation yields \(\hat {\Delta }\hat {\boldsymbol {S}}^{h}=[\hat {\Delta }\hat {S}_{11},\hat {\Delta }\hat {S}_{22}, \hat {\Delta }\hat {S}_{33},\hat {\Delta }\hat {S}_{12},\hat {\Delta }\hat {S}_{13},\hat {\Delta }\hat {S}_{23}]^{T}\). The matrix P is needed to approximate

$$ \left( \delta{\hat{\boldsymbol{S}}}:\hat{\Delta}\Delta{\boldsymbol{E}}\right)^{h}=\delta\boldsymbol \beta_{e}^{T}\boldsymbol{N}_{S}^{T} \boldsymbol{P}\Delta \hat{\boldsymbol{u}}_{e}. $$
(38)

It is not the pseudo load matrix here and reads

$$\begin{array}{@{}rcl@{}} \boldsymbol{P}&=&[\boldsymbol{P}_{1},...,\boldsymbol{P}_{8}]\in \mathbb{R}^{6\times24},~~\text{with}\\ \boldsymbol{P}_{I} &=&\sum\limits_{J=1}^{8} \boldsymbol{B}_{IJ}(\hat{\Delta} \hat{\boldsymbol{u}}_{e}^{J})^{T}\in\mathbb{R}^{6\times3} \end{array} $$
(39)

and is composed of \(\hat {\Delta }\hat {\boldsymbol {u}}_{e} \) and B I J . The displacement vector in which the directional derivative is performed \(\hat {\Delta }\hat {\boldsymbol {u}}_{e}=[\hat {\Delta }\hat {\boldsymbol {u}}_{e}^{1},...,\hat {\Delta } \hat {\boldsymbol {u}}_{e}^{8}]^{T}\in \mathbb {R}^{24}\) is build by the subvectors \(\hat {\Delta } \hat {\boldsymbol {u}}_{e}^{J}=[\hat {\Delta }{\hat {\boldsymbol {u}}}_{Jx},\hat {\Delta }{\hat {\boldsymbol {u}}}_{Jy},\hat {\Delta }{\hat {\boldsymbol {u}}}_{Jz}]^{T}\in \mathbb {R}^{3}\) containing the x-, y- and z- components at nodes J. B I J is known from (35). Due to symmetry the approximation of \(\hat {\Delta }\delta \boldsymbol {E}:\Delta {\hat {\boldsymbol {S}}}\) reads

$$ \left( \hat{\Delta}\delta\boldsymbol{E}:\Delta{\hat{\boldsymbol{S}}}\right)^{h}= \delta\hat{u}_{e}\boldsymbol{P}^{T}\boldsymbol{N}_{S}\Delta \boldsymbol \beta_{e}^{T}. $$
(40)

Here, all element quantities for eigenvalue buckling and direct computation are provided.

5 Sensitivity analysis for stability quantities

To include the estimated critical load scale of the LBA (Seyranian et al. 1994) or the actual critical load scale of the NBA (Wu and Arora 1988; Reitinger 1994; Reitinger et al. 1994b) into a mathematical optimisation framework, gradient information for these quantities is summarised in this section.

5.1 Introduction to sensitivity analysis

The discrete finite element problem for non-linear solid shell and its linearisation read

$$ \boldsymbol{R}_{v}(\hat{v}(s),s)=\boldsymbol 0\quad\text{and}\quad \boldsymbol{K}_{v}\Delta\hat{v}=-\boldsymbol{R}_{v}, $$
(41)

respectively. Sensitivity analysis predicts state variations δ v caused by design variations δ s. The total variation of the physical residual reads

$$ \delta\boldsymbol{R}_{v}=\delta_v\boldsymbol{R}_{v}+\delta_{s}\boldsymbol{R}_{v}=\boldsymbol{K}_{v}\delta\boldsymbol{v}+\boldsymbol{P}_{v}\delta s, $$
(42)

where P v is the pseudo load matrix. For solid shells these matrices include parts corresponding to displacement and internal strain and stress degrees of freedom denoted by the subscript v. They are derived by Gerzen et al. (2013) for shape variations, see Appendix B. These relations can be used to determine the effect of design modifications on an arbitrary objective

$$ \mathrm{d} J=\left[\frac{\partial J}{\partial s}-\frac{\partial J}{\partial \boldsymbol{v}}\boldsymbol{K}_{v}^{-1}{\boldsymbol{P}}_{v}\right]\mathrm{d} s =\left[\frac{\partial J}{\partial s}+\frac{\partial J}{\partial \boldsymbol{v}}\boldsymbol{S}_{v}\right]\mathrm{d} s. $$
(43)

The sensitivity matrix S v is used to determine total derivatives of the eigenvalue of LBA (46) including (47) and the critical load scale of NBA (55), which are derived in the following sections.

5.2 Sensitivity analysis for eigenvalue buckling analysis

The sensitivity information of the eigenvalue Λ by means of total derivatives with respect to an arbitrary design variable s is needed. Applying the product rule on the eigenvalue problem (8) yields

$$\begin{array}{@{}rcl@{}} \left( \frac{d \boldsymbol{K}_{m}}{d s}+\frac{d \Lambda}{d s}\boldsymbol{K}_{g}+\Lambda\frac{d \boldsymbol{K}_{g}}{d s}\right)\boldsymbol \phi \\+\left( \boldsymbol{K}_{m}+\Lambda\boldsymbol{K}_{g}\right)\frac{d \boldsymbol \phi}{d s}=\boldsymbol 0. \end{array} $$
(44)

Pre-multiplication by the transposed eigenvector ϕ T yields

$$\begin{array}{@{}rcl@{}} \boldsymbol \phi^{T}\left( \frac{d \boldsymbol{K}_{m}}{d s}+\frac{d \Lambda}{d s}\boldsymbol{K}_{g}+\Lambda\frac{d \boldsymbol{K}_{g}}{d s}\right)\boldsymbol \phi \\ +\underbrace{\boldsymbol\phi^{T}\left( \boldsymbol{K}_{m}+\Lambda\boldsymbol{K}_{g}\right)}_{\boldsymbol 0}\frac{d \boldsymbol \phi}{d s}&=&\boldsymbol 0, \end{array} $$
(45)

where the under-braced quantity vanishes due to symmetry of the tangent stiffness and its parts, cf. (8). Reordering provides the total derivative of the eigenvalue

$$ \frac{d \Lambda}{d s}= -\frac{\boldsymbol \phi^{T}\left( {\frac{d \boldsymbol{K}_{m}}{d s}} +\Lambda{\frac{d \boldsymbol{K}_{g}}{d s}}\right)\boldsymbol \phi}{\boldsymbol \phi^{T}\boldsymbol{K}_{g}\boldsymbol \phi}. $$
(46)

Central quantities of interest are the total derivatives of the material and geometric stiffness

$$\begin{array}{@{}rcl@{}} \frac{d \boldsymbol{K}_{m}}{d s}&=& \frac{\partial \boldsymbol{K}_{m}}{\partial s}+ \frac{\partial \boldsymbol{K}_{m}}{\partial \hat{\boldsymbol{u}}} \frac{d \hat{\boldsymbol{u}}}{d s} + \frac{\partial \boldsymbol{K}_{m}}{\partial \boldsymbol \alpha} \frac{d \boldsymbol \alpha}{d s},\\ &&\frac{d \boldsymbol{K}_{g}}{d s}= \frac{\partial \boldsymbol{K}_{g}}{\partial s}+ \frac{\partial \boldsymbol{K}_{g}}{\partial {\boldsymbol \beta}} \frac{d {\boldsymbol \beta}}{d s}. \end{array} $$
(47)

They are presented with respect to the arbitrary design variable s, but needed as derivatives with respect to the vector of FE-nodal coordinates \( \hat {\boldsymbol {X}}\). The material part of the tangent stiffness matrix depends on the displacement state \(\hat {\boldsymbol {u}}\) and on the design \(\hat {\boldsymbol {X}}\). For the restriction on materials of St. Venant-type the dependency of the internal strain degrees of freedom α vanishes. The geometric part of the tangent stiffness matrix depends on the initial stress β and on the design \( \hat {\boldsymbol {X}}\). The partial derivatives of the discrete matrices K m and K g from (47) are derived analytically in Section 6. The derivative of the state \( \hat {\boldsymbol {v}}\), including \( \hat {\boldsymbol {u}}\) and β, with respect to design \( \hat {\boldsymbol {X}}\) can be identified as sensitivity matrix, which was derived by Gerzen et al. (2013), cf. Appendix B.

5.3 Sensitivity analysis for non-linear buckling analysis

The critical point \((\hat {\boldsymbol {v}}_{cr},\lambda _{cr})\) which can be computed with the direct computation scheme from Section 3.2 is characterised by

$$\begin{array}{@{}rcl@{}} &&\boldsymbol{R}_{v}(\hat{v}_{cr}(\hat{X}),\lambda_{cr}(\hat{X}), \hat{X})=\boldsymbol 0,\\ &&\boldsymbol{K}_{v}(\hat{v}_{cr}(\hat{X}),\lambda_{cr}(\hat{X}), \hat{X})\phi(\hat{X})=\boldsymbol 0. \end{array} $$
(48)

The derivative with respect to an arbitrary design variable s yields

$$\begin{array}{@{}rcl@{}} &&\boldsymbol{K}_{v}\frac{d \hat{\boldsymbol{v}}_{cr}}{d s}-\boldsymbol{F}_{v}\frac{d \lambda_{cr}}{d s}+\frac{\partial \boldsymbol{R}_{v}}{\partial s}=\boldsymbol 0,\\ &&\left( \frac{\partial \boldsymbol{K}_{v}}{\partial \hat{\boldsymbol{v}}}\frac{d \hat{\boldsymbol{v}}_{cr}}{d s}+ \frac{\partial \boldsymbol{K}_{v}}{\partial s}\right)\boldsymbol{\phi}+ \boldsymbol{K}_{v}\frac{\partial \boldsymbol{\phi}}{\partial s}=\boldsymbol 0, \end{array} $$
(49)

for conservative loading with \(\frac {\partial \boldsymbol {K}_{v}}{\partial \lambda _{cr}}=\boldsymbol 0\). Pre-multiplying the eigenvector yields

$$\begin{array}{@{}rcl@{}} &&\boldsymbol{\phi}^{T}\boldsymbol{K}_{v}\frac{d \hat{\boldsymbol{v}}_{cr}}{d s}-\boldsymbol{\phi}^{T}\boldsymbol{F}_{v}\frac{d \lambda_{cr}}{d s}+\boldsymbol{\phi}^{T}\frac{\partial \boldsymbol{R}_{v}}{\partial s}=\boldsymbol 0,\\ &&\boldsymbol{\phi}^{T}\left( \frac{\partial \boldsymbol{K}_{v}}{\partial \hat{\boldsymbol{v}}}\frac{d \hat{\boldsymbol{v}}_{cr}}{d s}+ \frac{\partial \boldsymbol{K}_{v}}{\partial s}\right)\boldsymbol{\phi}+ \boldsymbol{\phi}^{T} \boldsymbol{K}_{v}\frac{\partial \boldsymbol{\phi}}{\partial s} =\boldsymbol 0. \end{array} $$
(50)

The well-known distinction of limit and bifurcation points

$$ \boldsymbol{\phi}^{T}\boldsymbol{F}_{v} \left\{\begin{array}{ll} =0 \rightarrow \text{bifurcation point}\\ \ne 0 \rightarrow \text{limit point} \end{array}\right. $$
(51)

enables a case differentiation. For limit points reordering of (50) 1 yields

$$ \frac{d \lambda_{cr}}{d s}=\frac{\boldsymbol{\phi}^{T}{\frac{\partial \boldsymbol{R}_{v}}{\partial s}}}{\boldsymbol{\phi}^{T}\boldsymbol{F}_{v}}, $$
(52)

due to the fact that \(\boldsymbol {\phi }^{T}\boldsymbol {K}_{v}\) vanishes in critical points. For arbitrary critical (bifurcation and limit) points reordering (49) 1 yields

$$ \frac{d \hat{\boldsymbol{v}}_{cr}}{d s}=\boldsymbol{K}_{v}^{-1}\boldsymbol{F}_{v}\frac{d \lambda_{cr}}{d s}-\boldsymbol{K}_{v}^{-1}\frac{\partial \boldsymbol{R}_{v}}{\partial s}. $$
(53)

Plugging this condition into (50) 2 and reordering yields

$$ \frac{d \lambda_{cr}}{d s}= \frac{\boldsymbol{\phi}^{T}\left( {\frac{\partial \boldsymbol{K}_{v}}{\partial \hat{\boldsymbol{v}}}}\boldsymbol{K}_{v}^{-1}{\frac{\partial \boldsymbol{R}_{v}}{\partial s}}-{\frac{\partial \boldsymbol{K}_{v}}{\partial s}}\right)\boldsymbol{\phi}}{\boldsymbol{\phi}^{T}{\frac{\partial \boldsymbol{K}_{v}}{\partial \hat{\boldsymbol{v}}}}\boldsymbol{K}_{v}^{-1}\boldsymbol{F}_{v}\boldsymbol{\phi}}. $$
(54)

Like presented by Reitinger (1994), rearranging (54) yields

$$ \frac{d \lambda_{cr}}{d s}= \frac{\boldsymbol{\phi}^{T}\left( \delta\boldsymbol{K}_{v}^{T}\boldsymbol{K}_{v}^{-1}{\frac{\partial \boldsymbol{R}_{v}}{\partial s}}-{\frac{\partial \boldsymbol{K}_{v}}{\partial s}}\boldsymbol{\phi}\right)}{\phi^{T}\delta\boldsymbol{K}_{v}^{T}\boldsymbol{K}_{v}^{-1}\boldsymbol{F}_{v}}, $$
(55)

where \(\delta \boldsymbol {K}_{v}(\hat {\Delta }\boldsymbol {v}=\boldsymbol {\phi })\) is the directional derivative of the tangent stiffness matrix in the direction of the eigenvector ϕ. A known quantity is δ K v , see Sections 4.3 and 4.4. Central quantity of interest is the derivative of the uncondensed tangent stiffness matrix K v with respect to the design variable s. The sensitivity matrix \(\boldsymbol {S}_{v}=-\boldsymbol {K}_{v}^{-1}\frac {\partial \boldsymbol {R}_{v}}{\partial s}\) for direct approach to DSA is summarised in Appendix B. Missing quantities for analytical derivatives are shown in Section 6.

6 Sensitivity equations for solid shells

Gradient information for LBA and NBA are derived within this section for the solid shell finite element formulation. Quantities to be derived are the partial derivatives of the tangent stiffness matrix with respect to state and design. The derivatives of the condensed material and geometric stiffness (47) as well as the partial derivative of the uncondensed stiffness matrix included in (55) are shown explicitly.

6.1 General remarks

To avoid third order tensors the post-multiplication of the eigenvectors ϕ and ϕ is considered respectively

$$\begin{array}{@{}rcl@{}} &&\frac{\partial (\boldsymbol{K}_{m}\boldsymbol \phi)}{\partial \hat{\boldsymbol{\boldsymbol{X}}}},\quad \frac{\partial (\boldsymbol{K}_{m}\boldsymbol \phi)}{\partial \hat{\boldsymbol{u}}},\quad \frac{\partial (\boldsymbol{K}_{m}\boldsymbol \phi)}{\partial \boldsymbol \alpha},\\ &&\frac{\partial (\boldsymbol{K}_{g}\boldsymbol \phi)}{\partial \hat{\boldsymbol{X}}},\quad \frac{\partial (\boldsymbol{K}_{g}\boldsymbol \phi)}{\partial \boldsymbol \beta},\quad\\ &&\frac{\partial (\boldsymbol{K}_{v}\phi)}{\partial \hat{\boldsymbol{X}}}, \end{array} $$
(56)

where the eigenvectors are assumed to be state and design independent. The matrix vector product of the material and geometric stiffness with the eigenvectors ϕ and ϕ is obtained respectively by the assembly over all elements

$$\begin{array}{@{}rcl@{}} \boldsymbol{K}_{m}\boldsymbol \phi&=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \boldsymbol{K}_{m_{e}}\boldsymbol \phi_{e}, \end{array} $$
(57)
$$\begin{array}{@{}rcl@{}} \boldsymbol{K}_{g}\boldsymbol \phi&=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \boldsymbol{K}_{g_{e}}\boldsymbol \phi_{e}, \end{array} $$
(58)
$$\begin{array}{@{}rcl@{}} \boldsymbol{K}_{v}\phi&=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \boldsymbol{K}_{v_{e}}\phi_{e}. \end{array} $$
(59)

To depict the derivatives of material, geometric and uncondensed stiffness in an appropriate and compact form avoiding index notation a special product is introduced. For any \(z,x,y\in \mathbb {N}^{+}\), \(\boldsymbol {B}\in \mathbb {R}^{z\times y}\), \(\boldsymbol {c}\in \mathbb {R}^{y}\) and \(\boldsymbol {d}\in \mathbb {R}^{x}\) the mapping \(\bar {\mathcal {P}}\) is defined as

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}:\mathbb{R}^{z\times y}\times\mathbb{R}^{y}\times\mathbb{R}^{x}&\longrightarrow&\mathbb{R}^{z\times x}\\ (\boldsymbol{B},\boldsymbol{c})_{,\boldsymbol{d}}&\longrightarrow&\boldsymbol{E} \end{array} $$
(60)

with

$$ E_{il} = \sum\limits_{k=1}^{y} \frac{\partial B_{ik}}{\partial d_{l}}c_{k},\quad i=1,...,z,\quad l=1,...,x. $$
(61)

The special product \(\mathcal {P}\) introduced by Gerzen et al. (2013) is generalised. For any \(z,x,y\in \mathbb {N}^{+}\), \(\boldsymbol {M}\in \mathbb {R}^{z\times y}\), \({\mathbb {T}}\in \mathbb {R}^{y\times x\times 24}\) and \(\boldsymbol {V}\in \mathbb {R}^{x}\) the mapping \(\mathcal {P}\) is defined as follows

$$\begin{array}{@{}rcl@{}} \mathcal{P}:\mathbb{R}^{z\times y}\times\mathbb{R}^{y\times x\times 24}\times\mathbb{R}^{x}&\longrightarrow&\mathbb{R}^{z\times 24}\\ (\boldsymbol{M},{\mathbb{T}},\boldsymbol{V})&\longrightarrow&\boldsymbol{Q} \end{array} $$
(62)

with

$$ \begin{array}{ll} Q_{kn}=\sum\limits_{l=1}^{y}\sum\limits_{m=1}^{x} M_{kl}{\mathbb{T}}_{lmn}V_{m},\quad \begin{matrix} k&=&1,&...,& z,\\n&=&1,&...,& 24. \end{matrix} \end{array} $$
(63)

6.2 Shape variations

The partial derivatives with respect to design by means of the vector of FE nodal co-ordinates \(\hat {\boldsymbol {X}}\) from (56) are derived in this section.

6.2.1 Shape variations of material stiffness

The derivative of the third quantity of (56) is obtained using product rule as

$$\begin{array}{@{}rcl@{}} \frac{\partial (\boldsymbol{K}_{m}\boldsymbol \phi)}{\partial \hat{\boldsymbol{X}}} &=&\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \left( \bar{\mathcal{P}}(\boldsymbol{L}_{e}^{T},\boldsymbol \beta_{2})_{,\hat{\boldsymbol{X}}_{e}}\right.\\ &&+\boldsymbol \alpha_{2} \bar{\mathcal{P}}(\boldsymbol{L}_{e},\boldsymbol \phi_{e})_{,\hat{X}_{e}}\\ &&+\boldsymbol \alpha_{1} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{11},\boldsymbol \beta_{3})_{,\hat{X}_{e}}\\ &&-\boldsymbol \alpha_{1} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{12},\boldsymbol \beta_{1})_{,\hat{X}_{e}}\\ &&-\boldsymbol \alpha_{3} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{21},\boldsymbol \beta_{3})_{,\hat{X}_{e}}\\ &&+\boldsymbol \alpha_{3} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{22},\boldsymbol \beta_{1})_{,\hat{X}_{e}}\\ &&-\boldsymbol \alpha_{1} \bar{\mathcal{P}}(\boldsymbol{C}_{e}^{T},\boldsymbol \beta_{2})_{,\hat{X}_{e}}\\ &&\left.-\boldsymbol \alpha_{2} \bar{\mathcal{P}}(\boldsymbol{C}_{e},\boldsymbol \beta_{3})_{, \hat{X}_{e}} \right), \end{array} $$
(64)

using the abbreviations

$$\begin{array}{@{}rcl@{}} \boldsymbol \beta_{1}&=&(\boldsymbol{A}_{e}^{22})^{-1}\boldsymbol{A}_{e}^{21}\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e}\boldsymbol \phi_{e},\\ \boldsymbol \beta_{2}&=&\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e}\boldsymbol \phi_{e}, \qquad\boldsymbol \alpha_{1}=\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T},\\ \boldsymbol \beta_{3}&=&\boldsymbol{C}_{e}^{-1}\boldsymbol{L}_{e}\boldsymbol \phi_{e}, \qquad\boldsymbol \alpha_{2}=\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}\boldsymbol{C}_{e}^{-1},\\ \boldsymbol \beta_{4}&=&\boldsymbol{L}_{e}\boldsymbol \phi_{e}, \qquad\boldsymbol \alpha_{3}=\boldsymbol{L}_{e}^{T}\boldsymbol{C}_{e}^{-T}\boldsymbol{A}_{e}^{12}(\boldsymbol{A}_{e}^{22})^{-1}. \end{array} $$
(65)

The first desired quantity reads

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{L}_{e}^{T},\boldsymbol \beta_{2})_{,\hat{\boldsymbol{X}}_{e}}&=& \int\limits_{{\Omega}_{R}}\left( \boldsymbol{B}^{T}\boldsymbol{N}_{S}\boldsymbol \beta_{2}\right)\boldsymbol{D}\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{B}^{T},\,{\mathbb{T}}_{S}^{0},\, \boldsymbol{N}_{L} \boldsymbol \beta_{2}\right)\,d{\Omega}_{e}\\ &&-\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{B}_{L}^{T} \boldsymbol{T}_{S}^{-1},\,{\mathbb{T}}_{S},\, \boldsymbol{T}_{S}^{-1}\boldsymbol{N}_{S} \boldsymbol \beta_{2}\right)\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\left( (\boldsymbol{B}_{L}^{T})_{,\hat{\boldsymbol{X}}_{e}}\boldsymbol{T}_{S}^{-1}\boldsymbol{N}_{S} \boldsymbol \beta_{2}\right)\,d{\Omega}_{e}. \end{array} $$
(66)

The only unknown part is

$$ \left( (\boldsymbol{B}_{L}^{T})_{,\hat{\boldsymbol{X}}_{e}}\boldsymbol{T}_{S}^{-1}\boldsymbol{N}_{S}\boldsymbol \beta_{2}\right)=\boldsymbol{F}\in\mathbb{R}^{24\times24}, $$
(67)

with

$$ \boldsymbol{F}=\left[\begin{array}{cccc} \boldsymbol{F}_{11}&\cdots&\boldsymbol{F}_{18}\\ \vdots&\ddots&\vdots\\ \boldsymbol{F}_{81}&\cdots&\boldsymbol{F}_{88} \end{array}\right]\in\mathbb{R}^{24\times 24}, $$
(68)

which is build by submatrices

$$ \boldsymbol{F}_{IJ}=\text{diag}[F_{IJ},F_{IJ},F_{IJ}], \quad F_{IJ}=\boldsymbol \beta_{2}^{T}\boldsymbol{N}_{S}^{T}\boldsymbol{B}_{IJ}. $$
(69)

Note that F is not the deformation gradient here. The second quantity of (64) reads

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{L}_{e},\boldsymbol \phi_{e})_{,\hat{\boldsymbol{X}}_{e}} &\,=\,&\int\limits_{{\Omega}_{R}}\!\left( \boldsymbol{N}_{S}^{T}\boldsymbol{B}\boldsymbol \phi_{e}\right)\boldsymbol{D}\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{\!P}\left( \boldsymbol{N}_{L}^{T},\,({\mathbb{T}}_{S}^{0})^{T},\, \boldsymbol{B} \boldsymbol \phi_{e}\right)\,d{\Omega}_{e}\\ &&-\int\limits_{{\Omega}_{R}}\mathcal{\!P\!}\left( \boldsymbol \!N_{S}^{T} \boldsymbol{T}_{S}^{-T},\,({\mathbb{T}}_{S})^{T}\!,\, \boldsymbol{T}_{S}^{-T}\boldsymbol{B}_{L} \boldsymbol \phi_{e\!}\right)\!d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\!\left( \boldsymbol{N}_{S}^{T}\boldsymbol{T}_{S}^{-T}(\boldsymbol{B}_{L}\boldsymbol \phi_{e})_{,\hat{\boldsymbol{X}}_{e}}\right)\,d{\Omega}_{e}. \end{array} $$
(70)

Here, the only unknown part is

$$ (\boldsymbol{B}_{L}\boldsymbol \phi_{e})_{,\hat{\boldsymbol{X}}_{e}}=[(\boldsymbol{B}_{L1}\boldsymbol \phi_{e})_{,\hat{\boldsymbol{X}}_{e}},...,(\boldsymbol{B}_{L8}\boldsymbol \phi_{e})_{, \hat{\boldsymbol{X}}_{e}}]\in \mathbb{R}^{6\times 24} $$
(71)

containing \((\boldsymbol {B}_{LI}\boldsymbol \phi _{e})_{, \hat {\boldsymbol {X}}_{e}}\in \mathbb {R}^{6\times 3}\) with

$$ (\boldsymbol{B}_{LI}\boldsymbol \phi_{e})_{,\hat{\boldsymbol{X}}_{e}}= \left[\begin{array}{llllll} \boldsymbol{e}_{1} & \boldsymbol{e}_{2} & \boldsymbol{e}_{3} & \boldsymbol{e}_{4} & \boldsymbol{e}_{5} & \boldsymbol{e}_{6} \end{array}\right]^{T} $$
(72)

and

$$\begin{array}{@{}rcl@{}} \boldsymbol{e}_{1} &=& \boldsymbol \phi_{e}^{T}\left( N_{I,1}\boldsymbol{N}_{,1}^{T}\right),\\ \boldsymbol{e}_{2} & =& \boldsymbol \phi_{e}^{T}\left( N_{I,2}\boldsymbol{N}_{,2}^{T}\right),\\ \boldsymbol{e}_{3} & =& \boldsymbol \phi_{e}^{T}\left( \sum\limits_{L=i}^{iv}\frac{1}{4}(1+{\xi^{1}_{L}}\xi^{1})(1+{\xi^{2}_{L}}\xi^{2})N_{I,3}^{L}(\boldsymbol{N}_{3}^{L})^{T}\right),\\ \boldsymbol{e}_{4} & =& \boldsymbol \phi_{e}^{T}\left( N_{I,1}\boldsymbol{N}_{,2}^{T}+N_{I,2}\boldsymbol{N}_{,1}^{T}\right), \end{array} $$
(73)
$$\begin{array}{@{}rcl@{}} \boldsymbol{e}_{5} & =& \frac{1}{2}\boldsymbol \phi_{e}^{T}\left( (1-\xi^{2})(N_{I,1}^{B}(\boldsymbol{N}_{3}^{B})^{T}+N_{I,3}^{B}(\boldsymbol{N}_{1}^{B})^{T})\right.\\ &&\left.+(1+\xi^{2})(N_{I,1}^{D}(\boldsymbol{N}_{3}^{D})^{T}+N_{I,3}^{D}(\boldsymbol{N}_{1}^{D})^{T})\right),\\ \boldsymbol{e}_{6} & =& \frac{1}{2}\boldsymbol \phi_{e}^{T}\left( (1-\xi^{1})(N_{I,2}^{A}(\boldsymbol{N}_{3}^{A})^{T}+N_{I,3}^{A}(\boldsymbol{N}_{2}^{A})^{T})\right.\\ &&\left.+(1+\xi^{1})(N_{I,2}^{C}(\boldsymbol{N}_{3}^{C})^{T}+N_{I,3}^{C}(\boldsymbol{N}_{2}^{C})^{T})\right). \end{array} $$

The quantities three to six of (64) corresponding to virtual and incremental strains are

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{11},\boldsymbol \beta_{3})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{N}_{E}^{T} \bar{C}^{h}\boldsymbol{N}_{E}\boldsymbol \beta_{3}\right)\boldsymbol{D}\,d{\Omega}_{e} \end{array} $$
(74)
$$\begin{array}{@{}rcl@{}} &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{L}^{T},\,({\mathbb{T}}_{E}^{0})^{T},\, \bar{C}^{h}\boldsymbol{N}_{E} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{E}^{T} \bar{C}^{h},\,{\mathbb{T}}_{E}^{0},\, \boldsymbol{N}_{L} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e}, \end{array} $$
$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{12},\boldsymbol \beta_{1})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{N}_{E}^{T} \bar{C}^{h}\boldsymbol{M}_{E}\boldsymbol \beta_{1}\right)\boldsymbol{D}\,d{\Omega}_{e} \end{array} $$
(75)
$$\begin{array}{@{}rcl@{}} &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{L}^{T},\,({\mathbb{T}}_{E}^{0})^{T},\, \bar{C}^{h}\boldsymbol{M}_{E} \boldsymbol \beta_{1}\right)\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{E}^{T} \bar{C}^{h},\,{\mathbb{T}}_{M},\, \boldsymbol{M}_{L} \boldsymbol \beta_{1}\right)\,d{\Omega}_{e}, \end{array} $$
$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{21},\boldsymbol \beta_{3})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{M}_{E}^{T} \bar{C}^{h}\boldsymbol{N}_{E}\boldsymbol \beta_{3}\right)\boldsymbol{D}\,d{\Omega}_{e} \end{array} $$
(76)
$$\begin{array}{@{}rcl@{}} &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{M}_{E}^{T} \bar{C}^{h},\,{\mathbb{T}}_{E}^{0},\, \boldsymbol{N}_{L} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{M}_{L}^{T},\,({\mathbb{T}}_{M}^{0})^{T},\, \bar{C}^{h}\boldsymbol{N}_{E} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e}, \end{array} $$
$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{A}_{e}^{22},\boldsymbol \beta_{1})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{M}_{E}^{T} \bar{C}^{h}\boldsymbol{M}_{E}\boldsymbol\beta_{1}\right)\boldsymbol{D}\,d{\Omega}_{e} \end{array} $$
(77)
$$\begin{array}{@{}rcl@{}} &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{M}_{L}^{T},\,({\mathbb{T}}_{M})^{T},\, \bar{C}^{h}\boldsymbol{M}_{E} \boldsymbol \beta_{1}\right)\,d{\Omega}_{e}\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{M}_{E}^{T} \bar{C}^{h},\,{\mathbb{T}}_{M},\, \boldsymbol{M}_{L} \boldsymbol \beta_{1}\right)\,d{\Omega}_{e}. \end{array} $$

All quantities are known here. The last two quantities of (64) read

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{C}_{e}^{T},\boldsymbol \beta_{2})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{N}_{E}^{T}\boldsymbol{N}_{S}\boldsymbol \beta_{2}\right)\boldsymbol{D}\,d{\Omega}_{e}\\ &+&\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{E}^{T},\,{\mathbb{T}}_{S}^{0},\, \boldsymbol{N}_{L} \boldsymbol \beta_{2}\right)\,d{\Omega}_{e} \end{array} $$
(78)
$$\begin{array}{@{}rcl@{}} &+&\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{L}^{T},\,({\mathbb{T}}_{E}^{0})^{T},\, \boldsymbol{N}_{S} \boldsymbol \beta_{2}\right)\,d{\Omega}_{e} \end{array} $$

and

$$\begin{array}{@{}rcl@{}} \bar{\mathcal{P}}(\boldsymbol{C}_{e},\boldsymbol \beta_{3})_{,\hat{\boldsymbol{X}}_{e}} &=&\int\limits_{{\Omega}_{R}}\left( \boldsymbol{N}_{S}^{T}\boldsymbol{N}_{E}\boldsymbol \beta_{3}\right)\boldsymbol{D}\,d{\Omega}_{e}\\ &+&\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{L}^{T},\,({\mathbb{T}}_{S}^{0})^{T},\, \boldsymbol{N}_{E} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e} \end{array} $$
(79)
$$\begin{array}{@{}rcl@{}} &+&\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{S}^{T},\,{\mathbb{T}}_{E}^{0},\, \boldsymbol{N}_{L} \boldsymbol \beta_{3}\right)\,d{\Omega}_{e}, \end{array} $$

where no new quantities appear.

6.2.2 Shape variations of geometric stiffness

The derivative with respect to design of the geometric stiffness is given by one quantity which reads

$$ \begin{aligned} \frac{\partial(\boldsymbol{K}_{g}\boldsymbol \phi)}{\partial \hat{\boldsymbol{X}}}=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \bar{\mathcal{P}}(\boldsymbol{K}_{e},\boldsymbol \phi_{e})_{,\boldsymbol{\hat{\boldsymbol{X}}}_{e}}&=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}}\int\limits_{{\Omega}_{R}}\boldsymbol{a}\,d{\Omega}_{e}. \end{aligned} $$
(80)

It contains the matrix

$$ \boldsymbol{a}=[\boldsymbol{a}^{1},...,\boldsymbol{a}^{8}]^{T}\in\mathbb{R}^{24\times24}, $$
(81)

which is composed in

$$\begin{array}{@{}rcl@{}} \boldsymbol{a}_{I}&=& \sum\limits_{J=1}^{8} \boldsymbol \phi_{e}^{J} \boldsymbol{a}_{IJ}\in\mathbb{R}^{3\times24},~~\text{with}~~\boldsymbol{a}_{IJ}\in{\mathbb{R}}^{1\times24},\\ \boldsymbol{a}_{IJ}&=&\int\limits_{{\Omega}_{R}}\left( \left( \hat{\boldsymbol{S}}^{h}\right)^{T}\boldsymbol{B}_{IJ}\right)\boldsymbol{D}\,d\Omega\\ &&+\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \left( \hat{\boldsymbol{S}}_{L}^{h}\right)^{T},\,({\mathbb{T}}_{S}^{0})^{T},\, \boldsymbol{B}_{IJ}\right)\,d{\Omega}_{e}\\ &&-\int\limits_{{\Omega}_{R}}\mathcal{P}\left( \left( \hat{\boldsymbol{S}}^{h}\right)^{T} \boldsymbol{T}_{S}^{-T},\,({\mathbb{T}}_{S})^{T},\, \boldsymbol{B}_{IJ}\right)\,d{\Omega}_{e}. \end{array} $$
(82)

Quantities which are not explicitly mentioned by Gerzen et al. (2013) are \( \hat {S}_{L}^{h}=\boldsymbol {N}_{L}\boldsymbol \beta _{e}\), and \(\boldsymbol \phi _{e}=[\boldsymbol \phi _{e}^{1},...,\boldsymbol \phi _{e}^{8}]^{T}\), containing \(\boldsymbol \phi _{e}^{J}=[\boldsymbol \phi _{e}^{xJ},\boldsymbol \phi _{e}^{yJ},\boldsymbol \phi _{e}^{zJ}]^{T}\), cf. Appendix A and B.

6.2.3 Shape variations of uncondensed stiffness

The derivative with respect to design of the uncondensed stiffness matrix includes quantities needed for geometric and material part in a slightly modified way. The desired derivative reads

$$\begin{array}{@{}rcl@{}} \frac{\partial (\boldsymbol{K}_{v}\boldsymbol \phi)}{\partial \hat{\boldsymbol{X}}}&=&\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}} \left( \bar{\mathcal{P}}(\boldsymbol{K}_{e},\boldsymbol{\phi}_{\hat{u}_{e}})_{, \hat{\boldsymbol{X}}_{e}}\right.\\ &&+\bar{\mathcal{P}}(\boldsymbol{L}_{e}^{T},\boldsymbol {\phi_{\boldsymbol \beta}}_{e})_{, \hat{\boldsymbol{X}}_{e}}\\ &&+\bar{\mathcal{P}}(\boldsymbol{L}_{e},\boldsymbol {\phi_{\hat{u}}}_{e})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}}\\ &&+\bar{\mathcal{P}}(\boldsymbol{A}_{e}^{11},\boldsymbol {\phi_{\boldsymbol\alpha}}_{e}^{1})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}}\\ &&+\bar{\mathcal{P}}(\boldsymbol{A}_{e}^{12},\boldsymbol {\phi_{\boldsymbol\alpha}}_{e}^{1})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}}\\ &&+\bar{\mathcal{P}}(\boldsymbol{A}_{e}^{21},\boldsymbol {\phi_{\boldsymbol\alpha}}_{e}^{1})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}}\\ &&+\bar{\mathcal{P}}(\boldsymbol{A}_{e}^{22},\boldsymbol {\phi_{\boldsymbol\alpha}}_{e}^{2})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}}\\ &&-\bar{\mathcal{P}}(\boldsymbol{C}_{e}^{T},\boldsymbol {\phi_{\boldsymbol \beta}}_{e})_{, \hat{\boldsymbol{X}}_{e}}\\ &&\left.-\bar{\mathcal{P}}(\boldsymbol{C}_{e},\boldsymbol {\phi_{\boldsymbol\alpha}}_{e}^{1})_{,\boldsymbol\scriptsize \hat{\boldsymbol{X}}_{e}} \right). \end{array} $$
(83)

Implementation is straight forward compared to geometric and material parts, further details are omitted.

6.3 State variations

The partial derivatives with respect to state by means of the vectors of FE-nodal displacements \( \hat {u}\) and internal stress degrees of freedom β from (56) are derived in this section. The dependency on strain degrees of freedom α vanishes for materials of St. Venant-type.

6.3.1 State variations of material stiffness

The derivative with respect to the displacement degrees of freedom of the material stiffness reads

$$ \frac{\partial (\boldsymbol{K}_{m}\boldsymbol \phi)}{\partial \hat{\boldsymbol{u}}} =\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}}\left( \boldsymbol \alpha_{2} \bar{\mathcal{P}}(\boldsymbol{L}_{e},\boldsymbol \phi_{e})_{, \hat{\boldsymbol{u}}_{e}} + \bar{\mathcal{P}}(\boldsymbol{L}_{e}^{T}, \boldsymbol \beta_{2})_{, \hat{\boldsymbol{u}}_{e}}\right) $$
(84)

Here, the first quantity on element level is

$$ \bar{\mathcal{P}}(\boldsymbol{L}_{e},\boldsymbol \phi_{e})_{, \hat{\boldsymbol{u}}_{e}} = \int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{N}_{S}^{T},\,{\mathbb{A}},\,\boldsymbol \phi_{e}\right)\,d{\Omega}_{e}. $$
(85)

The third order tensor \({\mathbb {A}}\in \mathbb {R}^{6\times 24\times 24}\) is composed of sub tensors of third order \({\mathbb {A}}_{IJ} \in \mathbb {R}^{6\times 3\times 3}\). The symbolic relation reads

$$ {\mathbb{A}}= \left[\begin{array}{ccc} {\mathbb{A}}_{11} & {\dots} & {\mathbb{A}}_{18} \\ {\vdots} & {\ddots} & {\vdots} \\ {\mathbb{A}}_{81} & {\dots} & {\mathbb{A}}_{88} \\ \end{array}\right], \quad\text{with}\quad {\mathbb{A}}_{IJ}=\boldsymbol{B}_{IJ}\otimes\boldsymbol{I}. $$
(86)

With the transposed relation \({\mathbb {A}}_{ijk}^{T}={\mathbb {A}}_{jik}\), the second quantity from (84) reads

$$ \bar{\mathcal{P}}(\boldsymbol{L}_{e}^{T}, \boldsymbol \beta_{2})_{, \hat{u}_{e}} = \int\limits_{{\Omega}_{R}}\mathcal{P}\left( \boldsymbol{I},\,({\mathbb{A}})^{T},\,\boldsymbol{N}_{S}\boldsymbol \beta_{2}\right)\,d{\Omega}_{e}. $$
(87)

6.3.2 State variations of geometric stiffness

The derivative with respect to the stress degrees of freedom of the geometric stiffness reads

$$ \frac{\partial (\boldsymbol{K}_{g}\boldsymbol \phi)}{\partial \boldsymbol \beta}=\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}}\bar{\mathcal{P}}(\boldsymbol{K}_{e},\boldsymbol \phi_{e})_{,\boldsymbol \beta_{e}} =\overset{\text{nel}}{\underset{{e=1}}{{{ A}}}}\int\limits_{{\Omega}_{R}}\boldsymbol{d}\,d{\Omega}_{e}. $$
(88)

It contains the matrix

$$ \boldsymbol{d}=[\boldsymbol{d}^{1},...,\boldsymbol{d}^{8}]^{T}\in\mathbb{R}^{24\times18}, $$
(89)

which is composed in

$$ \boldsymbol{d}_{I}=\sum\limits_{J=1}^{8} \boldsymbol \phi_{e}^{J} \boldsymbol{B}_{IJ}^{T}\boldsymbol{N}_{S}\in\mathbb{R}^{3\times 18}, ~~ I=1,2,\dots,8. $$
(90)

7 Benefits of analytical approach to DSA

To motivate the computation of analytical gradient information, two comparisons are conducted. First, the ratio of computation times between structural analysis and analytical sensitivity analysis is observed. Second, the computation times of analytically and semi-analytically derived gradient information on element level is evaluated.

7.1 Comparison to overall finite differences

The computational time of one structural analysis is t a . Here, structural analysis means the determination of the objective, which is the eigenvalue of the LBA (8) or the directly computed critical load scale (cf. Algorithm 2) of NBA. The computational time of one sensitivity analysis is t s . Sensitivity analysis means the computation of gradient information on analytically derived basis including complete assembly of total derivatives of the LBA (46) and NBA for limit (52) and (55) bifurcation points, respectively. The overall finite difference (OFD) method provides information of the desired total derivatives by e.g. forward difference approximation. For ndv design variables, ndv additional function evaluations are needed to compute the desired gradient with OFD. Thus, the computation time of gradients with OFD approch is approximately \(t_{s}^{\text {OFD}}\approx ndv\cdot t_{a}\). For the central difference approximation twice as much function evaluations are needed and the computation time doubles. If

$$ ndv > t_{s}/t_{a}, $$
(91)

the analytically computed gradients save computational time compared to the OFD approach with forward finite difference approximation. For both examples (the cantilever in Section 8.2 and the deep arch in Section 8.3) the structural analysis for LBA includes three Newton iterations and the solution of the eigenvalue problem. Ratios are t s /t a =3.1306 and t s /t a =2.46874 for the cantilever and arch example, respectively. For NBA the structural analysis includes eight (for the cantilever example, three for the arch example) steps of path-following with 29 Newton iterations overall (for the cantilever example, 14 for the arch example) and a direct computation with eight (for the cantilever example, three for the arch example) iterations. Ratios of computation time are t s /t a =0.0200 and t s /t a =0.6409 for cantilever and arch examples, respectively. Due to high effort for path-following, OFD approach is way more time consuming. A further speed up for sensitivity analysis is reached by using previously determined quantities e.g. the factorised stiffness matrix. This is not done here.

7.2 Comparison to semi-analytical approach

All needed quantities on element level are the partial derivatives from (56) and the pseudo load matrix derived by Gerzen et al. (2013), cf. Appendix B. The computational time to determine these quantities for one finite element is \({t_{s}^{e}}\). Within the semi-analytical (SA) approach these quantities are determined by finite difference approximation from evaluations of physical residual and tangent stiffness matrix on element level. The computational time for the evaluation of the physical residual and tangent stiffness matrix for one finite element is \({t_{a}^{e}}\). Partial derivatives are needed with respect to 24 nodal co-ordinates, 24 displacement components and 18 stress degrees of freedom for the underlying solid shell formulation. For forward finite difference approximation n a =24+24+18=66 additional evaluations of the physical residual and tangent stiffness matrix are needed for each finite element. The computation time for sensitivity quantities on element level is approximately \(t_{s}^{\text {SA}e}\approx n_{a} \cdot {t_{a}^{e}}\). With the ratio \({t_{s}^{e}}/{t_{a}^{e}}=15.320\) and

$$ \frac{n_{a}}{{t_{s}^{e}}/{t_{a}^{e}}}=4.308 $$
(92)

the computation of partial derivatives on element level with SA approach increases the computation time on element level by a factor of 4. For the examples in Section 8 the computation time on element level is about 50 % to 70 % of total computation time for the analytical DSA. This semi-analytical approach is used to verify the derived quantities on element level. To reduce paperwork only the comparison to OFD approach is presented in the paper, see Sections 8.2 and 8.3.

8 Numerical examples

The presented sensitivity information is used for two shape optimisation examples in Sections 8.2 and 8.3 after the structural optimisation framework is briefly summarised in Section 8.1.

8.1 Structural optimisation framework

The optimisation framework includes a short overview on used mathematical algorithm and optimisation techniques. The optimisation problem to be solved reads

$$ J(\boldsymbol{s})\rightarrow\underset{\boldsymbol{s}\in\mathbb{R}^{n}}{\max}~~ \text{s.t.}~~ g(\boldsymbol{s})\le 0,~~ \boldsymbol{s}^{l}\le\boldsymbol{s}\le\boldsymbol{s}^{u}. $$
(93)

The objective J is the smallest eigenvalue of the LBA (8) or the first critical load scale from direct computation (Algorithm 2) within NBA. The inequality constraint g is introduced to constrain the volume of the structure. Lower and upper bounds for design variables s are s l and s u, respectively. For an overview on structural optimisation see e.g. Baier et al. (1996). Following the concept of design velocity fields, the arbitrary mapping

$$ \hat{X}=\boldsymbol {\Psi}(\boldsymbol{s}) $$
(94)

is defined. The FE-nodal co-ordinates \( \hat { \boldsymbol {X}}\) are defined as a function of the vector of design variables s. Here, the vector of design variables s includes the parameters of the computer aided geometric design (CAGD) description of the geometry based on Bézier patches, see Farin (2002) for details. Derivatives with respect to design variables can be computed from derivatives with respect to FE-nodal co-ordinates \( \hat {X}\) by chain rule

$$ \frac{\partial (\cdot)}{\partial \boldsymbol{s}}= \frac{\partial (\cdot)}{\partial \hat{ \boldsymbol{X}}}\frac{\partial \hat{ \boldsymbol{X}}}{\partial \boldsymbol{s}}= \frac{\partial (\cdot)}{\partial \hat{ \boldsymbol{X}}}\boldsymbol{Q}, $$
(95)

where the latter quantity Q is the design velocity fields matrix. For details on the concept of design velocity fields see Choi and Kim (2005a, 2005b). The non-linear optimisation problem is solved using sequential quadratic programming (SQP). A BFGS-approximation (named after Broyden-Fletcher-Goldfarb-Shanno) of the Hessian avoids the computation of higher order derivatives. For an overview on non-linear optimisation techniques see (Nocedal and Wright 2006).

8.2 Cantilever

The first example is the sizing of the cantilever depicted in Fig. 4. The U-profile is well known for limit point buckling. Sensitivity relations for LBA (46) and the reduced form for limit points of NBA (52) are applied for shape optimisation in this example. The cantilever is clamped at the right hand side (x=0m) and loaded at the upper left corner of the profile at the left hand side (x=36m) of Fig. 4. Its profile thicknesses \({t_{f}^{u}}\), \({t_{f}^{l}}\) and t w are allowed to vary over the length. The initial value for all thicknesses is 0.075m. For each thickness, eight parameters (design variables) define the CAGD description of the geometry based on Bézier patches in global x-direction. With three thicknesses 24 design variables describe the cross section of the cantilever continuously over the length. The upper bound for the thicknesses is 0.1m, the lower bound is 0.05m. The volume of the structure is not allowed to increase, only the material distribution is changed. The optimisation is perfomed maximising the minimum eigenvalue of the LBA (Λ-optimised) and maximising the critical load scale of NBA (λ c r -optimised), respectively. The LBA is evaluated in the state λ, \(\hat {v}=[\hat {u},\boldsymbol \alpha ,\boldsymbol \beta ]^{T}\), which is obtained by applying a load of F=1MN. Results of structural optimisation are shown in Fig. 5 on page 16. The optimisation data is shown in Fig. 5f. The smallest eigenvalue increases from 323.59 to 485.66 for Λ-optimised design. The critical load scale of NBA increases from 268.90 to 355.33 for λ c r -optimised design. To judge the optimisation results, the non-linear load-displacement diagrams are shown in Fig. 5g. The actual critical load scale of Λ-optimised design is with 329.56 below the critical load scale of the λ c r -optimised design. Figure 5d shows the thickness distribution over the length of the Λ-optimised structure where the co-ordinate x=0m denotes the clamped end of the cantilever and x=36m denotes the loaded end of the cantilever. Corresponding scaled cross sections are depicted in Fig. 5e. The material distribution differs compared to the λ c r -optimised design in Fig. 5h with corresponding scaled cross section in Fig. 5i. The most significant difference is the distribution of the web thickness t w , which reaches the upper bound for Λ-optimised design but the lower bound for λ c r -optimised design at loaded end of the cantilever.

Fig. 4
figure 4

Mechanical system and model data

Fig. 5
figure 5

Results for cantilever

To verify derived gradient information from (46) and (52) the gradients of the objective functions are computed by OFD approach (∇ΛOFD, \(\nabla \lambda _{cr}^{\text {OFD}}\)) with central finite difference approximation for the initial design with thickness perturbation of 7.5×10−3m to 7.5×10−9m. The analytically computed gradients with respect to 24 shape design variables are ∇Λ and ∇λ c r , respectively. Relative errors are depicted in Table 1 and Fig. 6. The truncation criteria for equilibrium iterations is in the order of 10−8 for the norm of the physical residual vector. Thus, it does not make sense to choose the order of perturbation for finite difference approximation smaller than this order due to numerical difficulties. If the order of perturbation is chosen to rough finite difference approximation again becomes more inaccurate. The best approximation of analytically derived gradients can be achieved with perturbation of design variables in the order of 10−4 to 10−5 for this example.

Fig. 6
figure 6

Comparison of analytical and OFD appoach to DSA for limit point buckling

Table 1 Comparison of analytical and OFD approach for limit point buckling

8.3 Deep arch

The second numerical example is the deep arch depicted in Fig. 7. This example is well known for bifurcation point buckling and limit point buckling.

Fig. 7
figure 7

Mechanical system and model data

Sensitivity relations for LBA (46) and the general form for NBA (55) are applied for shape optimisation in this example. The analytical approach to DSA is verified in Fig. 6. The arch is hinged at both ends. A point load is applied at the top of the arch. The initial structure has a width in paper direction of w=10m. For optimisation, this width is allowed to change continuously. Ten parameters (design variables) define the CAGD description based on Bézier patches, which only allow symmetric structures. Lower and upper bounds for the width are 3m≤w≤30m. Again Λ- and λ c r -based optimisation is performed with fixed amount of material. Only the distribution of w is optimised. The load-displacement diagram of the initial structure is shown in Fig. 7g on page 18. Far below the limit point a bifurcation point is located. Data points of secondary equilibrium paths are not connected by solid lines. For optimisation only the bifurcation point is regarded. The limit point or mode switching does not play a role. The optimisation data is depicted in Fig. 7e. The LBA is evaluated in the state λ, \( \hat {v}=[ \hat {u},\boldsymbol \alpha ,\boldsymbol \beta ]^{T}\), which is obtained by applying a load of F=1kN. Within the Λ-based optimisation, the initial value of the objective 370.93 is increased up to 439.79. The eigenvalue from λ c r -optimised design (438.76) is as expected below this value, but only slightly. Within the λ c r -based optimisation the critical load scale is increased from 339.60 to 413.60. The actual critical load scale of Λ-optimised design (411.34) is again only slightly below this value.

In this example different objective functions yields similar results as can be seen from the material distribution shown in Fig. 7f. Here 𝜃=−17.5 and 𝜃=90 denote the right supported end and the top of the arch, respectively (cf. Fig. 7). Due to symmetry of the structure only one half of the system is described. The load-displacement diagram of Λ- and λ c r -optimised designs are quite similar as well as can be seen in Fig. 7g. The bifurcation point for both structures is above the bifurcation point of the initial structure, due to the fact that the optimisation is based on bifurcation point buckling. The limit point buckling has not been regarded, thus the limit point load is decreased in both cases. To verify derived gradient information from (46) and (55) the gradients of the objective functions are computed by OFD approach with central finite difference approximation. relative errors are given in Table 2 and Fig. 6 for perturbations of design variables from 5×10−1 to 5×10−7m. For this example the perturbation in the order of 10−2 to 10−3 yields best approximation of analytically derived gradients.

Table 2 Comparison of analytical and OFD approach for bifurcation point buckling

9 Conclusion

The structural analysis covering stability effects has been summarised for solid shell finite elements. LBA and NBA is included. Sensitivity information for the eigenvalue of the LBA has been derived for discrete finite element equations of the solid shell formulation. Sensitivity information for critical load scales of NBA are derived for limit and bifurcation points. The optimisation based on LBA and NBA is compared in two numerical examples covering limit point and bifurcation point buckling.

For future work, the influence of imperfections is of major interest and should be included in the optimisation procedure. The approach of Gerzen and Barthold (2013) seems to be promising for this purpose, due to the fact that no iterations are needed to obtain imperfection. The imperfections are computed from quantities that are available within the optimisation procedure. For the numerical examples presented only single critical points needed to be regarded. Thus, no attention was payed to mode switching, which is an important issue for the treatment of arbitrary structures.