1 Introduction

Stiffened panel structures have been a long standing interest of Professor Haftka, whose first journal paper in 1968 investigated the buckling of stiffened shells (Singer and Haftka 1967). Due to their high strength-to-weight ratio, stiffened panels are widely used in aircraft applications. However, they are usually assembled from thin plates and shells, which are prone to buckle and stress fracture/yield under flight loads. The growing use of high-performance composite structures has further motivated the development of optimization for the design of stiffened panels.

Professor Haftka has developed and investigated a range of optimization to design stiffened panels to achieve the minimum weight subject to buckling and stress constraints (Nagendra et al. 1991, 1996). In general, heavily loaded fuselage and wing structures consist of stiffened panels with holes. However, holes in a panel may cause stress concentrations and the failure of the panel. Nagendra et al. (1991) investigated the minimum weight design of a stiffened composite panel with a centrally located hole, by optimizing ply thicknesses in the panel and stiffener laminates and the stiffener height. Constraints are imposed on the buckling load and the maximum strain near the hole. Structural optimization of stiffened panels often involves multiple local optima with comparable performance, making it suitable for the genetic algorithms (GAs) which allow designers to obtain multiple candidate designs. However, the cost of the GA search is generally high, often requiring thousands or more of structural analyses. Nagendra et al. (1996) made several changes in the GA to reduce the computational cost and improve its reliability. Compared with the optimized design by Nagendra et al. (1991) using a continuous optimization procedure, the weights of the optimized designs using GA optimization were decreased by about 8%. However, the use of the detailed finite element models for global optimization remains unaffordable in many cases due to the expensive computational cost of the structural analysis. The considerations of computational cost often dictate the use of simplified models in structural optimization, for example using a simple finite strip model. Following the works (Nagendra et al. 1991, 1996), experimental and analytical studies are conducted to test the validity of the buckling and failure analysis on the optimized stiffened panels, so as to obtain a good understanding of the difference between analytical and experimental results (Nagendra et al. 1994; Park et al. 2001). Approximate analyses were also investigated by Vitali et al. (2002a, b), Venkataraman et al. (2003), and Lamberti et al. (2003), providing reasonably accurate estimates efficiently and allowing the many thousands of structural analyses needed for global optimization to be performed. In the work by Vitali et al. (2002a), a crack propagation constraint was used as an example to demonstrate the feasibility of combining multi-fidelity models to obtain accurate results at a low computational cost. It is known that GAs scale poorly with an increasing number of design variables. When the sizing variables are included, they need to be restricted to a small and diluted set of parameters. Due to the large number of design variables in optimization of composite-stiffened panels, a two-step optimization strategy combining a gradient-based method and GAs was presented by Herencia et al. (2008). In the first step of the two-step optimization scheme, gradient-based optimization optimizes the lamination parameters, while at the second step, GA is used to identify the lay-ups for a super-stiffener’s laminates.

The optimum structural weight of stiffened panels are affected by various parameters, e.g., stiffener geometry, material selection, and manufacturing technology. Vitali et al. (2002b) studied structural optimization of a hat-stiffened laminated composite panel. Venkataraman et al. (2003) performed optimization for both metallic and laminated composite-stiffened shells, and investigated how stiffener type, material choice, and manufacturing constraints influence the weight of optimized designs, as well as the conservativeness of the approximate analyses and design freedom (the number of design variables). The variability in material properties, manufacturing defects, and environmental factors also affect the optimized designs. The life of stiffened panels can be critically influenced by this uncertainty. Kale et al. (2008) performed reliability-based optimization and developed an inspection schedule for fatigue crack growth for the minimum life cycle cost of stiffened panels subject to uncertainty in material properties and loading.

The arrangement and number of stiffeners in most of optimization works on stiffened panel design have been predetermined (Bhatia et al. 2011; Colson et al. 2010; Kapania et al. 2005; Mulani et al. 2013; Tamijani et al. 2014). The focus of optimization has been sizing and shape of stiffeners and panels, commonly employing gradient-free optimization techniques such as GAs and the particle swarm optimization methods. Typical design variables include the panel thickness, stiffener spacing and thickness, height, orientation, and placement of stiffeners, as well as the optimal curvature for curved stiffeners. Optimization of the arrangement and number of stiffeners, however, has received little attention. While topology optimization offers a design method with the highest degree of design freedom, it parameterizes the design space with small continuum material units (i.e., 3D finite elements), and thus, it is challenging to enforce a plate-based stiffened panel configuration in the resulting solution and typically requires an extremely fine mesh (Aage et al. 2017). Topology optimization has been used to optimize the internal topology for each of the stiffeners (Stanford et al. 2014; Townsend and Kim 2019) but with predetermined thickness distribution and stiffener layout.

We have recently demonstrated the feasibility of applying the level-set topology optimization method to simultaneously optimize size, layout, and topology of stiffened panels against buckling (Chu et al. 2021a, b). This employs plate elements to model stiffeners which are parametrized by multiple implicit level-set functions (LSFs), thus, optimizing the shape (straight or curved, and internal topology) and size of each stiffener, simultaneously with the orientation and number of the stiffeners and the panel thickness. Owing to the use of 2D plate elements, the mesh density can be several orders of magnitude less than for an equivalent mesh of 3D continuum elements (Aage et al. 2017). So far, only optimization against linear buckling has been studied.

This paper presents the level-set-based optimization method for both of the critical failure criteria, stress, and buckling, enabling the weight minimization of stiffened panels simultaneously optimizing size, layout, and topology. A stiffened panel is discretized with plate elements. The layout of the stiffeners is optimized, and a free-form mesh deformation approach is improved to adjust the finite element mesh for the changing stiffener layout. The level-set method is utilized to optimize the topologies of the stiffeners, as well as the thicknesses of the skin and stiffeners. Bending, shear, and membrane stresses are evaluated at the bottom, middle, and top surfaces of the elements. The local stress constraints are aggregated into a global constraint using a p-norm function. A gradient-based optimizer is employed to solve the optimization problem. Numerical examples demonstrate the effectiveness of the proposed approach.

The remainder of this paper is organized as follows. In Sect. 2, the geometry and FE models of a stiffened panel are presented. Section 3 describes the mathematical formulation and the optimization methodology. Numerical examples and investigations of the optimum stiffened panels are presented in Sect. 4, followed by the conclusions in Sect. 5.

2 Stiffened panel model

In this section, the geometry and FE models are described. The coordinates of the stiffener ends are used to manipulate stiffener layout, and LSFs are used to represent and optimize the internal topologies of the stiffeners. Sizing variables are also included to optimize the thicknesses of the panel and stiffeners. As the stiffener layout changes, a free-form mesh deformation method is improved to adjust the FE mesh.

2.1 Geometry model

Figure 1 illustrates how the geometry model of the panel with straight stiffeners is constructed and updated. As shown in Fig. 1i and j, the stiffened panel is described in terms of stiffener layout, internal topologies of stiffeners, and thicknesses of the panel and stiffeners, and updated by optimizing them.

Fig. 1
figure 1

