1 Introduction

Metal silos, which usually consist of a conical or dome roof, a cylindrical barrel and a conical hopper, are typically thin-walled structures for storing large quantities of granular bulk solids in a wide variety of industries [1]. It was not until the 19th century that the big silo towers as we know them today began to be built. The use of thin-walled metallic containers in various processes has been increased up to the present day, displacing other methods of storage and containment. Although many studies have been developed on these structures, yet many uncertainties still remain since the laws which control the behavior of materials stored in silos are not totally understood. Silos are challenging structures to design and to investigate: on the one hand, establishing the mechanical properties of the stored product, on the basis of which the stresses that the structure must withstand can be calculated, and on the other hand, calculating the stresses of these specific mechanical properties on the design, resulting in a safe, economic and reliable construction [2,3,4]. Various attempts have been made over the last 50 years to codify the stored bulk solids-induced pressures which act on silo walls and are not easily determined or understood.

To the authors’ knowledge, the most commonly used silo design codes in the world are: EN 1991-4:2006 (Eurocode 1-Actions on structures-Part 4: Silos and Tanks), EN 1993-1-6:2007 (Eurocode 3-Design of steel structures-Strength and Stability of Shell Structures) and EN 1993-4-1:2007 (Eurocode 3-Design of steel structures-Silos). It was pointed out in EN 1993-4-1:2007 that Finite Element Method (FEM) or Finite Element Analysis (FEA), as the most accurate and reliable tool for structural stress analysis, should be the only validated numerical method for the silos in Consequence Class 3 and Consequence Class 2. By establishing the three-dimensional FE models of flat-bottomed cylindrical metal silos subjected to the actions of stored granular material in their interior, Juan et al. [2] obtained the silo wall stresses and compared them with those calculated via EN 1993-1-6:2007 formulae. Gallego et al. [5] presented that the normal wall pressures predicted by FE model were very close to the experimental data measured during filling and discharge processes of a mid-scale circular test silo. The pressures exerted by the stored granular bulk solids on the rectangular steel silo walls were investigated using a validated FE model and the results demonstrated that the horizontal pressure distribution across a silo wall was non-uniform, which would be helpful to produce much lighter structures [6].

Thin-walled metal cylindrical silos are vulnerable to buckling failure caused by the wall friction force due to shearing of bulk solids along silo walls. The buckling failures occur, particularly during silo eccentric discharge. Even for silos designed for concentric discharge, the eccentric discharge effects are difficult to avoid due to material segregation. As a consequence, non-uniform horizontal wall pressures develop which contribute to meridional bending and a non-symmetric distribution of wall compressive forces. The buckling strength of silos is very sensitive to many different factors as: the aspect ratio of the structure, the form and amplitude of initial geometric imperfections, loading and material imperfections, joint types, the boundary conditions at the ends, internal pressurization level and stiffness of the stored bulk solid [7,8,9,10]. Iwicki et al. [7] investigated the stability processes in a silo composed of thin-walled isotropic plain rolled sheets using static, explicit and implicit dynamic FEA by taking both the geometric and material non-linearity into account during eccentric discharge and stated that dynamic analyses could be very effective to obtain the full load–displacement relationship during the entire buckling process with local instability effects, while in the static cases the equilibrium path might be not always possible to be found due to the loss of convergence. Iwicki et al. [8], by taking the geometric and material non-linearity into account, carried out static and dynamic stability FE analyses for a cylindrical steel silo composed of corrugated sheets and open thin-walled vertical stiffener profiles and proposed some modifications of formulae in EN 1993-1-6:2007. Iwicki et al. [9] implemented economic design of cylindrical steel silos composed of corrugated sheets and columns by adopting FEA-based linear buckling sensitivity analysis and pointed out that the sensitivity design analysis could describe the influence of the column strengthening on the linear silo buckling load for global silo buckling, which would be helpful in the economic design of silos with respect to the silo weight. By modeling corrugated walls as an equivalent orthotropic shell and vertical open-sectional stringers as beam elements, M. Sondej et al. [10] conducted comprehensive FEA on perfect slender, semi-slender and squat silos by means of a linear buckling approach and an improved formula for silo design was proposed. By adopting a hypoplastic constitutive model for bulk solids and performing FEA with both geometric and material non-linearity, Kuczyńska et al. [11] addressed numerical analysis results of the effects of bulk solid on strength and stability of metal cylindrical silos with corrugated walls (without stiffeners) during filling process and quantitatively estimated the effect of the bulk solid stiffness on silo stability and the wall stresses.

In practice, metal silos are almost always constructed from many short cylindrical shells of different thicknesses because the stress resultants on the wall progressively increase towards the base. Those thickness changes are considerable because they relate to the progressively cumulative effect of wall friction between the bulk solid and the silo wall. Practical construction considerations mean that the increases in thickness are always made in step changes using metal sheets of uniform thickness because of the availability of such source materials. The result is a cylindrical silo with a stepped wall that has multiple discrete steps in thickness. Such silos are very susceptible to buckling under external pressure when empty or partially filled, but the buckling mode may involve only part of the silo height due to the changes in silo wall thickness [12]. By introducing the “weighted smeared wall method”, Chen et al. [12, 13] intensively analyzed the buckling strength of cylindrical shells with stepwise variable wall thickness under uniform external pressure. Sadowski et al. [14, 15] thoroughly investigated the stability behavior of the slender cylindrical silo with stepwise-varying wall thickness under eccentric discharge pressures and proposed that the dominant buckling mode in slender silos under eccentric discharge pressures is the so-called ‘elastic midheight buckling’. In addition, it has been found that the slender cylindrical silo walls underwent significant local flattening when subjected to the unsymmetrical pressures associated with the eccentric discharge condition. Furthermore, that flattening actually leads to reduced axial compressive stresses and thus an increased nonlinear buckling strength when compared to the linear buckling strength value [16].

