# A level set topology optimization method for the buckling of shell structures

- 599 Downloads

## Abstract

Shell structures are some of the most widely used in engineering applications. Flat plates, stiffened panels, and wing ribs are each examples of components for which the design features may be dictated by the critical buckling load. Despite this practical significance, there exists only a handful of studies in the literature documenting applications of topology optimization which consider buckling performance. This is due to several issues innate to this domain, including mode switching, spurious behavior in void regions, and the presence of repeated eigenvalues. Herein, we propose a level set method capable of effectively optimizing structures despite these challenges in the context of linear buckling. We demonstrate the usefulness of such in the design of several common shell structures and explore the trade-off between stiffness and buckling load performance.

## Keywords

Topology optimization Level set method Linear buckling## Nomenclature

*β*=Heaviside function shift parameter

*C*=Compliance

*c*_{p}=Regularization parameter

*c*_{b}=Buckling Pareto factor

- Δ =
Width of Heaviside transition zone

*δ*(.) =Delta function

*E*_{i}=Young’s modulus of domain

*i***f**=Force vector

*γ*=Boundary point move limit

*H*(.) =Heaviside function

*h*_{i}=Thickness of domain

*i**J*=Objective

**K**=Stiffness matrix

*K*_{s}**(****u****)**=Stress stiffness matrix

**M**=Mass matrix

*λ*=Buckling eigenvalue

*λ*_{aux}=Auxiliary variable

*m*=Mass

*n*_{g}=Acceleration due to gravity

*ν*_{i}=Poisson’s ratio of domain

*i**P*=Perimeter

*ϕ*=Level set function

=**ϕ**Vector of

*ϕ*values at level set grid points=**ψ**Vector of

*ϕ*values at finite element nodes- Δ
=**ϕ** Change in

*ϕ*values at level set grid points- Δ
**ϕ**_{b}= Change in

*ϕ*values at the boundary points**p**_{j}=Vector to integrate element

*j*nodal values*ρ*_{i}=Mass density of domain

*i***T**=Linear map between

and**ϕ****ψ****u**=Displacement vector

*u*_{a}=Ddjoint vector

**v**=Buckling eigenvector

*w*_{j}=Volume fraction of finite element

*j***w**_{j}=Vector to integrate element

*j*nodal values**z**=Vector used to identify deflection along

*z*-axis

## 1 Introduction

There is recent and renewed interest in topology optimization methods that include consideration of buckling behavior. This results from the combination of two factors: (1) Topology optimization is beginning to find application in more complicated structures such as aircraft components (Aage et al. 2017; Townsend et al. 2018) which are often buckling-driven, and (2) There is a documented tendency for structural optimization methods considering only weight and stiffness to produce designs with poor stability (Rozvany 1996; Rahmatalla and Swan 2003).

Numerous efforts have centered on buckling-driven optimization of frame and truss structures, where the design variables typically comprise the cross-sectional features of members in a fixed ground structure (Zhou 1996; Rozvany 1996; Guo et al. 2001). Relatively few works appear in the literature concerning buckling-driven topology optimization of continua, though such structures stand to benefit substantially from these algorithms. In continuous structures, tension and compression paths become more difficult to discern, increasing the difficulty of intuitive design. A recent note by Ferrari and Sigmund (2018) exposes the issues hampering routine consideration of buckling behavior in this context, and those relevant to the present study will be detailed here, along with the works on buckling-driven topology optimization to date. It is noted that we herein deal only with the linear buckling response of structures. While consideration of non-linear effects can be important in estimating realistic failure loads (Pedersen and Pedersen 2018), the authors consider the simplicity and computational efficiency afforded by linear analysis retains its relevance in, at least, preliminary design stages. Furthermore, development of topology optimization algorithms which circumvent issues related to linear buckling may make non-linear buckling design more tractable in future works.

**K**,

**f**

**,**and

**u**denote the structural stiffness matrix, applied load, and stationary deflection respectively.

*K*

_{s}denotes the stress stiffness (also called geometric stiffness) matrix.

*λ*and

**v**represent the eigenvalue/eigenvector pair for a given buckling mode; there are as many pairs as there are degrees of freedom in the system. Eigenvectors are orthonormalized such that

The first positive buckling load factor *λ*_{1} is typically the only of practical interest, since it signifies the onset of instability (*λ*_{1} > 1 implies stability for a given **f**); the simplest optimization formulations thus aim to either minimize weight subject to a lower bound on *λ*_{1} (the constrained *λ*_{1} formulations), or maximize *λ*_{1} subject to an upper bound on weight (the max. *λ*_{1} formulations). Both forms are problematic, since numerous modes may be grouped closely, and the critical mode may switch between design iterations. Thus, in order to avoid erratic convergence in constrained formulations, a large number of modes must be computed during the analysis stage, along with the associated derivatives. Such provides the optimizer with sufficient information to constrain all modes which are currently active, and would become so on the next iteration. For example, Bruyneel et al. (2008) minimized the weight of a stiffened panel subject to buckling load constraints using 42 discrete design variables; for such, 100 buckling modes were required to be computed in order to stabilize convergence. The work by Dunning et al. (2016) showed a similar trend in the topology optimization of continua. In that work, a level set method (details of such methods are the subject of Section 2) was applied to the weight minimization of a 3D bracket structure, wherein 5 mode constraints failed to achieve convergence due to mode switching, and a significant reduction in the number of iterations was observed by increasing the number of modes computed from 10 to 25. It is worth noting that for such 3D continuum structures, computing eigenmodes is computationally expensive, and eigensolvers other than the commonly used ARPACK (Lehoucq et al. 1998) may become preferable (Dunning et al. 2016).