Illustration of how to construct and update the geometry model of a sample stiffened panel: a the initial stiffened layout; b the updated stiffened layout; c the initial LSFs and their zero level set for the internal topologies of the stiffeners; d the updated LSFs and their zero level set for the internal topologies of the stiffeners; e the initial layout and internal topologies of the stiffeners; f the updated layout and internal topologies of the stiffeners; g the initial thickness distribution; h the updated thickness distribution; i the initial geometry model; j the updated geometry model

As shown in Fig. 1a and b, the positions, rotations, and spacing of the stiffeners are represented and manipulated by their two ends’ coordinates.

The level-set topology optimization methodology (Wang et al. 2003) is used to optimize the internal topologies of the stiffeners. One LSF is used for the description of the internal topology of each stiffener. The relationship between the LSF values ϕ and the resulting structure is shown in Fig. 1c and e, and d and f. The structural boundary of the n-th stiffener is defined as the zero level set of an implicit function ϕn(x):

$$ \left\{ \begin{gathered} \phi_{n} \left( x \right) \le 0 \quad x \in \Omega_{n} \hfill \\ \phi_{n} \left( x \right) = 0 \quad x \in \Gamma_{n} \hfill \\ \phi_{n} \left( x \right) > 0 \quad x \notin \Omega_{n} \hfill \\ \end{gathered} \right., \, n = 1,2,...,N $$
(1)

where Ω is the domain for the structure, and Γ is the structural boundary. \(x \in \Omega_{d,n}\), where \(\Omega_{d,n}\) is the design domain containing the structure, \(\Omega_{n} \in \Omega_{d,n}\). N LSFs are used for N stiffeners. Conventionally, the signed distance function is used for the LSF.

To determine the optimal internal topology of each stiffener, the structural boundary is optimized by iteratively solving the level-set equation, Eq. (2):

$$ \frac{{\partial \phi_{n} \left( {x,t_{f} } \right)}}{{\partial t_{f} }} + \nabla \phi_{n} \left( x \right) \cdot V\left( x \right) = 0, $$
(2)

where tf is a pseudo-time for the level-set evolution and V is the velocity vector.

As shown in Fig. 1d, the LSF at each point is updated by solving the following discretized Hamilton–Jacobi equation using an up-wind differential scheme:

$$ \phi_{{n,pt}}^{k + 1} = \phi_{{n,pt}}^{k} - \Delta t_{f} \left| {\nabla \phi_{{n,pt}}^{k} } \right|V_{{{normal,pt}}}, $$
(3)

where pt is a discrete point in the design domain, k is the iteration number, Vnormal is the normal velocity, and \(\left| {\nabla \phi_{n,pt}^{k} } \right|\) is computed for each point using the Hamilton–Jacobi Weighted Essentially Non-Oscillatory method (HJ-WENO) (Jiang and Peng 2000). To improve the computational efficiency, the level-set update is restricted to within a narrow band close to the boundary. This results in ϕn,pt being given only within this narrow band. For the re-initialization and velocity extension, the fast-marching method (Sethian 1999) is used.

In this work, the panel and each of the stiffeners are considered to have the same thickness throughout. As shown in Fig. 1g and h, the panel thickness and the thickness of each stiffener are denoted by tp and ts,n (n = 1, 2, …, N) and optimized as well.

2.2 Modified free-form mesh deformation method

In this work, both the skin and stiffeners are modeled explicitly using four node Mindlin–Reissner plate element (Bathe and Dvorkin 1985) with a plane stress assumption. In our previous works (Chu et al. 2021a, b), the free-form mesh deformation method (Sederberg and Parry 1986) has been used to deform the finite element (FE) mesh to account for the updated stiffener layout. As shown in Fig. 2, a control mesh is established. The x and y coordinates of nodes on the control mesh equal to those of the two ends of the stiffeners or the panel vertices. As shown in Fig. 2c and d, the optimal layout of the stiffeners can be obtained by optimizing the coordinates of the nodes on the control mesh. The FE mesh is deformed to cater for the updated stiffener layout:

$$ {\mathbf{x}}_{{{{FE}}}} = {\mathbf{Nx}}_{{{{control}}}}, $$
(4a)
$$ {\mathbf{x}}_{control}^{k + 1} = {\mathbf{x}}_{control}^{k} + {\mathbf{y}}, $$
(4b)
$$ {\mathbf{x}}_{FE}^{k + 1} = {\mathbf{x}}_{FE}^{k} + {\mathbf{z}}, $$
(4c)
$$ {\mathbf{z}} = {\mathbf{Ny}}, $$
(4d)
Fig. 2
figure 2

Illustration of updating the finite element mesh using the free-form mesh deformation method with control mesh: a the initial finite element and control meshes; b the top view of the initial finite element and control meshes; c the updated finite element and control meshes; d the top view of the updated finite element and control meshes

where xFE and xcontrol are nodal coordinates on the FE and control meshes, respectively. z and y represent their changes. N is the shape function.

When we applied the existing free-form mesh deformation method, we found that it can cause inaccuracy in stress computation of a stiffened panel. This is demonstrated in an example in Fig. 3, where a stiffened panel of 0.3 m × 0.3 m is considered. Young’s modulus of the material is E = 73.085 GPa. Poisson’s ratio is υ = 0.33. As shown in Fig. 4, the panel is discretized uniformly with 80 × 80 plate elements and its stress distribution at the middle surface and first four buckling modes are given. σvm,m,max is the maximum von Mises stresses of elements at the middle surface, which occurs at the bottom right corner of the panel. λ1λ4 are the first four buckling load factors. Figure 5 shows that the free-form mesh deformation method decreased σvm,m,max by 5.9%. This is because, the FE mesh is deformed to make the widths of the elements around the bottom right corner of the panel larger. The distances between the central and Gauss points of these elements to the bottom right vertex of the panel increased.

Fig. 3
figure 3

Loading and boundary conditions for the design of a stiffened panel under combined compression and shear

Fig. 4
figure 4

Panel with the undeformed FE mesh, and its stress distribution at middle surface and first four buckling modes under combined compression and shear, σvm,m,max = 426.12 MPa, λ1 = 0.1154, λ2 = 0.1717, λ3 = 0.2828, λ4 = 0.4191

Fig. 5
figure 5

Panel with the FE mesh using the free-form mesh deformation method with control mesh, and its stress distribution at middle surface and first four buckling modes under combined compression and shear, σvm,m,max = 400.91 MPa, λ1 = 0.1154, λ2 = 0.1717, λ3 = 0.2828, λ4 = 0.4191

Due to this discrepancy, the optimizer attempts to decrease the maximum stress primarily by deforming the FE mesh and moving the stiffeners. The maximum stress usually occurs around the stiffeners and panel edges. In order to minimize the effect of the mesh deformation on the stress computation, we modified the mesh deformation method to maintain the size of the FEs in these regions to be unchanged during optimization. Figure 6 shows the modified free-form mesh deformation method. The element boundaries of the control mesh are placed on d FEs (d = 1 in Fig. 6) away from the stiffeners or panel edges. As shown in Fig. 6c and d, the movement of the element boundary of the control mesh is the same as that of the nearest stiffeners or panel edges:

$$ {\mathbf{y}} = {\mathbf{Ay}}_{{{\text{stiffener}}}}, $$
(5)
Fig. 6
figure 6

Illustration of updating the finite element mesh using the modified free-form mesh deformation method with control mesh: a the initial finite element and control meshes; b the top view of the initial finite element and control meshes; c the updated finite element and control meshes; d the top view of the updated finite element and control meshes

where ystiffener represents the changes of the coordinates of the stiffener ends. A is their mapping matrix. ystiffener is the design variables in the stiffener layout optimization, and the deformation of the FE mesh can be achieved through Eqs. (4c), (4d) and (5). Different from Fig. 2, the widths of the FEs within d elements away from the stiffeners or panel edges are not changed as the update of the stiffened layout.

For the panel in Fig. 3, the FE mesh in Fig. 4 is deformed (shown in Fig. 7) using the modified free-form mesh deformation method, with the same movements of “pseudo stiffeners” in Fig. 5. The discrepancy between σvm,m,max with the two FE meshes in Figs. 4 and 7 is 0.36%. Compared with the result using the previous free-form mesh deformation method in Fig. 4, the discrepancy is reduced by 94%. This shows the effectiveness of the modified free-form mesh deformation method for stress computation. It is noted that, for both the original and modified free-form mesh deformation methods, the differences between λ1λ4 are within 0.024%. Using the modified free-form mesh deformation method, different mesh sizes and values of the parameter d (d ≥ 1) have also been tested. It has been found that, for the same mesh size, the maximum difference between σvm,m,max for different values of d is 0.24% and the maximum difference between λ1λ4 is 0.035%. Therefore, for the numerical examples in the following sections, d = 1 is used.

Fig. 7
figure 7

Panel with the FE mesh using the modified free-form mesh deformation method with control mesh, and its stress distribution at middle surface and first four buckling modes under combined compression and shear, σvm,m,max = 424.60 MPa, λ1 = 0.1154, λ2 = 0.1717, λ3 = 0.2828, λ4 = 0.4192

As shown in Fig. 1c and d, based on the undeformed mesh, it is straight forward to calculate the elemental density values wu for each stiffener (Chu et al. 2021a). Due to the one-to-one correspondence between the elements of the undeformed and deformed FE meshes, shown in Figs. 8a and 1b, a direct mapping can be used and the density distribution w for the stiffener is obtained by wj = vj. The density distribution is w = 1 for all the elements on the panel.

Fig. 8
figure 8

Physical density field: a initial; b updated

After updating the nodal coordinates on the FE mesh and obtaining the elemental density and thickness distributions, the stiffness and geometric stiffness matrices for finite element j can be calculated (Townsend and Kim 2019):

$$ K_{j} = w_{j} K_{j}^{s} \left( {E_{s} ,\rho_{s} ,\upsilon ,t_{j} ,{\mathbf{x}}_{{{{FE}}}} } \right) + \left( {1 - w_{j} } \right)K_{j}^{v} \left( {E_{v} ,\rho_{v} ,\upsilon ,t_{j} ,{\mathbf{x}}_{{{{FE}}}} } \right), $$
(6a)
$$K_{g,j} = w_{j} \left( \omega_{j} K_{g,j^{s}} \left( E_{s} ,\rho_{s} ,\upsilon ,t_{j} ,{\mathbf{x}}_{FE} \right) + \left( 1 - w_{j} \right)K_{g,j}^{v} \left( E_{v} ,\rho_{v} ,\upsilon ,t_{j} ,{\mathbf{x}}_{FE} \right) \right), $$
(6b)

where \(K_{j}^{s}\) and \(K_{j}^{v}\) represent the stiffness matrices of finite element j with solid and void phases, respectively. \(K_{g,j}^{s}\) and \(K_{g,j}^{v}\) denote the geometric stiffness matrices of finite element j with solid and void phases, respectively. Es and Ev are the Young’s moduli of finite element j with solid and void phases, respectively. ρs and ρv are the densities of finite element j with solid and void phases, respectively. tj is the thickness of finite element j. υ is Poisson’s ratio.

When the pressure is applied, the forces applied on the FE mesh are redistributed as the stiffener layout is updated. As shown in Fig. 9, the force applied to a point pf is calculated as follows:

$$ P_{pf} = \frac{{P\left( {L^{pf - 1} + L^{pf} } \right)}}{2}, $$
(7)
Fig. 9
figure 9

Illustration of the application of pressure

where P is the pressure value per unit length. Lpf−1 and Lpf are the lengths of the elemental boundaries with the point pf.

To compute the displacement and buckling load factors of the stiffened panel, the linear elasticity and Eigen-buckling equations in Eqs. (8a, 8b) are solved using the HSL MA57 solver (HSL 2002) and ARPACK (Lehoucq et al. 1998), respectively:

$$ {\mathbf{Ku}} = {\mathbf{f}}, $$
(8a)
$$ \left( {{\mathbf{K}} + \lambda {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)} \right){\mathbf{v}} = {\mathbf{0}}, $$
(8b)

where K, u, and f are the structural stiffness matrix, static deflection, and applied load, respectively. Kg is the geometric stiffness matrix. λ and v represent the eigenvalue/eigenvector pair for buckling.

The von Mises stress of the element is calculated by

$$ \sigma_{vm} = \left( {w_{j} {\mathbf{u}}_{j}^{T} {\mathbf{Q}}_{vm,j} {\mathbf{u}}_{j} } \right)^{\frac{1}{2}}, $$
(9)

where

$$ {\mathbf{Q}}_{vm} = \int_{A} {{\mathbf{B}}_{b}^{T} {\mathbf{D}}_{b}^{T} {\mathbf{VD}}_{b} {\mathbf{B}}_{b} {\text{d}}A} + \int_{A} {{\mathbf{B}}_{s}^{T} {\mathbf{C}}_{s}^{T} {\mathbf{VC}}_{s} {\mathbf{B}}_{s} {\text{d}}A} + \int_{A} {{\mathbf{B}}_{m}^{T} {\mathbf{C}}_{m}^{T} {\mathbf{VC}}_{m} {\mathbf{B}}_{b} {\text{d}}A}, $$
(10a)
$$ {\mathbf{D}}_{b} = z{\mathbf{C}}_{b}. $$
(10b)

The notations Cb, Cs, and Cm are the constitutive matrices for the bending, shear, and membrane stresses, respectively. Bb, Bs, and Bm are the relative strain–displacement matrices. A is the area of the element. V is the Voigt matrix. z is the distance from the middle surface, \(- {t \mathord{\left/ {\vphantom {t 2}} \right. \kern-\nulldelimiterspace} 2} \le z \le {t \mathord{\left/ {\vphantom {t 2}} \right. \kern-\nulldelimiterspace} 2}\). The von Mises stresses σvm,b, σvm,m, and σvm,t of the element at the bottom, middle, and top surfaces can be represented as follows:

$$ \sigma_{vm,b} = \sigma_{vm} \left| {_{{z = - {h \mathord{\left/ {\vphantom {h 2}} \right. \kern-\nulldelimiterspace} 2}}} } \right. $$
(11a)
$$ \sigma_{vm,m} = \sigma_{vm} \left| {_{z = 0} } \right. $$
(11b)
$$ \sigma_{vm,t} = \sigma_{vm} \left| {_{{z = {h \mathord{\left/ {\vphantom {h 2}} \right. \kern-\nulldelimiterspace} 2}}} } \right. $$
(11c)

3 Optimization

In this section, the optimization problem is described. To solve this problem with a gradient-based optimizer, a semi-analytical sensitivity analysis is performed. The optimization algorithm is also presented.

3.1 Problem formulation

The minimum weight problem for stiffened panels subject to stress and buckling constraints can be written as follows:

$$ \begin{gathered} \mathop {\min }\limits_{{{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{{\varvec\upphi}}}}} \, m\left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{{\varvec\upphi}}}} \right) \hfill \\ s.t. \, \sigma_{vm,b,j} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{{\varvec\upphi}}}} \right) \le \sigma_{{{\text{upper\_bound}}}} \, j = 1,2, \ldots ,N_{e} \hfill \\ \, \sigma_{vm,m,j} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{{\varvec\upphi}}}} \right) \le \sigma_{{{\text{upper\_bound}}}} \, j = 1,2, \ldots ,N_{e} \hfill \\ \, \sigma_{vm,t,j} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}} \right) \le \sigma_{{{\text{upper\_bound}}}} \, j = 1,2, \ldots ,N_{e} \hfill \\ \, \lambda_{q} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}} \right) \ge \lambda_{{{\text{lower\_bound}}}} \, q = 1,2, \ldots ,N_{\lambda } \hfill \\ \, L_{l} \left( {{\mathbf{y}}_{{{\text{stiffener}}}} } \right) \ge L_{{{\text{lower\_bound}}}} \, l = 1,2, \ldots ,N_{L} \hfill \\ \end{gathered}, $$
(12)