The harmony of safety, manufacturability and economy for load-carrying engineering structures has ever been being sought. This goal could be fulfilled by an optimization-based structural synthesis scheme, in which a cost function is minimized through setting constraints on design and fabrication [17, 18]. The cost function and the constraints may depend on many variables, and their behavior may be highly nonlinear. The solution to such problems requires not only refined and realistic mathematical models of the structures, but also sufficiently accurate, reliable and efficient numerical methods and procedures to drive the structural design to an acceptable optimum configuration [19]. It should be readily noticed that in the past 20 years the FEM-based optimization has been widely adopted in the field of structural optimum design, in which the structural optimization of shell construction is subject to considerable concerns [20,21,22,23,24]. A number of optimization algorithms, from traditional gradient-based algorithms for convex and continuous design spaces to non-gradient probabilistic-based meta-heuristic or evolutionary methods for non-convex and mixed integer-discrete–continuous problems, have been extensively applied in structural optimization problems. As one of the most promising or prevailing evolutionary computing techniques, Particle Swarm Optimization (PSO) has become more and more attractive due to its general applicability, ease of implementation, robustness and efficiency in computation, and has been successfully used in single- and multi-objective optimization of plate and shell structures [19, 25,26,27,28,29,30,31,32,33,34,35,36].

Considering the size discreteness of commercially available metal plates and the intrinsic buckling strength vulnerability of slender silo, this paper proposed a methodology, which integrated the nonlinear implicit dynamic FEA, PSO method and MATLAB programming, to optimize the wall-thickness layout for stepped thin-walled cylindrical silo, with the objective of minimizing silo mass while ensuring its structural stability. Taking into account both practicality and reliability, silo discharge loads were amplified 1.6 times to try to reflect the comprehensive effectiveness of negative and positive factors on slender silo buckling strength. While evaluating the fitness of PSO method, nonlinear implicit dynamic FEA results, such as kinetic energy history data plots, total energy history data plots, etc., were used to intuitively determine whether silo buckled or not.

In essence, the optimal wall-thickness layout problem for a stepped silo is an NP-hard combinational optimization problem. The discrete thicknesses of rolled metal plates set an unavoidable constraint for stepped silo size optimization, which implies that there are only a few specific thickness values could be selected. In addition, the data of plate width are also discrete and one width value might correspond to several thickness data. For reasons of saving the potential cutting costs, the heights of most silo segments should be an integral multiple of the corresponding plate width value as far as possible, while the overall height of the silo should be kept still. To realize this goal, numerical processing techniques, such as generating a random number from a uniformly distributed set of discrete positive integers, linear normalization and linear interpolation, etc., were applied in this study.

2 Silo description

A simply supported flat-bottomed cylindrical silo, composed of rolled plates of four different wall-thicknesses (Fig. 1), was modeled and optimized in this work. By reference to [8, 9], etc., the silo roof and hopper were neglected in the subsequent FEM model.

Fig. 1
figure 1

Schematic of stepped silo with four different wall thicknesses

The silo size was: height H = 22.6 m, internal diameter D = 3.2 m (H/D = 7.0625). The silo consisted of annealed aluminum alloy type 3003 plates (AA3003), which was assumed elastic–perfectly plastic (without hardening) with the following properties: volumetric weight γ = 26.75 kN/m3, elastic modulus E = 69 GPa, Poisson׳s ratio ν = 0.3 and yield stress σy = 40 MPa. Table 1 lists the data of the thickness and corresponding width of the AA3003 plates for constructing the stepped silo in this work.

Table 1 Thickness and corresponding width data of applicable AA3003 plates

The properties of bulk solid (wheat) stored in the silo were: volumetric weight γ = 9 kN/m3, horizontal/vertical pressure ratio K = 0.55 and wall friction coefficient μ = 0.3 [7].

3 FE model data and results

As compared to static analysis, dynamic analysis could trace the time history of a structural response during the whole loading duration and concern the ensured convergence of the load–displacement path equilibrium in a post-peak regime, when a local transfer of strain energy from one part of the structure to its neighboring parts occurred. The application of static stability analysis is certainly more realistic in a pre-peak regime of buckling, however, in a post-peak regime this assumption would not be unique, because the stability loss connected usually with structural stability jumping modes has a dynamic character. A dynamic stability analysis is also physically justified in silo shells under compression since: a) dynamic effects occur when silo walls buckle during both filling and emptying and b) the wall friction force rapidly grows at the onset of solid discharge which is a dynamic process [7].

It was identified by Iwicki et al. [7, 8] that for silo stability FEA the nonlinear implicit dynamic analyses were effective to obtain the full load–displacement relationship during the entire buckling process, and the results of the implicit dynamic analysis were almost identical to the ones of the explicit type. In general, the operation speed of implicit dynamic analysis is faster than the explicit one due to its relatively large time increment, which would be greatly useful for the implementation of the FEA-based iterative optimization.

In this work, the calculations were carried out with the commercial finite element package ABAQUS/STANDARD (implicit dynamic analysis), reference to [7, 8]. At the silo bottom, the radial, circumferential, and meridional displacements and rotations were prevented, while at the silo top, the radial and circumferential displacements were fixed only. The 4-node thin shell elements with a reduced integration point and hourglass control (S4R) were employed. The finite element size was 10 × 10 cm2 and the total amount of finite elements was about 22,900.