To avoid mode switching in max. *λ*_{1} formulations, one may convert the problem to a bound formulation, whereby the objective becomes to maximize an auxiliary variable, with constraints added such that said variable remains less than all of the computed eigenvalues (Bendøse and Sigmund 2003). Others have advocated an eigenvalue separation approach, whereby additional constraints are added to the problem such that adjacent modes remain sufficiently separated (Stanford et al. 2014; Ferrari and Sigmund 2018). It should be noted that this technique prevents the identity of the critical buckling mode changing throughout the optimization, as modes cannot switch from their baseline ordering, which in theory could lead to sub-optimal results. When applied to the topology optimization of panel stiffeners (Stanford et al. 2014), the eigenvalue separation technique was found to result in faster convergence without loss in performance when compared with the aforementioned auxiliary approach. The use of an aggregation function, such as the popular KS function (Kreisselmeier and Steinhauser 1980), also alleviates the issue, since when aggregated, the order of eigenvalues is unimportant. Such aggregation techniques are common in stress-based topology optimization (Verbart et al. 2017; Picelli et al. 2018) and have begun to find application in buckling load control (Ferrari and Sigmund 2018; Chin and Kennedy 2016; Stanford 2017). Judicious choice of the aggregation function parameters allows one to obtain a smooth lower bound to *λ*_{1}, provided an adequate number of buckling modes are computed.

Compounding the many modes issue, standard practice in topology optimization is to approximate voids via ersatz material on a fixed finite element mesh. The presence of such weak material can cause additional, spurious buckling modes to appear, whereby the weak material dominates the deflection response. An arbitrary number of such modes can be grouped with a near-zero buckling load, and since a finite number of modes is computed, this can cause the real modes to be lost from the analysis. For the SIMP method, whereby each finite element is assigned a density variable which dictates Young’s modulus, a modified interpolation scheme has been proposed (Bendøse and Sigmund 2003; Thomsen et al. 2018; Gao and Ma 2015; Stanford and Beran 2013), which advocates using different Young’s modulus values in computing **K** and *K*_{s}. The aforementioned level set study by Dunning et al. (2016) utilized a similar approach, whereby a penalization function was applied to reduce the stress measured in void elements, thus increasing the associated eigenvalues, making them non-critical.

The presence of repeated eigenvalues (*λ*_{i} = *λ*_{i+ 1}) may also hamper optimization, since at such a point, the standard eigenvalue derivative formula breaks down (such will be shown by example in Section 2). Additionally, the eigenvalues are no longer Fréchet-differentiable; this is due to the re-ordering of buckling modes that may occur from one iteration to the next. This typically presents as oscillations in convergence when two eigenvalues become close (Manickarajah et al. 1998). Fortunately, these issues are well-documented (Seyranian et al. 1994): as will be detailed in Section 2, an alternative derivative formula can be used when repeated eigenvalues are detected, and should the order of eigenvalues be important to the chosen optimization method, the concept of generalized gradients may be adopted (Rong et al. 2001; Seyranian et al. 1994; Thomsen et al. 2018).

Summarizing the above, the importance of including buckling performance in topology optimization methods is well-recognized, and the literature documents a number of approaches for circumventing mode-switching, spurious buckling, and eigenvalue multiplicity, thus making the endeavor possible. The authors are aware of only one study to date which implements buckling constraints in level set topology optimization, namely that by Dunning et al. (2016), which demonstrated use on a bracket-like component. The aim of the present work is to apply the level set method to the buckling behavior of shell structures, for which design tends to be strongly buckling-driven when under compression. We utilize a sequential level set topology optimization method which is shown to naturally avoid the issues related to mode ordering and is capable of simultaneously increasing several buckling loads at once if required. We apply the method to two-thickness shell structures (where each point on the structure is assigned one of two thicknesses), as well as those with voids/cut-outs. Inclusion of such topological features is shown to introduce a trade-off between buckling load and structural stiffness; such a relationship has been noted recently by others using SIMP methods for 2D solid structures (Gao and Ma 2015; Gao et al. 2017). The method is shown to be effective in several design applications, including flat plates, stiffened panels, and ribs in an aircraft wingbox.

## 2 Methods

### 2.1 Level set and analysis methods

*ϕ*, which is defined everywhere in a given design space, and through which the location of domain boundaries is implicitly defined:

*ϕ*and the resulting structure is depicted in Fig. 1a and b. In this work, we discretize the level set function on a two dimensional mesh comprising regular square elements, with bilinear interpolation within a given element.

Herein, we assess the behavior of structures using the finite element (FE) method. We make use of 4 node flat shell elements, comprised of a Mindlin-Reissner plate element (Bathe and Dvorkin 1985) combined with a plane stress element, using code developed in-house. In order to avoid re-meshing, we employ a fixed grid analysis, whereby the entire design domain is meshed once prior to optimization, and the physical (plate thickness) and material (Young’s modulus, Poisson’s ratio, and mass density) properties of the elements are assigned in order to approximate the behavior of an arbitrarily shaped structure. We achieve this by first assigning a variable *w* to each finite element, in the same fashion as density variables are assigned in the SIMP method (note that we avoid using *ρ* in order to avoid confusion with material density). This idea is shown in Fig. 1c.

*w*

_{j}is computed in such a way as to represent the volume fraction of finite element

*j*which lies in domain 1, namely:

*j*, and \(H\left (\cdot \right )\) denotes the Heaviside operator. The discrete integration is done as for the finite element analysis, such that the

**ψ**_{j}vector contains the value of

*ϕ*at the finite element nodes, and

**w**

_{j}is a vector formed by Gaussian quadrature and used to integrate nodal values over the element volume. It should be noted that finite element nodes need not coincide with the nodes of the level set grid. In this case, a linear map is obtained such that

*and*

**ϕ***denote*