where t = [tp, ts,1, …, ts,N]T, ystiffener and ϕ = [ϕ1, …, ϕN]T are the sizing, layout, and topology design variables, respectively. σupper_bound is the upper bound of the von Mises stress. Ne is the number of the finite elements. The first Nλ buckling modes are considered and λlower_bound is the lower bound of the critical buckling load factor. Since the modified free-form mesh deformation method is utilized to adaptively adjust the FE mesh, overlap and intersection between the adjacent stiffeners are prevented by setting the spacing constraints. L denotes stiffener spacing, and Llower_bound is its lower bound. NL is the total number of spacing constraints. The spacing constraints have an effect of controlling the widths of the finite elements, which naturally avoids an excessive element distortion.

The stiffener spacing L is defined as the difference between the end coordinates of the two adjacent stiffeners:

$$ L_{l} = x_{{{{control}}}}^{l + 1} - x_{{{{control}}}}^{l}. $$
(13)

The mass m is defined by the mass matrix:because, when the pressure is applied, the forces

$$ m = {\mathbf{g}}^{T} {\mathbf{Mg}}, $$
(14)

where the vector g contains ones for deflection degrees of freedom along the gravity direction and zeros elsewhere.

In Eq. (12), von Mises stresses σvm,b, σvm,m, and σvm,t of each element at the bottom, middle, and top surfaces are considered. In this work, the p-norm function is used as a stress aggregation to approximate the maximum stress:

$$ \sigma_{pn} = \left( {\sum\limits_{j = 1}^{{N_{e} }} {\left( {\sigma_{vm,b,j}^{p} + \sigma_{vm,m,j}^{p} + \sigma_{vm,t,j}^{p} } \right)} } \right)^{{{1 \mathord{\left/ {\vphantom {1 p}} \right. \kern-\nulldelimiterspace} p}}}, $$
(15)

where p is a p-norm parameter. Since the p-norm is always greater than the maximum with finite p, the adaptive scaling constraint (Le et al. 2010) is employed to enforce a constraint on the actual maximum stress:

$$ \alpha \sigma_{pn} \le \sigma_{{{\text{upper\_bound}}}}. $$
(16)

where α is computed at the k-th iteration:

$$ \alpha^{k} = \frac{{\max \left( {\sigma_{vm,b,j}^{k - 1} ,\sigma_{vm,m,j}^{k - 1} ,\sigma_{vm,t,j}^{k - 1} } \right)}}{{\sigma_{pn}^{k - 1} }}. $$
(17)

Therefore, the optimization problem in Eq. (12) becomes

$$ \begin{gathered} \mathop {\min }\limits_{{{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}}} \, m\left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}} \right) \hfill \\ s.t. \, \alpha \sigma_{pn} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}} \right) \le \sigma_{{{\text{upper\_bound}}}} \hfill \\ \, \lambda_{q} \left( {{\mathbf{t}},{\mathbf{y}}_{{{\text{stiffener}}}} ,{{\varvec{\upphi}}}} \right) \ge \lambda_{{{\text{lower\_bound}}}} \, q = 1,2, \ldots ,N_{\lambda } \hfill \\ \, L_{l} \left( {{\mathbf{y}}_{{{\text{stiffener}}}} } \right) \ge L_{{{\text{lower\_bound}}}} \, l = 1,2, \ldots ,N_{L} \hfill \\ \end{gathered}. $$
(18)

3.2 Sensitivity analysis

In this work, a gradient-based optimizer, IPOPT (Wächter and Biegler 2006), is used to solve the optimization problem described in Eq. (18). Therefore, the sensitivities of the mass m, the p-norm function of the von Mises stress σpn, the buckling load factor λq, and the stiffener spacing Ll are required.

3.2.1 Sensitivity analysis for layout optimization

The derivative of m with respect to yi can be calculated by

$$ \frac{\partial m}{{\partial y_{i} }} = {\mathbf{g}}^{T} \frac{{\partial {\mathbf{M}}}}{{\partial y_{i} }}{\mathbf{g}}. $$
(19)

To calculate the sensitivity of σpn, the augmented Lagrangian functional for σpn is given by

$$ \Psi = \sigma_{pn} + {\mathbf{u}}_{ad,s}^{T} \left( {{\mathbf{Ku}} - {\mathbf{f}}} \right), $$
(20)

where uad,s is the adjoint vector.

Differentiating Eq. (20):