To assign the discrete wall-thicknesses, the silo shell geometry was firstly partitioned by three datum planes, which were positioned along the silo height direction by means of the parameters h1, h2 and h3 (labeled in Fig. 1), respectively. After partition, according to the thickness values t1, t2, t3 and t4 (labeled in Fig. 1), the wall-thickness of each silo segment was defined through the homogeneous shell section editor of ABAQUS.

According to EN 1991-4:2006, the load on silo vertical walls is composed of a fixed load, called the symmetrical load (including the horizontal wall pressures and the wall frictional traction), and a free load, called the patch load, which shall be taken to act simultaneously. For the sake of safety and reliability, the loads of discharge process were used for silo nonlinear implicit dynamic FEA due to its abrupt dynamic characteristic.

In accordance with EN 1991-4:2006, the horizontal wall pressures phf and the wall frictional traction pwf on silo vertical section during the filling process are calculated as follows:

$$p_{\text{hf}} (z) = p_{\text{ho}} Y_{\text{J}} (z)$$
(1)
$$p_{\text{wf}} (z) = \mu p_{\text{ho}} Y_{\text{J}} (z)$$
(2)
$$p_{\text{ho}} = \gamma Kz_{\text{o}}$$
(3)
$$z_{\text{o}} = \frac{1}{K\mu }\frac{A}{U}$$
(4)
$$Y_{\text{J}} (z) = 1 - e^{{{\raise0.7ex\hbox{${ - z}$} \!\mathord{\left/ {\vphantom {{ - z} {z_{o} }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${z_{o} }$}}}}$$
(5)

where γ is the bulk solid volumetric weight, μ is the wall friction coefficient for the bulk solid sliding on the vertical wall, A is the plan cross-sectional area of the silo, U is the internal perimeter of the plan cross-section of the silo, z denotes the distance below the surface of the solid at maximum filling height, K is the lateral pressure ratio.

To represent the transitory pressure increase occurring on the silo vertical wall, EN 1991-4:2006 calculates the horizontal wall pressures phe and the wall frictional traction pwe on silo vertical section during the discharge process as follows:

$$p_{\text{he}} = C_{\text{h}} p_{\text{hf}}$$
(6)
$$p_{\text{we}} = C_{\text{w}} p_{\text{wf}}$$
(7)

in which Ch is the discharge factor for horizontal pressure, Cw is the discharge factor for wall frictional traction. According to the classification of EN 1991-4:2006, the silo of this study should be in the Action Assessment Class 2 (AAC 2), due to its capacity beyond 100 tonnes but below 10,000 tonnes. Consequently, Ch was set to be 1.15 and Cw was set to be 1.10, respectively.

EN 1991-4:2006 proposed that the discharge patch load shall be used to represent accidental asymmetries of loading during discharge, as well as inlet and outlet eccentricities. For silos in Action Assessment Classes 2, the reference magnitude of the discharge outward patch pressure ppe should be determined as:

$$p_{\text{pe}} = C_{\text{pe}} p_{\text{he}}$$
(8)

in which:

$${\text{for}}\;{\text{case}}\;{\text{of}}\;H/D > 1.2,C_{\text{pe}} = 0.42\;C_{\text{op}} \left[ {1 + 2E_{\text{e}}^{2} } \right](1 - \exp \{ - 1.5[({H \mathord{\left/ {\vphantom {H D}} \right. \kern-0pt} D}) - 1]\} )$$
(9)
$$E_{\text{e}} = 2e/D$$
(10)
$$e = \hbox{max} \left( {e_{\text{f}} ,e_{\text{o}} } \right)$$
(11)

where ef is the maximum eccentricity of the surface pile during filling, eo is the eccentricity of the center of the outlet, phe is the local value of the discharge pressure at the height at which the patch load is applied, Cop is the patch load solid reference factor of the bulk material. In this study, 0.5 was used for the factor Cop and 0.25D was applied to the variable e.

The discharge patch load consists of a pattern of normal pressures only. No changes to the frictional traction associated with the changed normal pressure should be considered in the design. The form of the discharge patch pressure depends on the form of silo construction. For thin-walled metal circular silos in Action Assessment Classes 2, the discharge patch pressure should be taken to act over a height s = πD/16, but to extend from a maximum outward pressure on one side to an inward pressure on the opposite side. The circumferential variation should be taken as:

$$p_{\text{pes}} = p_{\text{pe}} \cos \theta$$
(12)

where θ is the circumferential coordinate.

Furthermore, for the welded silos in Action Assessment Class 2, the discharge patch load might be taken to act at a depth zp below the equivalent surface, where zp is the lesser of: zp= zo and zp= 0.5D.

The Analytical Field toolset of ABAQUS was used to define the analytical fields for loading the silo FE model the horizontal wall pressures (Fig. 2), the wall frictional traction (Fig. 3) and the patch load (Fig. 4), respectively. By means of the analytical fields, spatially varying parameters for prescribed conditions could be expressed. Analytical fields defined using mathematical expressions are called expression fields in ABAQUS.

Fig. 2
figure 2

Using expression field to exert horizontal wall pressures on silo FE model

Fig. 3
figure 3

Using expression field to exert wall frictional traction on silo FE model

Fig. 4
figure 4

Using expression field to exert patch load on silo FE model

Sadowski et al. [14,15,16] emphasized that the imperfection sensitivity of a very slender, thin-walled metal silo under eccentric discharge is highly complex and counterintuitive. At small imperfection amplitudes, dramatic bifurcation buckling occurs. But larger amplitudes may completely remove the bifurcation point, turning it into a point of inflection on the smooth path from pre-buckling to post-buckling. That provoked the vital question for all computational analysts of imperfect shells: what criterion of failure should be used in structures with such a pattern of behavior? Some contributions [9,10,11, 16] indicated that different imperfection forms are needed when studying eccentric discharge and that the underlying assumption of EN 1993-1-6:2007, that deeper imperfections cause lower buckling loads, might be seriously in error or too conservative for that load condition.

To facilitate FE model updates related to the subsequent PSO optimization procedure, the above three silo loads were all amplified 1.6 times, which took into account both practicality and reliability and tried to reflect the comprehensive effectiveness of negative influences (geometry and material imperfections, etc.) and potential positive impacts (bulk solid stiffness, shell local flattening, etc.) on slender silo buckling strength.

In this work, the time period of nonlinear implicit dynamic analysis step was 1 s and automatic time increment approach was used (initial increment size: 0.02 s, minimum increment size: 10−5s and maximum increment size: analysis application default). The above three amplified silo loads as well as the silo self weight were exerted in a linear loading mode within 1 s.

To verify the performance of the nonlinear implicit dynamic FE model for stepped thin-walled silo stability analysis under the above mentioned loads, two silo models were established. The size of the Model 1 was: t1 = 8 mm, h1 = 3.5 m, t2 = 6 mm, h2 = 3 m, t3 = 5 mm, h3 = 4.5 m, t4 = 3 mm and h4 = 11.6 m, respectively. The size of the Model 2 was: t1 = 7 mm, h1 = 1.5 m, t2 = 5 mm, h2 = 3 m, t3 = 4 mm, h3 = 2.5 m, t4 = 3 mm and h4 = 15.6 m, respectively.

Figure 5 is the plot of the ETOTAL (Total energy for whole model) history data of the two models. The ETOTAL data of the Model 1 throughout kept conservation, while the ETOTAL data of the Model 2 suddenly lost stability at the time about 0.85 s. Figure 6 is the plot of the ALLKE (Kinetic energy for whole model) history data of the two models. The ALLKE data of the Model 1 gradually stabilized, while the ALLKE data of the Model 2 abruptly increased by 5 ~ 6 orders of magnitude at the time about 0.85 s. Figures 5 and 6 evidently indicated that the structural response of the Model 1 was stabilized during the whole loading duration, while the Model 2 underwent unstable buckling. Figure 7 plots the history data of the height direction displacement (U3) of a silo top edge node (marked with a red dot in Figs. 10 and 11, respectively), which further revealed the stability of the Model 1and the instability of the Model 2. Figure 8 is the Von-Mises stress contour of the Model 1 at the end moment of the nonlinear implicit dynamic FE analysis. Figure 9 is the Von-Mises stress contour of the Model 2 at the step time of 0.8732 s, at which point the calculation process was manually terminated since the time increment was getting closer to the minimum value of 10−5s, due to the occurrence of buckling instability. It could be noticed that higher stresses of the Model 1 appeared at the positions where the silo wall-thickness changed, while the stress peak of the Model 2 located at the buckling site. Figure 10 is the height direction displacement (U3) contour of Model 1 at the step time of 1 s and Fig. 11 is the one of Model 2 at the terminated time 0.8732 s. All the aforementioned FE analysis results fully demonstrated that the nonlinear implicit dynamic approach should be suitable for analyzing the structural stability problem of the stepped thin-walled silo under the combined loads of horizontal wall pressures, wall frictional traction, patch pressures and silo self weight.

Fig. 5
figure 5

ETOTAL history data plot of Model 1 and Model 2

Fig. 6
figure 6

ALLKE history data plot of Model 1 and Model 2

Fig. 7
figure 7

U3 displacement history data plot of a labeled top edge node in Model 1 and Model 2

Fig. 8
figure 8

Von-Mises stress contour of Model 1 at step time = 1 s

Fig. 9
figure 9

Von-Mises stress contour of Model 2 at step time = 0.8732 s

Fig. 10
figure 10

U3 displacement contour of Model 1 at step time = 1 s (color figure online)

Fig. 11
figure 11

U3 displacement contour of Model 2 at step time = 0.8732 s (color figure online)

4 Optimization methodology

In this section, the optimization problem definition of a stepped thin-walled cylindrical silo was outlined first, and then the PSO-based solution was proposed. Finally, the optimization algorithms were expressed through MATLAB programming.

4.1 Problem description

The optimization objective of a stepped thin-walled circular silo made of rolled metal plates was to minimize its mass without buckling failure.

Suppose a cylindrical silo has N (N ≥ 1) different wall-thickness steps along the height direction from its bottom to top, namely (t1, h1), (t2, h2), (t3, h3), …, (tN, hN). Where ti (i = 1, …, N) and hi (i = 1, …, N) represent the wall-thickness and the corresponding step height, respectively. Obviously, there is an inequality of t1 > t2 > t3, … , > tN.

The discrete characteristics of the size specification of the commercially available rolled plates set an unavoidable constraint for silo size optimization, which implies that there are only a few specific values of ti could be selected. In addition, the values of plate width are also discrete and a width value is often associated with a number of thickness values (reference to Table 1). For reasons of saving the cutting costs, hi (i = 1, …, N−1) should be an integral multiple of the corresponding width value as far as possible, while the overall height of the silo should be kept still.

As depicted in Fig. 1, the value of N was taken as 4 in this work.

4.2 Solution approach based on PSO

Particle swarm optimization (PSO) is a population-based stochastic and metaheuristic optimization algorithm inspired by social behavior of bird flocking or fish schooling and developed by Eberhart and Kennedy in 1995 [37,38,39]. PSO involves a swarm of particles that represent the potential solutions to the problem. A swarm consists of Np particles moving around an N-dimensional search space, each particle representing a potential solution. The ith particle is characterized by its position vector Xi= [xi1, xi2, …, xiN] and velocity vector Vi= [vi1, vi2, …, viN]. Each particle embeds the relevant information regarding the design variables and associated fitness values providing an indication of its performance in the objective space. Each particle flies through the search space and updates its position based on the best position visited by the particle itself (local best) and by the best among the neighbors of the particle (global best). The velocity and position of the ith particle are updated according to the following equations [40]:

$${\mathbf{V}}_{i}^{k + 1} = w \cdot {\mathbf{V}}_{i}^{k} + c_{1} \cdot r_{1} \cdot ({\mathbf{P}}_{{{\text{best}},i}}^{k} - {\mathbf{X}}_{i}^{k} ) + c_{2} \cdot r_{2} \cdot ({\mathbf{G}}_{\text{best}}^{k} - {\mathbf{X}}_{i}^{k} )$$
(13)
$${\mathbf{X}}_{i}^{k + 1} = {\mathbf{X}}_{i}^{k} + {\mathbf{V}}_{i}^{k + 1}$$
(14)

where c1 and c2 are the cognitive and social learning rates, r1 and r2 are random numbers uniformly distributing in (0, 1), \({\mathbf{P}}_{{{\text{best}},i}}^{k}\) is the best position of the ith particle at iteration k, \({\mathbf{G}}_{\text{best}}^{k}\) is the best position of the whole swarm at iteration k and w is the inertia weight used to control the influence of the previous velocity [41, 42]. A large inertia weight w facilitates the global exploration, which is particularly useful in the initial stages of an optimization. On the contrary, a small value allows for more localized searching, which is useful when the swarm moves near the neighborhood of the optimum. An appropriate value for the inertia weight usually provides balance between exploration and exploitation and consequently results in a better optimized solution [41, 43].

The advantage of PSO method is that it does not rely explicitly on the gradient of the problem to be optimized, so it could be readily employed in a host of optimization problems. This is especially useful when the gradient is too laborious or even impossible to derive [44]. Compared to the other population-based evolutionary computation algorithms such as Genetic Algorithms (GA), the advantages of PSO are that it is easy to implement due to no evolution operators such as crossover and mutation and it has few parameters to adjust [45]. However, PSO has difficulties in controlling the balance between exploration and exploitation. PSO may outperform other evolutionary algorithms in the early iterations, while its performance may not be competitive as the number of generations is increased [46]. PSO might not assure a global optimal solution, but it should be still attractive for searching a reasonable quasi-optimal one at an acceptable computational cost.

The formulation of PSO was based on vector mathematics and thus requires the optimization domain to be a continuous vector space [47]. As an improved version of PSO, Discrete Particle Swarm Optimization (DPSO) was developed for solving discrete optimization problems such as the minimum labeling Steiner tree problem, grid job scheduling, warehouse location problem, sensor deployment problem, p-median problem, traveling salesman problem, data clustering and quadratic assignment problem (QAP) [48, 49], etc. Generally speaking, there exist mainly three types of DPSO algorithm: (1) map the discrete search space into a continuous search space and use a standard PSO (positions of particles are then mapped to the closest position that corresponds to a point in the discrete search space), (2) particles move within a multidimensional probability space and a particle creates a solution randomly such that its position determines the probabilities for choosing the different values in the discrete space, (3) the particles move directly within the search space and the movement is influenced by so called target positions from the search space [47]. Jordehi and Jasni [50] reviewed the strategies adopted in PSO for tackling discrete problems systematically.

In recent years, some DPSO- or PSO-based approaches have been successfully applied in the problems of optimum truss structure design with discrete variables, such as the Heuristic Particle Swarm Optimizer (HPSO) algorithm [51], the Discrete Heuristic Particle Swarm Ant Colony Optimization (DHPSACO) [52], the Attractive And Repulsive Particle Swarm Optimization (ARPSO) [46], the hybrid of improved discrete particle swarm optimization (IDPSO) and method of moving asymptotes (MMA) [53], the modified Lbest based Particle Swarm Optimizer (MLPSO) [54], the hybrid of Harmony Search (HS) algorithm and Global-best PSO [55] and the MO-PS2 framework of Multi-objective Particle Swarm Optimization (MOPSO), Support vector regression (SVR), and Subset simulation (SS) [56], etc. It should be pointed out that, to a certain extent, the problem of stepped silo wall-thickness layout optimization is similar to the sizing optimization problem of truss structure with discrete bar cross-sectional areas, which implies that PSO-based method is suitable for the discrete wall-thickness optimization of step-wise silo.

As a general purpose optimization method, PSO does not require the mathematical gradient to optimize a problem but can be employed directly on the fitness measure to be optimized. The versatility of PSO has received much attention in past years and various attempts have been made to find the variant that performs best on a wide variety of optimization problems. Nevertheless, it is seemed that the focus of those studies have been with making the PSO method more complicated to describe and implement since they are frequently preconceived to increase its adaptability to other optimization problems, while it is probably undesirable as the original version is not well understood to begin with. The work of Pedersen and Chipperfield [44], which was a study on simplifying the PSO method without impairing its performance, took a different approach, in that it did not make any assumptions about what causes an optimization method to work well, and instead of devising more complex variants to the original PSO method, it was instead sought simplified. This is more in accord with the original paradigm of self-organization: that simple individuals cooperate and complex collective behavior emerges. This is also in vein of Occam’s Razor, lex parsimoniae, or the Law of Parsimony which popularly states that simplicity is usually better.

Through combining the standard PSO approach with some numerical processing techniques, such as generating a random number from a uniformly distributed set of discrete positive integers, linear normalization and linear interpolation, etc., this paper implemented the discrete wall-thickness layout optimization of a stepped silo. MATLAB codes were developed to perform the PSO algorithm. Meanwhile, silo nonlinear implicit dynamic FEA results, such as kinetic energy history data plot, total energy history data plot, etc., were used to evaluate particle fitness for PSO velocities updating.

4.3 Algorithm implementation based on MATLAB programming

4.3.1 Array representation of discrete thickness and width data

A 1-by-20 array, Indexed_Thinkness_Width = [3, 4, 5, 6, 7, 8, 9, 10, 12,14; 1.25, 1.25, 1.5, 1.5, 1.5, 1.75, 1.75, 2, 2, 2], was established as the data structure to represent the discrete specification data of AA3003 plates (listed in Table 1).

4.3.2 Random extracting a thickness value from the Indexed_Thinkness_Width array

Following statements of Algorithm 1 were used to randomly extract a thickness data from the Indexed_Thinkness_Width array.

figure a

where MATLB function randi generated a random integer, the index, which was drawn from a uniformly distributed integer set of (1, 2, 3,…, ExtractRange-1, ExtractRange) and was used to return a wall-thickness value. Due to the larger index corresponding to the thicker data in the Indexed_Thinkness_Width array, the logic expression of “if (index >=(NumberofSteps-i) + 1)&&(index < ExtractRange)” and the statement of “ExtractRange = index;” together assured the constraint t1 > t2 > t3 > t4.

4.3.3 Random generating step heights according to sheet metal width data and silo overall height

As shown in Table 1, a discrete value of plate width could be associated with a number of thickness data. To save cutting procedure costs, the step height hi should be an integral multiple of the corresponding width value as far as possible, while the overall height of the silo should be kept still. Following statements of Algorithm 2 randomly generated N stepped heights and the first N-1heights were integral multiples of the corresponding width related to a certain thicknesses.

figure b

where the variable AllocatedHeight, initialized to be zero, was used to record the sum of h1, h2 and h3. The MATLB function floor was called to round a real number to the nearest smaller integer.

4.3.4 PSO-based updates of stepped wall-thicknesses and heights

To facilitate the algorithm description of this section, a swarm with 16 particles (Table 2) was initialized by running the codes described in sections of 4.3.2 and 4.3.3. Table 3 lists the original data of the swarm.

Table 2 Initial data of swarm with 16 particles
Table 3 History stress, mass and buckling results of each particle during 16 iterations

Based on Algorithm 1, Algorithm 2 and PSO formulae [Eqs. (13) and (14)], Algorithm 3 was developed to update the stepped wall-thicknesses and heights during the silo size optimization procedure.

figure c

In Algorithm 3, CurrentSwarm was a 16-by-8 array recording current swarm data. Each line of CurrentSwarm corresponded to a particle, whose wall-thickness data were in the first four columns and the step heights were in the last four columns, respectively. Array NewSwarm had the same structure as CurrentSwarm and stored the latest swarm data for the next upcoming iteration. CurrentVelocity was a 16-by-8 array recording current swarm velocity data. Each line of CurrentVelocity corresponded to a particle, whose wall-thickness updating data were in the first four columns and the updates of step heights were in the last four columns, respectively. In this study, all elements of CurrentVelocity were initialized to be zero. Array NewVelocity had the same structure as CurrentVelocity and stored the latest updating data of wall-thicknesses and step heights for the next upcoming iteration. CurrentGroupBest was a 1-by-8 array recording the data of the current best particle of the whole swarm. CurrentParticleBest was a 16-by-8 array and each line of it recorded the current best data of a single particle. The MATLAB function rand returned a single uniformly distributed random number in the interval (0, 1). Current_tmax was a 16-by-1 array recording the available maximum wall-thickness for the next step of a particle. To ensure the new randomly generated wall-thickness was one of the optional discrete wall-thickness, it was first linearly normalized to a variable temp∈ (0, 1). Then the variable Discrete_Thickness_Index, which was used to return the closest discrete wall-thickness corresponding to the new randomly generated wall-thickness, was calculated through linear interpolation and rounding up operation. Furthermore, through the temporary variables Update1 and Update2, the 16-by-7 array Trial_times recorded the numbers of cycles to randomly generate the proper wall-thickness data in its first four columns, and the amount of loops to randomly generate the first three step heights, which should be the integral multiples of the related plate width, were stored in the last three columns of Trial_times.

4.3.5 Fitness evaluation and iteration stopping criteria

In this work, the fitness of each particle was evaluated by silo weight corresponding to its stepped size data and silo structure stability. Once a lighter silo without buckling failure appeared, the best solution of that particle was updated. The best particle of the whole swarm was determined when all particles finished the updates of their own best data. The best solution of each particle was determined according to the following principles: (1) the stable solution was better than the buckling solution; (2) the lighter stable solution was better than the heavier stable solution; (3) the heavier buckling solution was better than the lighter bucking solution. The swarm’s best solution was determined following the same principles.

The iteration procedure of the stepped silo wall-thicknesses optimization would be terminated, when the best values of more than 80% particles were consistent with the best value of the whole swarm or when the optimum iterations exceed 100 times.

5 Optimization data and results

Based on Algorithms 1–3 and the nonlinear implicit dynamic FE analyses, the optimal discrete wall-thicknesses and related heights of the 4-stage AA3003 cylindrical silo were obtained after 16 iterations. Figure 12 integrally demonstrates the historical data of each particle during the entire PSO-based iterative processes. Table 3 lists the overall stress, mass and buckling results of each particle during the whole PSO optimization iterations. Figure 13 shows the historical data of each particle’s best solution during 16 iterations and Table 4 presents the stress and mass data of each particle in corresponding iteration procedure. Table 5 displays the searching progress of the whole swarm’s best solution in the iterative procedures. According to the iteration stopping criteria described in Sect. 4.3.5 and the data listed in Tables 4 and 5, it could be determined that the optimal combination of the stepped wall-thickness and corresponding height of the 4-stage AA3003 cylindrical silo described in Sect. 2 was: (t1 = 7 mm, h1 = 1.5 m), (t2 = 5 mm, h2 = 4.5 m), (t3 = 4 mm, h3 = 3.75 m) and (t4 = 3 mm, h4 = 12.85 m).

Fig. 12
figure 12figure 12

History data of each particle during 16 iterations

Fig. 13
figure 13figure 13

History data of each particle’s best solution during 16 iterations

Table 4 History stress and mass data of each particle’s best solution during 16 iterations
Table 5 Data of the whole swarm best particle during optimization procedure

It could be seen from Table 4 that after about 11 iterations most of the particles seemed to have realized the optimal discrete wall-thicknesses should be 7 mm, 5 mm, 4 mm and 3 mm, respectively. Then the corresponding optimum step heights, 1.5 m, 4.5 m, 3.75 m and 12.85 m, had been basically locked after the next 3 iterations. And the swarm’s best solution listed in Table 5 also happened to remain stable from the 11th iteration until the optimization process terminated.

Figure 14 is the Von-Mises stress contour of the obtained optimal 4-stage AA3003 cylindrical silo at the end moment of the nonlinear implicit dynamic FE analysis. Figure 15 is the U3 displacement contour of the obtained optimal stepped silo at step time of 1 s. Figure 16 shows three nonlinear implicit dynamic FEA history data plots of the optimal stepped silo: the U3 displacement of one top edge node (marked in Fig. 15), the ALLKE and the ETOTAL, respectively. The gradual stabilization of the ALLKE and ETOTAL data indicated that the optimal stepped silo was stable throughout the loading duration and no buckling occurred.

Fig. 14
figure 14

Von-Mises stress contour of the obtained optimal stepped silo at step time = 1 s

Fig. 15
figure 15

U3 displacement contour of the obtained optimal stepped silo at step time = 1 s

Fig. 16
figure 16

U3 displacement (of a top edge node), ALLKE and ETOTAL history data plots of the obtained optimal stepped silo

Table 6 demonstrates the data of array Trial_times in iteration 12. Trial_times was used to record the number of random integer sampling attempts to generate an appropriate thickness or height for a particle. As listed in Table 6, normally the data of t1, t2, and t3 could be successfully generated by random integer sampling just once, while the data of t4, h1, h2 and h3 sometimes would be drawn multiple times. A large number of tests confirmed that the maximum attempt number of the random integer drawing would not exceed 20 times, which implied that the proposed algorithms were efficient and robust.

Table 6 Data of array Trial_times at iteration 12

To further verify the structural stability of the obtained optimal stepped silo, the linear elastic bifurcation analysis (LBA) and geometrically nonlinear elastic analysis (GNA) were performed using ABAQUS/STANDARD, respectively. Figure 17 shows the first 6 buckling modes of the LBA. It should be pointed out that due to the existence of the patch load, the buckling modes of the stepped silo present asymmetry. Furthermore, it could be also noticed that the optimal stepped silo has a series of closely spaced eigenvalues, which normally indicates that the structure is imperfection sensitive and the linear eigenvalue analysis might be insufficient for design evaluation, while the GNA method is relatively more reliable and necessary. Figure 18 displays the Load Proportionality Factor (LPF) curve of the obtained optimal stepped silo by running the static Riks procedure, which is the method of ABAQUS for solving geometrically nonlinear buckling or collapse behavior. The first buckling LPF value 1.07557 just demonstrates that the implicit dynamic method adopted in this paper is suitable for the silo FE analysis and the PSO method did find the best optimal discrete size data combination of the stepped silo under the constraints of minimum quality and structural stability. In addition, it also confirms that it is feasible and reliable to assess silo buckling instability according to the dramatic shift of the ALLKE curve or ETOTAL curve of the implicit dynamic FEA. It should be emphasized that the silo loads used in the LBA and GNA were 1.6 times of the prescribed values of the Eurocode EN 1991-4:2006 and that code itself is relatively conservative, which means even the GNA buckling strength of the PSO-based optimal stepped silo was still sufficient. Figure 19 shows several displacement results of the GNA process.

Fig. 17
figure 17

The first 6 buckling modes of LBA for the obtained optimal stepped silo by PSO

Fig. 18
figure 18

The LPF curve of the GNA for the obtained optimal stepped silo by PSO

Fig. 19
figure 19figure 19

Several displacement results of the GNA for the obtained optimal stepped silo by PSO

Moreover, to compare the PSO-based optimal stepped silo with another silo configuration obtained by other sizing optimization method or software tool, a solution of Geometry Optimization based on the commercial software Siemens NX 8.5 was performed. Because of the NX geometric optimization depending on the sensitivity analysis of continuous variables, it is necessary to establish the relationship between the optimal design variables and the discrete size parameters of the stepped silo. As shown in Fig. 20, the optimal design variables THi (i = 1, 2, 3, 4) and nj (j = 1, 2, 3) were intrinsically correlated with the stepped silo thickness data ti (i = 1, 2, 3, 4) and the corresponding height data hj (j = 1, 2, 3) through relevant logical expressions, respectively. For example, assuming TH1 = 7.82 mm, TH2 = 8.17 mm, TH3 = 7.23 mm and TH4 = 5.86 mm, then according to the ti (i = 1, 2, 3, 4) formulae expressed in Fig. 20, it will conclude that t1 = 8 mm, t2 = 7 mm, t3 = 6 mm and t4 = 5 mm, which satisfies the constraint of t1 > t2 > t3 > t4 proposed in Sect. 4.1. And then suppose n1 = 1.33, n2 = 2.86 and n3 = 3.74, in accordance with the hi (i = 1, 2, 3) formulae expressed in Fig. 20 and the data listed in Table 1, it reaches that h1 = 1.75 m, h2 = 4.5 m and h3 = 6.0 m, which realizes the condition that the first three stepped heights should be integer multiples of the corresponding width values. Figure 21 reflects the initial values, upper limits and lower limits of the design variables for the stepped silo NX geometric optimization. During the NX Geometry Optimization procedure, the FEA solution type was SOL 106 Nonlinear Statics of NX Nastran solver and the Altair HyperOpt served as the optimizing solver.

Fig. 20
figure 20

Logical expressions between optimal design variables and the stepped silo discrete size data

Fig. 21
figure 21

Data settings of the NX geometric optimization design variables

Figure 22 shows a concise spreadsheet report of the stepped silo NX geometric optimization result. In the optimal iteration process, the spreadsheet was automatically updated by NX. Obviously, after 99 iterations, the geometric optimization of NX failed to converge to an optimal discrete size combination of stepped silo. Figures 23 and 24 demonstrate the variations of the design variables and the stepped silo discrete size data in the NX geometric optimization process, respectively. It seems that the NX sizing optimization process fell into a trap of a structurally unstable data combination (t1 = 6 mm, h1 = 1.5 m; t2 = 5 mm, h2 = 4.5 m; t3 = 4 mm, h3 = 3.75 m; t4 = 3 mm, h4 = 12.85 m), which was completely consistent with the PSO-based optimal solution just except the value of t1. The performance of the NX geometric optimization just right proves that the proposed PSO-based method for discrete sizing optimization of stepped cylindrical silo is more efficient and robust. Because the NX geometric optimization used continuous variables THi (i = 1, 2, 3, 4) and nj (j = 1, 2, 3) to calculate sensitivity, while the stepped silo structure updating was based on the discrete variables ti (i = 1, 2, 3, 4) and the hj (j = 1, 2, 3), that inconsistency led to a poor convergence rate of NX silo sizing optimization. It could be optimistically expected that with the increase of iteration times, the NX geometric optimization might converge to the best result consistent with the PSO-based method.

Fig. 22
figure 22

Spreadsheet report of NX geometric optimization of stepped silo

Fig. 23
figure 23

Diagram of the design variables in the NX geometric optimization process

Fig. 24
figure 24

Diagram of the stepped silo discrete size data in the NX geometric optimization process

6 Conclusions

The harmony of safety, manufacturability and economy for load-carrying engineering structures has ever been being sought. The solution to such problem requires not only refined and realistic mathematical models of the structures, but also sufficiently accurate, reliable and efficient numerical methods and procedures to drive the structural design to an acceptable optimum configuration. Considering the dimensional discreteness of commercially available metal plates, this paper combined the PSO method with the nonlinear implicit dynamic FE analysis to optimize the wall-thickness distribution for a stepped cylindrical silo composed of AA3003 plates, with the objective of minimizing the mass of silo without buckling. In essence, the optimal wall-thickness layout problem for a stepped cylindrical silo is an NP-hard combinational optimization problem with constraints. The following conclusions could be drawn from the results of this study:

  • The nonlinear implicit dynamic approach was applicable for analyzing the structural stability of slender silo under the combined loads of horizontal wall pressures, wall frictional traction, patch pressures and self weight.

  • When evaluating the fitness of each particle, it was quite intuitive to use the plots of implicit dynamic FEA history data, such as ALLKE, ETOTAL and height direction displacement of node on silo top edge, etc., to determine whether silo buckling occurred or not.

  • Taking into account both practicality and reliability, silo loads determined according to EN 1991-4:2006 were all amplified by a factor of 1.6 in this work. That amplification coefficient tried to reflect the comprehensive influences of negative and positive factors on slender silo buckling strength.

  • It was numerically efficient and robust to combine the standard PSO method with the proposed algorithms based on random integer sampling to optimize the discrete wall-thicknesses and corresponding heights for a stepped silo.

  • During the entire optimization procedure, most of the iterations were primarily used to search for the optimal stepped silo wall-thickness combination. Once such a combination was determined, the corresponding optimal step height combination could be quickly obtained within a few iterations subsequently.

  • Obviously, the stepped silo optimal wall-thicknesses and corresponding heights obtained in this work were sensitive to the silo load amplification coefficient, the learning rates and the inertia weights for PSO velocities updating, the stopping conditions for optimization process, the finite element type and size, the discharge eccentricity, the bulk solid wall friction coefficient and the patch load solid reference factor, etc. It could be sure that all those sensitive factors would not affect the applicability and feasibility of the optimization methodology proposed in this paper, although they would need to be further confirmed or revised in future work.