**ψ***ϕ*values on the level set grid and finite element mesh nodes, respectively. We node that multiple level sets can be utilized on a given structure, as will be shown in Section 3. In order to maintain smoothness in regard to design derivatives, the analytical Heaviside operator is substituted for a polynomial approximation:

*β*acts to shift the curve on the

*ϕ*axis, which we will discuss uses for below. Once

*w*

_{j}has been computed, the stiffness matrix for element

*j*is found as follows:

*j*computed using the physical and material properties of domain

*i*;

*E*,

*ρ*,

*ν*, and

*h*represent the Young’s modulus, mass density, Poisson’s ratio, and thickness, respectively. By observation, elements within the Heaviside transition zone (closest to the structural boundary) will have 0 <

*w*

_{j}< 1 and will thus retain intermediate properties between domains 1 and 2. As such, this method produces a region of gray elements and is not truly binary; such is a consequence of using a fixed grid analysis method in lieu of a fitted mesh. The same calculation is performed with the element mass matrices, which are needed for structural mass calculations. The stress stiffness matrices, however, require special treatment. In the case where domains 1 and 2 both represent non-void structures, such as in the design of two-thickness plates, the stress stiffness matrix is computed in the same manner as (6a, b). If domain 2 represents a void, such that \(E_{2} \rightarrow 0\), \(h_{2} \rightarrow 0\) or both, computing

*K*

_{s}in the manner of (6a, b) is known to produce spurious buckling modes. In these cases, we use the concept of stress relaxation (Bendøse and Sigmund 2003), whereby

*E*

_{1}= 200 GPa,

*E*

_{2}= 10

^{− 6}GPa,

*ν*

_{1}=

*ν*

_{2}= 0.3,

*h*

_{1}= 30 mm,

*h*

_{2}= 0.1 mm. That is, domain 2 was given properties to approximate a void region. Simply supported conditions were enforced on all boundaries and a uniformly distributed compressive load was applied to the vertical edges. As for all subsequent analyses, the static problem (1a) was solved using the HSL MA57 solver (HSL 2002), and (1b) with ARPACK (Lehoucq et al. 1998). Without stress relaxation, the first several buckling modes are spurious, dominated by deformation in the void region. Including relaxation confines the behavior to that of the solid structure.

*ϕ*axis using the parameter

*β*in (5a, b), and Fig. 3 demonstrates the motivation for doing so. Namely, as the width of a structural member (

*d*

_{1}in the inset of Fig. 3) reduces towards zero, the non-shifted Heaviside function with

*β*= 0.0 produces a structural discontinuity, since \(H\left (\phi \rightarrow 0^{-}\right ) = 0.5\). Shifting the curve with

*β*= Δ means \(H\left (\phi \rightarrow 0^{-}\right ) = 1.0\), and a resulting smooth reduction in buckling load as structural members vanish. As the width of structural members increases, the buckling load computed using either formulations converges. The effect of this on optimization convergence will be shown in Section 3.

### 2.2 Problem formulation and derivatives

*λ*

_{1}. As noted in Section 1, several modes are expected to change order or become simultaneously-active during the optimization; as such, objectives based solely on

*λ*

_{1}are non-smooth. Also noted above, strategies to circumvent this issue include the use of aggregation functions and eigenvalue separation techniques. A third option, which we adopt here, is to employ a bound problem formulation, whereby maximization of

*λ*

_{1}is replaced by that of an auxiliary variable

*λ*

_{aux}, with constraints added such that said variable remains less than all of the computed eigenvalues (Bendøse and Sigmund 2003):

*m*and

*m*

^{∗}represent actual and target mass values, respectively;

*P*represents a perimeter measure, added for regularization. The constant

*c*

_{p}controls the strength of the regularization. For all the numerical examples presented in Section 3, we found that computing the first 10 buckling modes was sufficient to ensure optimization stability. That is, less than 10 modes were active during the optimization of all structures depicted in Section 3. Such a formulation retains the information related to all computed eigenvalues, though mode switching can still affect convergence if the order of eigenvalues is relevant to the chosen optimization algorithm (such as when performing line search, etc.). In such cases, mode tracking can be employed, which allows modes to cross without being re-ordered (Eldred et al. 1995). As will be explained in Section 2.3, we herein utilize a sequential algorithm for which the order of eigenvalues is unimportant. In order to solve problem (8), we require the derivatives of

*m*,

*P*and

*λ*

_{i}with respect to the topology, implicitly defined via

*ϕ*. For

*m*and

*λ*

_{i}, we do this via the chain rule, first deriving with respect to

*w*, then converting to

*ϕ*via (3). The mass

*m*is defined via the mass matrix:

**z**contains 1 for deflection degrees of freedom along the

*z*-axis direction and zero elsewhere (note that any translational direction could be used). For element

*j*, we thus have the following:

*λ*

_{i}can be computed by pre-multiplying (1b) by the eigenvector

**v**

_{i}, then differentiating the following:

*u*

_{a}, then differentiating the following:

**f**=

*f*

_{s}+

*f*

_{w}; the latter can be computed as follows:

*n*

_{g}accounts for gravity (for example,

*n*

_{g}= − 9.81 m/s

^{2}for 1g loading at sea level). As such, the force derivative is as follows:

*λ*

_{i}=

*λ*

_{i+ 1}, etc.), (15) does not give a unique value for \(\frac {\partial \lambda _{i}}{\partial w_{j}}\), since more than one eigenvector becomes associated with it. That is, one could choose to substitute either of the

**v**

_{i}in (11) for

**v**

_{i+ 1}, and ultimately conclude a different value for \(\frac {\partial \lambda _{i}}{\partial w_{j}}\). In such cases, it has been shown that in place of (15), one should solve the following sub-eigenvalue problem (Seyranian et al. 1994):

**A**and

**B**are

*n*×

*n*matrices, where