$$ \begin{gathered} \frac{\partial \Psi }{{\partial y_{i} }} = \frac{1}{p}\sigma_{pn}^{1 - p} \left( {\sum\limits_{j = 1}^{{N_{e} }} {\left( {\frac{p}{2}\sigma_{vm,b,j}^{p - 2} \left( {2w_{j} \frac{{\partial {\mathbf{u}}_{j}^{T} }}{{\partial y_{i} }}{\mathbf{Q}}_{vm,b,j} {\mathbf{u}}_{j} + w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,b,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} } \right)} \right.} } \right. \hfill \\ \, + \frac{p}{2}\sigma_{vm,m,j}^{p - 2} \left( {2w_{j} \frac{{\partial {\mathbf{u}}_{j}^{T} }}{{\partial y_{i} }}{\mathbf{Q}}_{vm,m,j} {\mathbf{u}}_{j} + w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,m,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} } \right) \hfill \\ \left. {\left. { \, + \frac{p}{2}\sigma_{vm,t,j}^{p - 2} \left( {2w_{j} \frac{{\partial {\mathbf{u}}_{j}^{T} }}{{\partial y_{i} }}{\mathbf{Q}}_{vm,t,j} {\mathbf{u}}_{j} + w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,t,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} } \right)} \right)} \right) \hfill \\ \, + \frac{{\partial {\mathbf{u}}_{ad,s}^{T} }}{{\partial y_{i} }}\left( {{\mathbf{Ku}} - {\mathbf{f}}} \right) + {\mathbf{u}}_{ad,s}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }}{\mathbf{u}} + {\mathbf{K}}\frac{{\partial {\mathbf{u}}}}{{\partial y_{i} }} - \frac{{d{\mathbf{f}}}}{{dy_{i} }}} \right) \hfill \\ \end{gathered}. $$
(21)

By collecting the terms with ∂u/∂y in Eq. (21) and setting them to zero, the derivative of the augmented Lagrangian functional for σpn with respect to yi can be calculated by

$$ \begin{gathered} \frac{\partial \Psi }{{\partial y_{i} }} = \frac{1}{p}\sigma_{pn}^{1 - p} \left( {\sum\limits_{j = 1}^{{N_{e} }} {\left( {\frac{p}{2}\sigma_{vm,b,j}^{p - 2} (w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,b,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} ) + \frac{p}{2}\sigma_{vm,m,j}^{p - 2} (w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,m,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} )} \right.} } \right. \hfill \\ \left. {\left. { \, + \frac{p}{2}\sigma_{vm,t,j}^{p - 2} (w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,t,j} }}{{\partial y_{i} }}{\mathbf{u}}_{j} )} \right)} \right) + {\mathbf{u}}_{ad,s}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }}{\mathbf{u}} - \frac{{d{\mathbf{f}}}}{{dy_{i} }}} \right) \hfill \\ \end{gathered}, $$
(22)

where

$$ \begin{gathered} \frac{1}{p}\sigma_{pn}^{1 - p} \left( {\sum\limits_{j = 1}^{{N_{e} }} {\left( {\frac{p}{2}\sigma_{vm,b,j}^{p - 2} (2w_{j} {\mathbf{Q}}_{vm,b,j} {\mathbf{u}}_{j} ) + \frac{p}{2}\sigma_{vm,m,j}^{p - 2} (2w_{j} {\mathbf{Q}}_{vm,m,j} {\mathbf{u}}_{j} )} \right.} } \right. \hfill \\ \left. {\left. {\;\;\; + \frac{p}{2}\sigma_{vm,t,j}^{p - 2} (2w_{j} {\mathbf{Q}}_{vm,t,j} {\mathbf{u}}_{j} )} \right)} \right) + {\mathbf{Ku}}_{ad,s} = 0 \hfill \\ \end{gathered} $$
(23)

The derivative ∂σpn/∂yi is equivalent to ∂Ψ/∂yi in Eq. (22) due to the adjoint method.

To calculate the sensitivity of λq, Eqs. (8b) and (8a) are pre-multiplied by the eigenvector vq and the adjoint vector uad,b:

$$ {\mathbf{v}}_{q}^{T} \left( {{\mathbf{K}} + \lambda_{q} {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)} \right){\mathbf{v}}_{q} = 0, $$
(24a)
$$ {\mathbf{u}}_{ad,b}^{T} \left( {{\mathbf{Ku}} - {\mathbf{f}}} \right) = 0. $$
(24b)

Substituting Eq. (24b) into Eq. (24a) and differentiating yield:

$$ \begin{gathered} 2{\mathbf{v}}_{q}^{T} \left( {{\mathbf{K}} + \lambda_{q} {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)} \right)\frac{{\partial {\mathbf{v}}_{q} }}{{\partial y_{i} }} \hfill \\ \;\;\;\;\; + {\mathbf{v}}_{q}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }} + \frac{{\partial \lambda_{q} }}{{\partial y_{i} }}{\mathbf{K}}_{g} \left( {\mathbf{u}} \right) + \lambda_{q} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{{\partial y_{i} }} + \lambda_{q} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{\partial u}\frac{\partial u}{{\partial y_{i} }}} \right){\mathbf{v}}_{q} \hfill \\ \;\;\;\;\; - \frac{{\partial {\mathbf{u}}_{ad,b}^{T} }}{{\partial y_{i} }}\left( {{\mathbf{Ku}} - {\mathbf{f}}} \right) - {\mathbf{u}}_{ad,b}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }}{\mathbf{u}} + {\mathbf{K}}\frac{{\partial {\mathbf{u}}}}{{\partial y_{i} }} - \frac{{d{\mathbf{f}}}}{{dy_{i} }}} \right) = 0 \hfill \\ \end{gathered}. $$
(25)

By collecting the terms with ∂u/∂y in Eq. (25) and setting them to zero,

$$ \frac{{\partial \lambda_{q} }}{{\partial y_{i} }} = \frac{{{\mathbf{u}}_{ad,b}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }}{\mathbf{u}} - \frac{{\partial {\mathbf{f}}}}{{\partial y_{i} }}} \right) - {\mathbf{v}}_{q}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial y_{i} }} + \lambda_{q} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{{\partial y_{i} }}} \right){\mathbf{v}}_{q} }}{{{\mathbf{v}}_{q}^{T} {\mathbf{K}}_{g} \left( {\mathbf{u}} \right){\mathbf{v}}_{q} }}, $$
(26)

where

$$ \lambda_{q} {\mathbf{v}}_{q}^{T} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{\partial u}{\mathbf{v}}_{q} - {\mathbf{u}}_{ad,b}^{T} {\mathbf{K}} = 0. $$
(27)

It is noted that df/dyi ≠ 0 in Eqs. (22) and (26). This is because, when the pressure is applied, the forces applied on points of the FE mesh are changed based on Eq. (7) as y is updated. For simplicity, ∂M/∂yi, df/dyi, ∂K/∂yi, and ∂Kg/∂yi are calculated via the finite difference method as is the derivative dLl/dyi for the spacing constraint.

3.2.2 Sensitivity analysis for topology optimization

To update the LSFs representing the stiffener internal topologies, derivatives with respect to the level-set value of the boundary points ϕn,b are computed by

$$ \frac{\partial g}{{\partial \phi_{n,b} }} = \sum\limits_{j} {\frac{\partial g}{{\partial w_{j} }}\frac{{\partial w_{j} }}{{\partial v_{j} }}\frac{{\partial v_{j} }}{{\partial \phi_{n,b} }}}, $$
(28)

where ∂wj/∂vj = 1 because wj = vj. The function g represents an equation, i.e., m, σpn, λq and Ll. dLl/dwj = 0.

The derivative of m with respect to wj is calculated by

$$ \frac{\partial m}{{\partial w_{j} }} = {\mathbf{g}}^{T} \frac{{\partial {\mathbf{M}}}}{{\partial w_{j} }}{\mathbf{g}}. $$
(29)

In a similar way to the computation of ∂σpn/∂yi, the derivative of σpn with respect to wj is obtained by

$$ \begin{gathered} \frac{{\partial \sigma_{pn} }}{{\partial w_{j} }} = \frac{1}{p}\sigma_{pn}^{1 - p} \left( {\left( {\frac{p}{2}\sigma_{vm,b,j}^{p - 2} ({\mathbf{u}}_{j}^{T} {\mathbf{Q}}_{vm,b,j} {\mathbf{u}}_{j} ) + \frac{p}{2}\sigma_{vm,m,j}^{p - 2} ({\mathbf{u}}_{j}^{T} {\mathbf{Q}}_{vm,m,j} {\mathbf{u}}_{j} )} \right.} \right. \hfill \\ \left. {\left. { \, \;\;\;\;\;\; + \frac{p}{2}\sigma_{vm,t,j}^{p - 2} ({\mathbf{u}}_{j}^{T} {\mathbf{Q}}_{vm,t,j} {\mathbf{u}}_{j} )} \right)} \right) + {\mathbf{u}}_{ad,s}^{T} \frac{{\partial {\mathbf{K}}}}{{\partial w_{j} }}{\mathbf{u}} \hfill \\ \end{gathered}. $$
(30)

In a similar way to the computation of ∂λq/∂yi, the derivative of λq with wj is obtained by

$$ \frac{{\partial \lambda_{q} }}{{\partial w_{j} }} = \frac{{{\mathbf{u}}_{ad,b}^{T} \frac{{\partial {\mathbf{K}}}}{{\partial w_{j} }}{\mathbf{u}} - {\mathbf{v}}_{q}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial w_{j} }} + \lambda_{q} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{{\partial w_{j} }}} \right){\mathbf{v}}_{q} }}{{{\mathbf{v}}_{q}^{T} {\mathbf{K}}_{g} \left( {\mathbf{u}} \right){\mathbf{v}}_{q} }}. $$
(31)

In this work, the LSFs are always maintained as signed distance functions by a combination of the marching squares and fast-marching algorithms (Osher et al. 2004). In order to ensure the signed distance property \(\left| {\nabla \phi } \right|{ = 1}\) after every update of the LSF, the fast velocity extension algorithm (Adalsteinsson and Sethian 1999) is utilized. With Eq. (2), the relationship between the changes to the LSF values ∆ϕn,b at the boundary and ∆ϕn in the rest of the design domain is determined as follows:

$$ \Delta \phi_{n} = \left[ {\frac{{\partial \phi_{n} }}{{\partial \phi_{n,b} }}} \right]\Delta \phi_{n,b} {, }n = 1,2,...,\;N. $$
(32)

Then the term ∂vj/∂ϕn,b can be computed via the implicit perturbation of the level-set boundary (Chu et al. 2021a). Specifically, a small perturbation ∆ϕn,b is assigned to the level-set value ϕn,b of the given boundary point of interest. Then the changes in the LSF ∆ϕn in the rest of the design domain can be obtained by Eq. (32). After implementing the marching squares and fast-marching algorithms, the new LSF and corresponding zero level set are obtained. This results in the new volume fraction vj. Then the term ∂vj/∂ϕn,b can be approximated by the finite difference method.

3.2.3 Sensitivity analysis for sizing optimization

To implement the sizing optimization and update the thickness distribution of the stiffened panel, derivatives with respect to t are computed through the chain rule:

$$ \frac{\partial g}{{\partial t_{p} }} = \sum\limits_{j} {\frac{\partial g}{{\partial t_{j} }}\frac{{\partial t_{j} }}{{\partial t_{p} }}}, $$
(33a)
$$ \frac{\partial g}{{\partial t_{s,n} }} = \sum\limits_{j} {\frac{\partial g}{{\partial t_{j} }}\frac{{\partial t_{j} }}{{\partial t_{s,n} }},} \, n = 1,2,...,\;N, $$
(33b)

where

$$ \frac{{\partial t_{j} }}{{\partial t_{p} }} = \left\{ \begin{gathered} 1{\text{ when the }}j{\text{ - th element belongs to the panel}} \hfill \\ {\text{0 when the }}j{\text{ - th element does not belong to the panel}} \hfill \\ \end{gathered} \right. $$
(34a)
$$ \frac{{\partial t_{j} }}{{\partial t_{s,n} }} = \left\{ \begin{gathered} 1{\text{ when the }}j{\text{{-}th element belongs to the }}n{\text{ - th stiffener}} \hfill \\ {\text{0 when the }}j{\text{{-}th element does not belong to the }}n{\text{{-}th stiffener}} \hfill \\ \end{gathered} \right., \quad n = 1,2,...,\;N $$
(34b)

Similarly,

$$ \frac{\partial m}{{\partial t_{j} }} = {\mathbf{g}}^{T} \frac{{\partial {\mathbf{M}}}}{{\partial t_{j} }}{\mathbf{g}} $$
(35a)
$$ \begin{gathered} \frac{{\partial \sigma_{pn} }}{{\partial t_{j} }} = \frac{1}{p}\sigma_{pn}^{1 - p} \left( {\left( {\frac{p}{2}\sigma_{vm,b,j}^{p - 2} \left( {w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,b,j} }}{{\partial t_{j} }}{\mathbf{u}}_{j} } \right) + \frac{p}{2}\sigma_{vm,m,j}^{p - 2} \left( {w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,m,j} }}{{\partial t_{j} }}{\mathbf{u}}_{j} } \right)} \right.} \right. \hfill \\ \left. {\left. { \, \;\;\;\;\; + \frac{p}{2}\sigma_{vm,t,j}^{p - 2} \left( {w_{j} {\mathbf{u}}_{j}^{T} \frac{{\partial {\mathbf{Q}}_{vm,t,j} }}{{\partial t_{j} }}{\mathbf{u}}_{j} } \right)} \right)} \right) + {\mathbf{u}}_{ad,s}^{T} \frac{{\partial {\mathbf{K}}}}{{\partial w_{j} }}{\mathbf{u}} \hfill \\ \end{gathered} $$
(35b)
$$ \frac{{\partial \lambda_{q} }}{{\partial t_{j} }} = \frac{{{\mathbf{u}}_{ad,b}^{T} \frac{{\partial {\mathbf{K}}}}{{\partial t_{j} }}{\mathbf{u}} - {\mathbf{v}}_{q}^{T} \left( {\frac{{\partial {\mathbf{K}}}}{{\partial t_{j} }} + \lambda_{q} \frac{{\partial {\mathbf{K}}_{g} \left( {\mathbf{u}} \right)}}{{\partial t_{j} }}} \right){\mathbf{v}}_{q} }}{{{\mathbf{v}}_{q}^{T} {\mathbf{K}}_{g} \left( {\mathbf{u}} \right){\mathbf{v}}_{q} }} $$
(35c)
$$ \frac{{\partial L_{l} }}{{\partial t_{j} }} = 0 $$
(35d)

3.3 Optimization algorithm

Linearization of the optimization problem in Eq. (18) using Taylor’s expansion yields:

$$ \begin{gathered} \mathop {\min }\limits_{{\Delta {\mathbf{t}},\Delta {\mathbf{y}}_{{{\text{stiffener}}}} ,\Delta {{\varvec{\upphi}}}_{b} }} \, \left( {m_{0} + \left[ {\frac{\partial m}{{\partial t}}} \right]^{T} \Delta {\mathbf{t}} + \left[ {\frac{\partial m}{{\partial y_{{{\text{stiffener}}}} }}} \right]^{T} \Delta {\mathbf{y}}_{{{\text{stiffener}}}} + \left[ {\frac{\partial m}{{\partial \phi_{b} }}} \right]^{T} \Delta {{\varvec{\upphi}}}_{b} } \right) \hfill \\ {\text{s.t.}}\alpha \left( {\sigma_{pn,0} + \left[ {\frac{{\partial \sigma_{pn} }}{\partial t}} \right]^{T} \Delta {\mathbf{t}} + \left[ {\frac{{\partial \sigma_{pn} }}{{\partial y_{{{\text{stiffener}}}} }}} \right]^{T} \Delta {\mathbf{y}}_{{{\text{stiffener}}}} + \left[ {\frac{{\partial \sigma_{pn} }}{{\partial \phi_{b} }}} \right]^{T} \Delta {{\varvec{\upphi}}}_{b} } \right) \ge \sigma_{{{\text{upper\_bound}}}} \hfill \\ \, \lambda_{q,0} + \left[ {\frac{{\partial \lambda_{q} }}{\partial t}} \right]^{T} \Delta {\mathbf{t}} + \left[ {\frac{{\partial \lambda_{q} }}{{\partial y_{{{\text{stiffener}}}} }}} \right]^{T} \Delta {\mathbf{y}}_{{{\text{stiffener}}}} + \left[ {\frac{{\partial \lambda_{q} }}{{\partial \phi_{b} }}} \right]^{T} \Delta {{\varvec{\upphi}}}_{b} \ge \lambda_{{{\text{lower\_bound}}}} , \, q = 1,2, \ldots ,N_{\lambda } \hfill \\ \, L_{l,0} + \left[ {\frac{{dL_{l} }}{{dy_{{{\text{stiffener}}}} }}} \right]^{T} \Delta {\mathbf{y}}_{{{\text{stiffener}}}} \ge L_{{{\text{lower\_bound}}}} , \, l = 1,2,...,N_{L} \hfill \\ \, - \gamma_{1} \le \Delta {\mathbf{t}} \le \gamma_{1} \hfill \\ \, - \gamma_{2} \le \Delta {\mathbf{y}}_{{{\text{stiffener}}}} \le \gamma_{2} \hfill \\ \, - \gamma_{3} \le \Delta {{\varvec{\upphi}}}_{b} \le \gamma_{3} \hfill \\ \end{gathered}, $$
(36)

where m0, σpn,0, λq,0, and Ll,0 are the values at the current iteration. γ1, γ2, and γ3 are the move limits for ∆t, ∆ystiffener, and ∆ϕb, respectively. IPOPT (Wächter and Biegler 2006) is used to solve the optimization problem in Eq. (36) at each iteration to obtain ∆t, ∆ystiffener, and ∆ϕb to update the stiffened panels.

The optimization methodology is illustrated in Fig. 10. t, ystiffener, and ϕ are optimized simultaneously.

Fig. 10
figure 10

Flowchart of the level-set-based stiffened panel optimization method

4 Numerical examples

Two numerical examples are presented to demonstrate and validate the optimization method. In these examples, the aluminum alloy, Al 2139, is used. Young’s moduli of the solid material and void phases are Es = 73.085 GPa and Ev = 10–6 × 73.085 GPa, respectively. The densities are ρs = 2700 kg/m3 and ρv = 0 for the solid material and void phase, respectively. Poisson’s ratio is υ = 0.33.

4.1 Stiffened panel under compression and shear

A stiffened panel of 0.3 m × 0.3 m with the loading and boundary conditions shown in  Fig. 3 is considered for optimization. The lower and upper bounds of thicknesses of both the panel and the stiffeners are 0.001 m and 0.003 m, respectively. The upper bound of the von Mises stress σupper_bound = 427.5 MPa (Mulani et al. 2013). The lower bound of the critical buckling load factor is λlower_bound = 1.

The initial design with seven vertical stiffeners, each with a height of 0.03 m, is given in Fig. 11. The initial thicknesses are set to 0.002 m for both the panel and the stiffeners. The panel is discretized with 80 × 80 plate elements, with 8 elements along the height of the stiffeners. Seven level-set functions are used to represent the seven stiffeners. σvm,b,max, σvm,m,max, and σvm,t,max are the maximum von Mises stresses of elements at the bottom, middle, and top surfaces, respectively. p = 12 is used for Eq. (15). Based on our previous work (Chu et al. 2021b), the first 10 buckling modes are considered as constraints.

Fig. 11
figure 11

Initial design with seven vertical stiffeners, m = 0.826 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 375.5 MPa, σvm,m,max = 387.1 MPa, σvm,t,max = 401.9 MPa, λ1 = 3.822, λ2 = 4.767, λ3 = 5.395, λ4 = 5.700

From the initial design and its buckling modes in Fig. 11, it can be seen that in-plane buckling occurs towards the bottom-right-hand corner of the panel. The optimized design is given in Fig. 12, with the convergence curves in Fig. 13. In Fig. 12, it can be seen that the number of stiffeners is optimized to three diagonal stiffeners with two short stiffeners. The layout optimization places the stiffeners to the right-hand side of structure to increase the stiffness in these regions. Meanwhile, with the topology and sizing optimization, the internal topology, height, and width of the remaining stiffeners are optimized as well as the thicknesses. As a result, the buckling modes are less localized than those of the initial design while the mass of the optimized design is decreased by 38.6%. Both the stress and buckling constraints are satisfied.

Fig. 12
figure 12

Optimized design (σupper_bound = 427.5 MPa and λlower_bound = 1), m = 0.507 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 398.9 MPa, σvm,m,max = 411.2 MPa, σvm,t,max = 427.3 MPa, λ1 = 1.001, λ2 = 1.013, λ3 = 1.038, λ4 = 1.119

Fig. 13
figure 13

Convergence curves: a mass; b p-norm stress function and maximum stresses at the bottom, middle, and top surfaces; c buckling load factors

To investigate the effect of the stress constraint on the optimized design, the optimization problem is solved again with different upper bounds and without a stress constraint. The buckling constraints are still set with λlower_bound = 1. The optimized designs are given in Figs. 14, 15, and 16. The comparison is given in Table 1. For all the optimized designs, the stress and buckling constraints are satisfied. The stress is concentrated at the right-bottom corner of the panel. As σupper_bound increases, the thickness and the stiffness of the panel are decreased. Correspondingly, more stiffeners are needed to resist the buckling and ensure that the buckling constraint is satisfied.

Fig. 14
figure 14

Optimized design (σupper_bound = 356 MPa and λlower_bound = 1), m = 0.594 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 330.7 MPa, σvm,m,max = 341.6 MPa, σvm,t,max = 356.0 MPa, λ1 = 1.007, λ2 = 1.152, λ3 = 1.304, and λ4 = 1.399