*n*is the eigenvalue multiplicity, with element values as follows:

In practice, retrieved eigenvalues are unlikely to be exactly equal, and the switch from (15) to (19) can be made according to a pre-specified tolerance, for example, when *λ*_{i} and *λ*_{i+ 1} differ by less than 1%, and are considered close.

*w*= 1, as shown in Fig. 4a. Note that mode tracking has been applied in order to color the lines. The solid and dashed lines in Fig. 4b depict the values of \(\frac {\partial \lambda _{i}}{\partial w}\) computed using (15) and (19) respectively; also shown are values obtained via central finite difference. As shown, (15) is appropriate for all values of

*w*other than the exact point of multiplicity, where a discontinuity occurs. In fact, for this system ,

*w*= 1 ± 10

^{− 16}was far enough from the multiplicity that (15) agreed with the finite difference. The value obtained from (19) remains smooth through the multiplicity, though quickly diverges from (15), and the finite difference result, away from this point.

We note that while this simple system demonstrates a clear difference in the value of \(\frac {\partial \lambda _{i}}{\partial w_{j}}\) using (15) and (19) in the presence of repeated eigenvalues, we were unable to produce such a difference using actual finite element models of structures. For reference, each of the numerical examples presented in Section 3 was run using both derivative formulations (15) and (19), and found to produce the same results to numerical precision. Based on the simple example given above, this is most likely due to eigenvalues differing by at least numerical precision at all times, which is enough to validate (15). It has been noted that many results and algorithms can be found in the literature which ignore the possibility of repeated eigenvalues altogether for this reason (Bendøse and Sigmund 2003).

*w*

_{j}are mapped to the level set field via (3), for example

*ϕ*

_{k}is the

*ϕ*value at level set mesh node

*k*. The perimeter

*P*is estimated for element

*j*as follows:

*w*

_{j}, the discrete integration is done as for the finite element analysis, such that the

**ψ**_{j}vector contains the value of

*ϕ*at the finite element nodes, and

**p**

_{j}is a vector formed by Gaussian quadrature and used to integrate nodal values over the element volume. We note that this is not the true perimeter—for an exact measure, the integrand should read \(\left (\delta \left (\phi \right ) \left |\nabla \phi \right |\right )\)—though the amendment greatly simplifies the computations. As for the

*w*

_{j}calculation, we use a smooth Delta function defined as the derivative of (5a). The perimeter derivative is then simply

### 2.3 Optimization algorithm

It is common practice to maintain *ϕ* as a signed-distance function, such that \(\left |\nabla \phi \right |=1\) is everywhere in the computational domain; this ensures a well-behaved boundary, both in terms of the percentage of finite elements with intermediate *w* values and merging/splitting behavior of boundaries. In order to convert an arbitrary *ϕ* field to a signed distance function with the same boundary locations, we use a combination of the marching squares and fast marching algorithms (Osher and Fedkiw 2003); the former locates a discrete set of boundary points *x*_{b}, defined such that \(\phi \left (\mathbf {x_{b}}\right ) = 0\), while the latter propagates the \(\left |\nabla \phi \right |=1\) property outwards to the remainder of the field.

*ϕ*field is not free to change arbitrarily;

*ϕ*should only change in ways that maintain the signed distance property. The fast velocity extension algorithm proposed by Adalsteinsson and Sethian (1999) details a method to propagate changes at the boundary Δ

*ϕ*

_{b}to changes in the rest of the field Δ

*ϕ*which achieves this preservation. The method detailed by Adalsteinsson and Sethian (1999) assumes that the values of change at the boundary nodes are known a priori; however, since all the operations required by the method are linear on the level set grid, one simply needs to track which boundary nodes would contribute changes to the value of

*ϕ*at each of the level set nodes; then a linear operator can be formed which allows the result of arbitrary changes to be computed. That is to say, the operator \(\left [\frac {\partial \boldsymbol {\phi }}{\partial \boldsymbol {\phi }_{b}}\right ]\) can be computed in the following relation:

*ϕ*field using fast marching after each design update. It is noted that the above procedure differs from other reported level set topology optimization methods, which formulate equations in terms of a velocity normal to the boundary, which is propagated to the remainder of the field via the Hamilton-Jacobi equation. The difference arises due to the use of the smooth Heaviside to map structural properties, which makes it possible to work with changes in

*ϕ*directly.

*ϕ*value at the boundary points,

**Δϕ**

_{b}: At each iteration, we utilize IPOPT (Wächter and Biegler 2006) to solve the following sub-problem:

*J*

_{0},

*m*

_{0}, and

*λ*

_{0,i}denote values at the current iteration. The value of

*γ*denotes the move limit for a given boundary point

*ϕ*value and can be understood in the same way as a trust region in other SLP algorithms. In this work, we initially set

*γ*to be half the width of a typical finite element in the given mesh and update the value as follows: If the projected objective value—\(J_{0} + \left \{\frac {\partial J}{\partial \boldsymbol {\phi }_{b}}\right \}^{T} {\Delta }\boldsymbol {\phi }_{b}\)—differs by the real objective value by more than 1% for 10 sequential iterations,

*γ*is halved; such facilitates convergence for SLP algorithms. Although not done here, logic could be employed such that the move limit increases under certain conditions to facilitate faster convergence.

By inspection of sub-problem (30), mode tracking need not be employed, since the optimizer is required to maintain all of the computed eigenvalues above a given value at the next iteration, regardless of their ordering. Instability could be encountered in cases where all of the computed modes are being actively constrained; in such cases, modes which are not computed at a given iteration could switch places with one of the computed modes. In order to avoid this, a sufficient number of modes must be computed during the buckling analysis, such that not all are simultaneously active. As noted above, we found 10 modes to be sufficient for all numerical examples presented in Section 3.

*ϕ*field. A set of boundary points are then extracted using the marching squares algorithm, followed by the fast marching method to re-initialize

*ϕ*as a signed distance function. At the same time, the relational matrix in (29) is computed. The

*w*

_{j}is then assigned to all elements via (3), followed by finite element analysis (1a) using the HSL MA57 and ARPACK solvers. Once complete, the objective function, constraint values, and the associated derivatives are computed first with respect to

*w*, then to

*ϕ*as described above, and finally to the boundary points via (29). We then formulate the linearized sub-problem (30) and employ IPOPT (Wächter and Biegler 2006) to select the optimal design change

**Δϕ**

_{b}. Such is repeated until convergence, which herein is deemed to occur when all constraints are satisfied and the improvement in objective value is less than 0.1% for 10 sequential design iterations. This is shown diagrammatically in Fig. 5.

## 3 Numerical examples

We begin this section by studying two-thickness flat plates, for which there are several benchmark designs available in the literature. We then proceed to study the topology optimization analogue; that is, plates with voids/cut-outs. Panel stiffeners are then explored, for which the SIMP method has been applied previously. Finally, we apply the method to the ribs in an aircraft wingbox.

### 3.1 Flat plates

*E*= 200 GPa,

*ν*= 0.3,

*ρ*= 7850 kg/m

^{3}), which is edge-loaded uniformly in the

*x*−direction, with either simply supported or clamped conditions on all edges as shown in Fig. 6a. The finite element mesh comprised 100 × 100 square shell elements. Manickarajah et al. (1998) applied the ESO topology optimization method to the buckling load maximization of such a model, whereby each point on the structure could take one of two pre-defined thicknesses \(h_{\min \nolimits }\) or \(h_{\max \nolimits } > 0\). The authors also compared their results with theoretical optima identified previously in the literature, and this problem is thus considered to serve as an appropriate benchmark for the present work. Figure 6b and c depict the first buckling modes for a uniform 15-mm thick steel plate with simply supported and clamped boundary conditions, respectively. Note that subsequent optimized designs will be compared with these reference performance values.

*m*

^{∗}set equal to that of the uniform 15-mm thick reference design, and regularization parameter

*c*

_{p}= 0.01. This small value for

*c*

_{p}was found to have negligible effects on the optimization progression, though produced qualitatively smoother designs than were retrieved without its inclusion. As mentioned above, the first 10 buckling modes were computed during the finite element analysis (1b). As shown in Fig. 7d, all performance metrics were scaled by the constant reference values throughout the optimization in order to have magnitudes on the order of 1. The compliance

*C*and the second buckling load

*λ*

_{2}are also included in the plot, though were not actively constrained in this case.

*λ*

_{1}≈

*λ*

_{2}after iteration 10. As noted in Section 2, the eigenvalues are not exactly equal, and in this case differed by approximately 0.01% from iteration 10 until convergence. As mentioned previously, this was enough separation to validate the use of (15) in computing

*∂*

*λ*

_{i}/

*∂*

*w*, and indeed the results in Fig. 9 were obtained using (15) for the entire optimization loop. The smooth convergence history depicted in Fig. 9d suggests that derivatives remained accurate throughout. This is in contrast to the convergence history reported by Manickarajah et al. (1998), which underwent marked oscillation once the buckling loads coalesced. The final designs obtained in that work, however, are again very similar when compared visually and performance-wise with that in Fig. 9e, which achieved a buckling load increase of 63% with respect to the reference, Fig. 6c.

*E*

_{void}/

*E*

_{solid}= 10

^{− 6}. As shown, a vast (431%) increase in buckling load is easily obtained by introducing the circular void, though this accompanies a much higher (1561%) increase in compliance and would most likely render the structure unusable. Such a trade-off relationship has been identified previously for 2D solid structures (Gao and Ma 2015; Gao et al. 2017). For this reason, for the remainder of this section, we adopt a modified version of formulation (8), which includes the compliance measure in the optimization objective:

*c*

_{b}= 0.00,

*c*

_{p}= 0.01; that is, minimum compliance designs, using different initial designs and simply supported boundary conditions. In general, the size of the features in the initial design dictates those in the final design, and smaller features facilitate stiffer optima. However, there are diminishing returns on the performance increase, and also likely a reduction in simulation accuracy, since for the designs with small features, only a few finite elements are present across the width of each structural member. In light of this, we undertook subsequent investigation of these plates using an initial 4 × 4 hole array, which strikes a compromise between performance and feature size.

*c*

_{p}= 0.01 and a 30-mm thick plate. As per Fig. 12a, the trend for both simply supported and clamped boundary conditions is similar: compliance rises modestly at lower buckling loads and exponentially at higher buckling loads. The minimum compliance designs for both boundary conditions (obtained with

*c*

_{b}= 0.0) are unimodal, with the first two modes coalescing at higher buckling loads. Figure 12b–d and e–g depict a selection of simply supported and clamped optima, respectively. Topologically, the minimum compliance designs (with

*c*

_{b}= 0.0) comprise stiffening elements almost entirely in the load direction; cross-bracing members become prominent as

*c*

_{b}> 0 and designs with higher buckling loads are favored by the optimizer. The maximum buckling load designs (with

*c*

_{b}= 1.0) vastly reduce the volume of stiffening elements in the load direction, thus reducing the stress in the center of the plate, where buckling occurs; such increases the buckling load at the expense of stiffness. Note that the

*y*-axis of Fig. 12a has been truncated for clarity; for reference, the maximum buckling load designs shown in Fig. 12d and g recorded

*C*/

*C*

^{ref}values of 12.3 and 14.0 respectively. Also shown in Fig. 12h–j are the mode shapes for the clamped optima. The minimum compliance design is unimodal, and the mode shape takes the form of a half-sine wave. The design with

*c*