Fig. 15
figure 15

Optimized design (σupper_bound = 513 MPa and λlower_bound = 1), m = 0.443 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 481.4 MPa, σvm,m,max = 495.3 MPa, σvm,t,max = 512.9 MPa, λ1 = 1.004, λ2 = 1.007, λ3 = 1.013, and λ4 = 1.052

Fig. 16
figure 16

Optimized design (without stress constraint and λlower_bound = 1), m = 0.341 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 696.1 MPa, σvm,m,max = 722.1 MPa, σvm,t,max = 757.5 MPa, λ1 = 1.001, λ2 = 1.006, λ3 = 1.018, and λ4 = 1.024

Table 1 Comparison of the optimized results with different stress constraints and without a stress constraint

To investigate the effect of buckling constraints on the optimized design, the problem is also solved with buckling constraints with different lower bounds. The stress constraint is set with σupper_bound = 427.5 MPa. The optimized designs are given in Figs. 17 and 18. The comparison is given in Table 2. For the optimized designs with λlower_bound = 1, 2, and 3 in Figs. 12, 17, and 18, their panel thicknesses are 1.886 × 10–3 m, 1.874 × 10–3 m, and 1.865 × 10–3 m, respectively. The difference is within 1.1%. As λlower_bound increases, more stiffeners remain in the optimized design. This shows that, the impact of the buckling constraints on the stiffeners are greater than that on the panel.

Fig. 17
figure 17

Optimized design (σupper_bound = 427.5 MPa and λlower_bound = 2), m = 0.528 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 395.7 MPa, σvm,m,max = 409.3 MPa, σvm,t,max = 427.4 MPa, λ1 = 2.006, λ2 = 2.017, λ3 = 2.029, λ4 = 2.035

Fig. 18
figure 18

Optimized design (σupper_bound = 427.5 MPa and λlower_bound = 3), m = 0.552 kg, and its stress distributions and first four buckling modes under combined compression and shear, σvm,b,max = 398.3 MPa, σvm,m,max = 411.0 MPa, σvm,t,max = 427.4 MPa, λ1 = 3.018, λ2 = 3.032, λ3 = 3.046, λ4 = 3.056

Table 2 Comparison of the optimized results with different buckling constraints

Further optimization problems including (a) sizing optimization only, (b) sizing and layout optimization, (c) topology optimization only, (d) sizing and topology optimization, and (e) layout and topology optimization, are also solved for the design of the stiffened panel. In each case the stress and buckling constraints are set with σupper_bound = 427.5 MPa and λlower_bound = 1, respectively. Figure 19 shows the optimized designs. All of their stress and buckling constraints are satisfied. From Table 3, however, it can be seen that their masses are all greater than that in Fig. 12.

Fig. 19
figure 19

Optimized design using different kinds of optimization with σupper_bound = 427.5 MPa and λlower_bound = 1: a sizing optimization; b sizing and layout optimization; c topology optimization; d sizing and topology optimization; e layout and topology optimization

Table 3 Comparison of the optimized results using different kinds of optimization with σupper_bound = 427.5 MPa and λlower_bound = 1

4.2 Stiffened panel under compression, shear and bending

The stiffened panel with the loading and boundary conditions shown in Fig. 20 is considered for optimization. The size of the panel is 0.3 m × 0.3 m. The lower and upper bounds of thicknesses of both the skin and the stiffeners are 0.001 m and 0.003 m, respectively. The upper bound of the von Mises stress σupper_bound = 427.5 MPa. The lower bound of the critical buckling load factor is λlower_bound = 1.

Fig. 20
figure 20

Loading and boundary conditions for the design of a stiffened panel under combined compression, shear, and bending

The same initial design in Fig. 11 is used. Its stress distributions and buckling modes are shown in Fig. 21. The first 10 buckling modes are considered in the optimization.

Fig. 21
figure 21

Initial design with seven vertical stiffeners, m = 0.826 kg, and its stress distributions and first four buckling modes under combined compression, shear and bending, σb,max = 268.7 MPa, σm,max = 182.6 MPa, σt,max = 323.4 MPa, λ1 = 1.485, λ2 = 3.449, λ3 = 3.866, and λ4 = 4.618

To investigate the effect of p in the p-norm stress function in Eq. (15) on the optimized design, the problem is solved with a range of p values. The optimized designs are given in Figs. 22, 23, 24, 25, 26, 27. The comparison is given in Table 4.

Fig. 22
figure 22

Optimized design with p = 6, m = 0.458 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Fig. 23
figure 23

Optimized design with p = 8, m = 0.454 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Fig. 24
figure 24

Optimized design with p = 10, m = 0.453 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Fig. 25
figure 25

Optimized design with p = 12, m = 0.448 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Fig. 26
figure 26

Optimized design with p = 18, m = 0.443 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Fig. 27
figure 27

Optimized design with p = 24, m = 0.444 kg, and its stress distributions and first four buckling modes under combined compression, shear, and bending

Table 4 Comparison of the optimized results with different p in the p-norm stress function

For this example, it can be seen from Figs. 21, 22, 23, 24, 25, 26, and 27 that the stress concentrations occur around the ends of the stiffeners. Compared with the previous loading condition in Fig. 3, the stress distribution and locations of the stress concentrations are more dependent on the configuration of the stiffeners. The optimized designs in Figs. 22, 23, 24, 25, 26, and 27 all satisfy the stress and buckling constraints. However, when p increases from 6 to 10, there are obvious changes in the internal topologies of the stiffeners. The 4th and 6th stiffeners get wider and higher. When p is 12 or greater, the thickness distributions, layouts, and internal topologies of the stiffeners are almost the same. From Table 4, it can be observed that, when p increases from 6 to 18, the masses of the optimized designs are gradually decreased. When p increases from 18 to 24, the masses of the optimized designs remain roughly the same. Their difference is only 0.11%. This shows that, when p is low, the optimization may converge to a local optimum. Nevertheless, the difference between the masses of the optimized designs in Figs. 22, 23, 24, 25, 26, and 27 are within 3.3%. The optimized results are reasonably insensitive to the selection of the value of p. Therefore, when the value of p is selected in the range from 6 to 24, acceptable optimized designs can be obtained.

5 Conclusions

Inspired by Professor Haftka’s pioneering research in design of stiffened panels, this paper presents a computational scheme for stiffened panel design simultaneously optimizing size, layout, and topology under stress and buckling constraints. An effective level-set-based topology optimization formulation is presented. The geometry and FE model updating procedure is described in detail and, a semi-analytical sensitivity analysis is presented. The optimization algorithm is also outlined. The numerical investigations show that the presented method is able to effectively solve stiffened panel design problems. The stiffener layout is optimized, the stiffener number is reduced, and the materials in the panel and remaining stiffeners are redistributed to produce the minimum weight designs while satisfying the stress and buckling constraints. The influences of the stress constraint, buckling constraints, and p in p-norm stress function on the optimized solutions are demonstrated. The presented method offers a practical design tool to design and optimize a stiffened panel configuration with the greatest design freedom.