_{b}= 0.3 is bimodal, whereby the half and full-sine waves coalesce. The maximum buckling load design has shed the half-sine mode entirely, and instead matches the full and one-and-a-half sine waves.

*c*

_{b}= 0.2. Figure 13e shows the convergence history, both with and without implementation of the soft Heaviside shift discussed in Section 2. Without the Heaviside shift, the cross members are prone to snapping (see Fig. 13g and h), since as per the discussion on Fig. 3, this represents a discontinuity in the buckling load: The optimizer is unaware that buckling load will sharply decrease. Thus, two sharp drops in buckling load are observed in Fig. 13e, which ultimately leads to reduced buckling performance compared with the case where the shift is present.

### 3.2 Panel stiffeners

*E*= 70 GPa,

*ν*= 0.3,

*ρ*= 2800 kg/m

^{3}). Simply supported conditions were applied on all edges, and a load was applied uniformly to the skin in the

*x*−direction. The mesh comprised 200 × 200 shell elements on the skin, with 20 elements through the depth of the stiffeners. In contrast to the flat plate examples above, we made use of two level set fields: One to characterize the topology of the central stiffener, and the other for the outside stiffeners, which were made identical due to the symmetric loading. As noted by Stanford et al. (2014), while many papers and commercial software packages address parametric stiffened panel design, whereby design variables comprise stiffener dimensions, spacing, etc. Bhatia et al. (2011), few are able to further relax assumptions about structural form and allow for topological changes, as we show herein.

*m*≤ 0.85

*m*

^{ref}, where

*m*

^{ref}= 0.42 kg is the mass of the uniform reference design shown in Fig. 14. As mentioned above, the first 10 buckling modes were computed during the finite element analysis (1b). Figure 15 presents the results of one such optimization. The initial design was chosen such that the level set boundary traced the rectangular perimeter of the stiffeners. As such, the height and width of the stiffeners are free to vary, and topological features can form on the lower edge, where the stiffeners meet the face sheet. This is observed as the optimization progresses in Fig. 15a–c. The motivation for this initial design choice, rather than introducing numerous holes in the body of the stiffeners, is that only 20 shell elements are present across the stiffener height, which is considered too few to support complicated topologies. The chosen initial design prevents the formation of small structural features and is considered more likely to accurately model the stiffener behavior.

The convergence history Fig. 15d documents an initial reduction in buckling load which is caused by the optimizer satisfying the mass constraint. Once *m* = *m*^{∗}, the buckling load increases and becomes trimodal (with *λ*_{1} = *λ*_{2} = *λ*_{3}). These three active modes are depicted alongside the optimized design in Fig. 15e. Topologically, the final design comprises two solid outside stiffeners with reduced height compared with the reference, with the central stiffener becoming arched. Although 15% lighter than the uniform reference design, 93% of the buckling load is maintained. The topology reported by Stanford et al. (2014) is markedly different to that shown here, with far more structural features present and resembling a truss. This notwithstanding, the same 93% buckling load performance was also reported by those authors. Such results reinforce our previous observations regarding the strong dependence of the optimization on the initial design choice and demonstrate the non-convex nature of this problem.

### 3.3 Wingbox ribs

^{∘}. The stringer height is 10 mm. We note that this model was chosen quite arbitrarily; this was due to the lack of a true benchmark in the literature, as could be found for the flat plates and stiffened panels above. While wingbox ribs have been subjected to topology optimization methods by others Stanford and Dunning (2014) and Krog et al. (2002), we are unaware of an example which was buckling driven. Recently, Stanford (2017) applied a SIMP method to wingbox stringers and included several constraints including buckling loads, though in that work, ribs were not optimized.

*E*= 70 GPa,

*ν*= 0.3,

*ρ*= 2800 kg/m

^{3}). The root edge was fixed, and a static elliptic load was applied in the

*z*−direction to every node in the skin elements as follows:

*y*is the

*y*−coordinate of the node and \(f^{\text {root}}_{z}\) is the load value at the root; since all optima are compared with reference values, this was set as 1.0 for simplicity. While the above is a coarse approximation of aerodynamic wing loading, it is considered sufficient to demonstrate the method herein. It is noted that higher fidelity aerodynamic loads induce twisting behavior and may significantly alter the optimized designs reported herein. Self-weight was also present in this example, with

*n*

_{g}= − 9.81 in (17). We note that numerical experiments revealed the presence of self-weight to be largely inconsequential for this structure. In higher fidelity wing models, where engines, fuel tanks, etc. are present, as well as consideration given to vibration behavior and ground loads (e.g., a taxi bump), self-weight is expected to carry more significance. We retain it here for completeness. To undertake topology optimization on the ribs of this structure, we require ten level set functions; the grid aligned with rib 5 is present in Fig. 17a.

Figure 17c depicts the deflection of the reference design—where all ribs are present and uniform—under the applied elliptic and self-weight loading. Figure 17e depicts the corresponding first buckling mode, which presents on the upper skin towards the root, where compressive stress is highest. Out of interest, we present in Fig. 17d and f the behavior of the structure when all ribs are removed. The static stiffness has increased by only 5%; however, the absence of ribs results in a larger part of the upper skin buckling (a larger buckling wavelength), since it is no longer being broken into shorter panels; the buckling load consequently reduced by a significant 23%.

We note that in the detailed design stage, the individual panels, including the skin thickness and stringer geometry, would need to be optimized considering numerous loading conditions and many closely spaced buckling modes are likely to be encountered; as will be shown below, our examples demonstrate well-spaced buckling modes. While this may be considered non-representative of real structures, we include this example in order to demonstrate simultaneous optimization of numerous level sets (one per rib), as well as the potential to smoothly change the number of ribs while respecting the active buckling constraints.

*c*

_{b}= 1.0 and

*c*

_{b}= 0.0. As earlier, the regularization was constant at

*c*

_{p}= 0.01. The mass constraint was set as

*m*≤ 0.96

*m*

^{ref}, where

*m*

^{ref}= 30.8 kg was the weight of the reference design; such was chosen to force the optimizer to remove a significant portion of rib structure. As mentioned above, the first 10 buckling modes were computed during the finite element analysis (1b). The initial design was chosen such that level set boundaries were present at the leading and trailing edges of each rib. As for the stiffened panel results above, complicated topologies could not be supported on the reasonably coarse rib mesh, and the initial design was chosen to induce rib width changes instead of small-featured structures which were found, via numerical experiment, prone to form from initial designs with internal holes.

Topologically, the optimized design for *c*_{b} = 1.0 in Fig. 18b (maximum buckling load) retains most of the rib structure near the root—enough to act as panel breakers, and increase the buckling load by 1% with respect to the reference design. Ribs 4–7 have been completely removed, with structure returning in ribs 8–10 at the wing tip. As for the stiffened panel example above, the convergence history Fig. 18a documents smooth performance changes, even when entire structural components disappear. The compliance of this design increased by 2% with respect to the reference. In contrast, the optimized design for *c*_{b} = 0.0 in Fig. 18c (minimize compliance) retains part of each rib (none were removed entirely). The buckling load dropped by only 5% with respect to the reference, due to ribs 1–3 closest to the root remaining largely present, forcing a similar mode shape to the maximum buckling load design. Compliance increased by 1%, half the increase of the maximum buckling load design.

## 4 Conclusion

We herein documented and applied a level set topology optimization method to the buckling of shell structures. The method is equally applicable to structures with binary thickness distributions, such as two-thickness plates, as well as those with void regions such as cut-outs. In the latter case, consideration of static stiffness should be made, as a significant trade-off between buckling and compliance becomes evident. Stress relaxation was employed to effectively remove spurious buckling modes from void regions, allowing entire members to be removed entirely during optimization; such was demonstrated on panel stiffeners and wingbox ribs. A smooth, shifted Heaviside function was used in the definition of material properties, which was shown to avoid singularities associated with vanishing structural features, and facilities smooth optimization convergence. The sequential optimization method adopted avoids the need for mode-tracking, while allowing several buckling modes to be increased simultaneously.

## 5 Replication of results

The finite element meshes, as well as the *w* distributions for the optima reported, will be made available via the Cardiff University data catalogue at https://doi.org/10.17035/d.2019.0082440161. In addition, the open source M2DO code, available at http://m2do.ucsd.edu/software, is currently being extended to include buckling loads.

## Notes

### Acknowledgments

The authors would also like to thank the Numerical Analysis Group at the Rutherford Appleton Laboratory for their FORTRAN HSL packages (HSL, a collection of Fortran codes for large-scale scientific computation (see http://www.hsl.rl.ac.uk/)).

### Funding information

We thank the support of the Engineering and Physical Sciences Research Council, fellowship grant EP/M002322/2.

### Compliance with ethical standards

### **Conflict of interest**

The authors declare that they have no conflict of interest.

## References

- Aage N, Andreassen E, Lazarov BS, Sigmund O (2017) Giga-voxel computational morphogenesis for structural design. Nature 550(7674):84CrossRefGoogle Scholar
- Adalsteinsson D, Sethian JA (1999) The fast construction of extension velocities in level set methods. J Comput Phys 148(1):2–22. https://doi.org/10.1006/jcph.1998.6090 MathSciNetCrossRefzbMATHGoogle Scholar
- Allaire G, Jouve F, Toader AM (2004) Structural optimization using sensitivity analysis and a level-set method. J Comput Phys 194(1):363–393. https://doi.org/10.1016/j.jcp.2003.09.032 MathSciNetCrossRefzbMATHGoogle Scholar
- Bathe KJ, Dvorkin EN (1985) A four-node plate bending element based on mindlin/reissner plate theory and a mixed interpolation. Int J Numer Methods Eng 21(2):367–383. https://doi.org/10.1002/nme.1620210213 CrossRefzbMATHGoogle Scholar
- Bedair O (2009) Analysis and limit state design of stiffened plates and shells: a world view. Appl Mech Rev 62(2):020,801CrossRefGoogle Scholar
- Bendøse M, Sigmund O (2003) Topology optimization: theory, methods and applications. isbn: 3-540-42992-1Google Scholar
- Bhatia M, Kapania RK, Evans D (2011) Comparative study on optimal stiffener placement for curvilinearly stiffened panels. J Aircr 48(1):77–91CrossRefGoogle Scholar
- Bruyneel M, Colson B, Remouchamps A (2008) Discussion on some convergence problems in buckling optimisation. Struct Multidiscip Optim 35(2):181–186CrossRefGoogle Scholar
- Chin TW, Kennedy G (2016) Large-scale compliance-minimization and buckling topology optimization of the undeformed common research model wing. In: 57th AIAA/ASCE/AHS/ASC Structures, structural dynamics, and materials conference, p 0939Google Scholar
- Cook RD, et al. (2007) Concepts and applications of finite element analysis. WileyGoogle Scholar
- Dunning PD, Kim HA (2015) Introducing the sequential linear programming level-set method for topology optimization. Struct Multidiscip Optim 51(3):631–643. https://doi.org/10.1007/s00158-014-1174-z MathSciNetCrossRefGoogle Scholar
- Dunning PD, Ovtchinnikov E, Scott J, Kim HA (2016) Level-set topology optimization with many linear buckling constraints using an efficient and robust Eigensolver. Int J Numer Methods Eng 107(12):1029–1053MathSciNetCrossRefGoogle Scholar
- Eldred M, Venkayya V, Anderson W (1995) New mode tracking methods in aeroelastic analysis. AIAA journal 33(7):1292–1299CrossRefGoogle Scholar
- Ferrari F, Sigmund O (2018) Revisiting topology optimization with buckling constraints. arXiv:180905300
- Gao X, Ma H (2015) Topology optimization of continuum structures under buckling constraints. Comput Struct 157:142–152CrossRefGoogle Scholar
- Gao X, Li L, Ma H (2017) An adaptive continuation method for topology optimization of continuum structures considering buckling constraints. Int J Appl Mech 9(07):1750,092CrossRefGoogle Scholar
- Guo X, Cheng G, Yamazaki K (2001) A new approach for the solution of singular optima in truss topology optimization with stress and local buckling constraints. Struct Multidiscip Optim 22(5):364–373CrossRefGoogle Scholar
- HSL H (2002) A collection of fortran codes for large scale scientific computation, 2002Google Scholar
- Kreisselmeier G, Steinhauser R (1980) Systematic control design by optimizing a vector performance index. In: Computer aided design of control systems. Elsevier, pp 113–117Google Scholar
- Krog L, Tucker A, Rollema G (2002) Application of topology, sizing and shape optimization methods to optimal design of aircraft components. In: Proc. 3rd Altair UK HyperWorks users conferenceGoogle Scholar
- Lehoucq RB, Sorensen DC, Yang C (1998) ARPACK users’ guide: solution of large-scale eigenvalue problems with implicitly restarted Arnoldi methods, vol 6. SiamGoogle Scholar
- Levy R (1996) Rayleigh-ritz optimal design of orthotropic plates for buckling. Struct Eng Mech 4(5):541–552CrossRefGoogle Scholar
- Manickarajah D, Xie Y, Steven G (1998) An evolutionary method for optimization of plate buckling resistance. Finite Elem Anal Des 29(3-4):205–230CrossRefGoogle Scholar
- Osher S, Fedkiw R (2003) Level set methods and dynamic implicit surfaces, vol 153. Springer, New YorkCrossRefGoogle Scholar
- Pandey MD, Sherbourne AN (1992) Mechanics of shape optimization in plate buckling. J Eng Mech 118 (6):1249–1266CrossRefGoogle Scholar
- Pedersen NL, Pedersen P (2018) Buckling load optimization for 2d continuum models, with alternative formulation for buckling load estimation. Struct Multidiscip Optim 58:2163–2172. https://doi.org/10.1007/s00158-018-2030-3 MathSciNetCrossRefGoogle Scholar
- Picelli R, Townsend S, Brampton C, Norato J, Kim H (2018) Stress-based shape and topology optimization with the level set method. Comput Methods Appl Mech Eng 329:1–23MathSciNetCrossRefGoogle Scholar
- Rahmatalla S, Swan CC (2003) Continuum topology optimization of buckling-sensitive structures. AIAA J 41(6):1180–1189CrossRefGoogle Scholar
- Rong J, Xie Y, Yang X (2001) An improved method for evolutionary structural optimisation against buckling. Comput Struct 79(3):253–263CrossRefGoogle Scholar
- Rozvany GI (1996) Difficulties in truss topology optimization with stress, local buckling and system stability constraints. Struct Optim 11(3–4):213–217CrossRefGoogle Scholar
- Sethian JA (1999) Level set methods and fast marching methods: evolving interfaces in computational geometry, fluid mechanics, computer vision, and materials science, vol 3. Cambridge University Press, CambridgezbMATHGoogle Scholar
- Seyranian AP, Lund E, Olhoff N (1994) Multiple eigenvalues in structural optimization problems. Struct Optim 8(4):207–227CrossRefGoogle Scholar
- Stanford BK (2017) Aeroelastic wingbox stiffener topology optimization. J Aircr 55(3):1244–1251CrossRefGoogle Scholar
- Stanford B, Beran P (2013) Aerothermoelastic topology optimization with flutter and buckling metrics. Struct Multidiscip Optim 48(1):149–171MathSciNetCrossRefGoogle Scholar
- Stanford BK, Dunning PD (2014) Optimal topology of aircraft rib and spar structures under aeroelastic loads. J Aircr 52(4):1298–1311CrossRefGoogle Scholar
- Stanford B, Beran P, Bhatia M (2014) Aeroelastic topology optimization of blade-stiffened panels. J Aircr 51(3):938–944CrossRefGoogle Scholar
- Thomsen CR, Wang F, Sigmund O (2018) Buckling strength topology optimization of 2d periodic materials based on linearized bifurcation analysis. Comput Methods Appl Mech Eng 339:115–136MathSciNetCrossRefGoogle Scholar
- Townsend S, Picelli R, Stanford B, Kim HA (2018) Structural optimization of platelike aircraft wings under flutter and divergence constraints. AIAA J 56(8):3307–3319. https://doi.org/10.2514/1.J056748 CrossRefGoogle Scholar
- Verbart A, Langelaar M, Van Keulen F (2017) A unified aggregation and relaxation approach for stress-constrained topology optimization. Struct Multidiscip Optim 55(2):663–679MathSciNetCrossRefGoogle Scholar
- Wang MY, Wang X, Guo D (2003) A level set method for structural topology optimization. Comput Methods Appl Mech Eng 192(1):227–246. https://doi.org/10.1016/S0045-7825(02)00559-5 MathSciNetCrossRefzbMATHGoogle Scholar
- Wächter A, Biegler LT (2006) On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathem Program 106(1):25–57. https://doi.org/10.1007/s10107-004-0559-y MathSciNetCrossRefzbMATHGoogle Scholar
- Zhou M (1996) Difficulties in truss topology optimization with stress and local buckling constraints. Struct Optim 11(2):134–136MathSciNetCrossRefGoogle Scholar

## Copyright information

**Open Access** This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.