1 Introduction

The development of new concepts for lightweight structures has been overwhelmingly exploited in several fields, mainly in aeronautical and aerospace structures, to comply with Green Aviation for enhancing fuel efficiency and decrease aviation emissions towards reaching carbon-neutral air transportation. A practical and direct manner to improve the energy efficiency and reduce the fuel consumption of an aircraft is by reducing the mass of its components (Zhu et al. 2018), achieving carbon footprint reduction and better flight performance. Both aeronautical and space industries have been continuously developing new concepts for lightweight structures to pursue these benefits, where fiber-reinforced composite materials play a major role. Figure 1 illustrates the evolution of the use of composites in aeronautics over the last 60 decades.

Fig. 1
figure 1

Utilization of fiber-reinforced composites in aircraft over the last decades

In 2017, NASA designed, optimized, manufactured and tested a variable-angle tow (VAT) wing for optimal passive load alleviation, proving that the use of fiber steering through automated fiber placement (AFP) manufacturing is more structurally efficient than conventional straight-fiber-reinforced composite wings (Brooks and Martins 2018).

Liguori et al. (2019) optimized a wingbox section using genetic algorithms (GA) including manufacturing constraints of the AFP process. They achieved a wingbox 6.48% lighter, with higher buckling strength when compared with the initial straight-fiber baseline structure. Tailoring a particular property for laminated composites by means of in-plane fiber angle variation is proven to be efficient for variable-angle tow (VAT) composites. For example, in the first attempt to develop such VAT composites, Hyer and Lee (1991) obtained higher buckling loads for simply supported open-hole laminates under uni-axial compression loading. Thenceforth, several approaches have been developed based on the advancement of both computational approaches and manufacturing techniques for composite materials.

Modern aircraft have their fuselages made of carbon fiber-reinforced polymer (CFRP) composites, which makes cylindrical unstiffened shells (Degenhardt et al. 2014) of particular importance towards understanding and further reducing aircraft overall mass. In spacecraft, monocoque structures are commonly built of unstiffened shells, requiring conservative knock-down factors to account for the high sensitivity of the buckling strength towards geometric and load imperfections (Castro et al. 2014a). The full potential of CFRP composites in these components is still under-explored, and an efficient strategy to take full advantage of these materials consists of reducing their masses while keeping their structural performance. The state-of-the-art on mass minimization of composite shells is scarce, as discussed next, with most of the studies focusing on optimization problems that seek minimum compliance for a given mass. Pelletier and Vel (2006) developed a multi-objective optimization of composite cylinders for strength, stiffness and minimal mass via the layerwise tailoring of fiber angles and fiber volume fraction. Although some enhancements were found, it was difficult to find a layout with reasonable compromise among the three objective functions utilized. Sadeghifar et al. (2010) optimized stiffened cylindrical shells for minimum mass and maximum axial buckling load using a GA, finding that I-section stiffeners are more effective than rectangular ones to achieve panels with reduced mass. Ghasemi and Hajmohammad (2017) proposed a multi-objective optimization of composite shells under external pressure for minimum mass and maximum buckling pressure using GA. They reached a mass reduction of 12% while respecting the desired buckling pressure.

In general, optimizations based on GA require thousands of function evaluations, becoming therefore limited due to the high computational cost. An appropriate strategy to improve the efficiency of these optimizations is to employ metamodels, which are computationally efficient surrogate models that approximate the high-fidelity response using approximated functions, such as hyper-surfaces. Rouhi et al. (2015) optimized VAT cylindrical shells for maximizing the buckling load using radial basis functions as surrogates and GA to find the optimum in the surrogate model. Blom et al. (2009) used design explorer tools (Booker et al. 1999) as surrogates to minimize the buckling load of VAT composite cylinders. Recently, Wang et al. (2020) developed a new accelerated Kriging metamodeling scheme to restrict the area of interest within an optimization framework to maximize the buckling load of VAT composite cylinders manufactured by filament winding, designated as variable-angle filament-wound—VAFW.

This non-extensive state-of-the-art revealed that:

  • no work on mass minimization for VAT composite cylinders manufactured by filament winding (FW), the most suitable and fastest manufacturing process for composite cylinders;

  • lack of works using metamodels for training FE models for minimizing mass under buckling constraints of VAT cylinders;

  • lack of exploitation of several metamodels to find the most suitable one for VAFW cylinders; and

  • no reports exploiting the tow overlapping feature of the FW process.

To fulfill these gaps, the present work proposes an optimization framework to minimize the mass of VAFW cylinders constrained by design loads for uni-axial buckling strength. Three Kriging-based metamodels are developed to approximate the buckling load and mass of the VAFW cylinders, namely: classical Kriging, Co-Kriging, and Accelerated-Kriging. The finite element analyses used to accurately calculate the buckling load and mass are performed using a single-curvature Bogner–Fox–Schmit–Castro (BFSC) (Castro and Jansen 2021), consisting of an enriched rectangular four-node element with ten degrees-of-freedom per node to achieve third-order interpolation for the displacement field. The high-order approximation combined with 16 integration points makes this element a suitable and fast-converging approximation to represent shells with variable stiffness. The FE model takes into consideration the manufacturing characteristics of the FW process, and can accurately represent the variable stiffness properties according to the proposed design parameterization. The FE predictions from the single-curvature BFSC model for different design loads are verified against a general purpose shell element of a commercial FE software. The design optimizations are performed using Particle Swarm Optimization (PSO) coupled with the Kriging metamodels, and the optimum designs are verified against a conventional GA optimization coupled with the BFSC finite element models. A vast analysis on the design space is performed using Kriging-based metamodels, showing the ranges of mass and buckling strength for different number of layers; with the possible mass range for different design loads also determined.

2 Design parameterization

The pioneering work of Wang et al. (2020) on reliability-based design optimization of variable-angle filament-wound (VAFW) cylinders, compared different VAFW designs and found that the maximum buckling load was achieved by the design named VAFW-P, with ”P” being an abbreviation for parabolic, indicating that the winding angle distribution \(\theta (x)\) varies along the longitudinal direction following the second-order Lagrange polynomial given in Eq. 1 (de Quadros and Hernandes 2018). Each angle-ply layer consists of two plies of angles \(\pm \theta (x)\) controlled by three design variables \({\theta _{1}^\mathrm{VP}}\), \({\theta _{2}^\mathrm{VP}}\) and \({\theta _{3}^\mathrm{VP}}\) that are the control points for the second-order Lagrange polynomial. In order to produce an angle distribution that is symmetric about the middle cross section at \(x=L/2\), the control points are positioned in the order \({\theta _{1}^\mathrm{VP}}\), \({\theta _{2}^\mathrm{VP}}\), \({\theta _{3}^\mathrm{VP}}\), \({\theta _{2}^\mathrm{VP}}\), \({\theta _{1}^\mathrm{VP}}\); respectively at positions \(x_1=0\), \(x_2=L/4\), \(x_3=L/2\), \(x_4=3L/4\), \(x_5=L\). Figure 2 illustrates an incomplete angle-ply layer where the blue region is a group of adjacent filaments that create the ply with the positive angle distribution \(+\theta (x)\). The gray region represents the ply with negative angle distribution \(-\theta (x)\). Note how the variable-angle filaments overlap when moving from regions of lower \(\theta (x)\) to regions of larger \(\theta (x)\) values. In the present work, the VAFW-P parameterization is used to find optimum designs of minimum mass for different given design load levels, whereby the number of angle-ply layers and the winding angle distribution in each layer are the design variables to be determined.

$$\begin{aligned} \theta (x)=\left\{ \begin{array}{c} N_1 \theta _{1}^\mathrm{VP} + N_2 \theta _{2}^\mathrm{VP} + N_3^L \theta _{3}^\mathrm{VP}, \quad x \le \frac{L}{2} \\ N_3^R \theta _{3}^\mathrm{VP} + N_4 \theta _{2}^\mathrm{VP} + N_5 \theta _{1}^\mathrm{VP}, \quad x > \frac{L}{2} \end{array}\right. ,\end{aligned}$$
(1)

where:

$$\begin{aligned} \begin{array}{c} N_1 = \frac{\left( x-x_{2}\right) \left( x-x_{3}\right) }{\left( x_{1}-x_{2}\right) \left( x_{1}-x_{3}\right) }; N_2 = \frac{\left( x-x_{1}\right) \left( x-x_{3}\right) }{\left( x_{2}-x_{1}\right) \left( x_{2}-x_{3}\right) }\\ N_3^L = \frac{\left( x-x_{1}\right) \left( x-x_{2}\right) }{\left( x_{3}-x_{1}\right) \left( x_{3}-x_{2}\right) }; N_3^R = \frac{\left( x-x_{4}\right) \left( x-x_{5}\right) }{\left( x_{3}-x_{4}\right) \left( x_{3}-x_{5}\right) }\\ N_4 = \frac{\left( x-x_{3}\right) \left( x-x_{5}\right) }{\left( x_{4}-x_{3}\right) \left( x_{4}-x_{5}\right) }; N_5 = \frac{\left( x-x_{3}\right) \left( x-x_{4}\right) }{\left( x_{5}-x_{3}\right) \left( x_{5}-x_{4}\right) } \end{array} ,\end{aligned}$$
(2)
Fig. 2
figure 2

VAFW-P parameterization with three design variables \(\theta _1^\mathrm{VP}\), \(\theta _2^\mathrm{VP}\) and \(\theta _3^\mathrm{VP}\) per angle-ply layer consisting of two plies with winding angle distribution \(\pm \theta (x)\)

As explained in Wang et al. (2020), for VAFW cylinders the thickness distribution of the \(k{\rm th}\) ply given by \(h_k(x)\) changes due to filament bending, filament shearing or any combination of both (Wang et al. 2020), and the thickness increase is necessary to keep a constant volume (Castro et al. 2019; Vertonghen and Castro 2021), leading to the following nonlinear dependence of \(h_k(x)\) with the winding angle distribution \(\theta (x)\):

$$\begin{aligned} h_k(x) = \frac{h_\mathrm{tow}}{\cos {\varDelta \theta (x)}} \end{aligned}$$
(3)

with \(h_\mathrm{tow}\) being the filament thickness; and \(\varDelta \theta (x)\) the filament steering angle. The steering-thickness coupling of Eq. 3 poses yet another challenge for the design and optimization, where the mass of VAFW cylinders becomes not only a function of the number of angle-ply layers, but also depends on the winding angle distribution \(\theta (x)\). For FW process, it is still unknown whether the variable-angle filaments are driven by either tow bending or shearing (Wang et al. 2020). However, this assumption does affect the variable thickness calculation described in Eq. 3, hence not effecting the stiffness nor the inertia models. The hoop spacing between two adjacent filaments at a given longitudinal position over the cylinder is determined by Wang et al. (2020):

$$\begin{aligned} \varDelta c = \frac{w_\mathrm{tow}}{\cos {\theta (x)}}. \end{aligned}$$
(4)

According to Eq. 4, when \(\max {(\theta (x))}\) is chosen to define a constant value for \(\varDelta c\) to be used throughout the cylinder, gaps appear in regions where \(\theta (x) < \max {(\theta (x))}\), as illustrated in the gap design of Fig. 3. Conversely, if \(\min {(\theta (x))}\) is used to calculate \(\varDelta c\), it creates overlaps where \(\theta (x) > \min {(\theta (x))}\), as depicted in the overlap design of Fig. 3. The present study adopts the overlap design for all cases, meaning that the filament steering angle \(\varDelta \theta (x)\) of Eq. 3 is calculated with respect to the minimum filament angle as \(\varDelta \theta (x) = \theta (x) - \min {\left( \theta (x)\right) }\), for \(0 \le x \le L\).

Fig. 3
figure 3

Tow kinematics in filament winding with VAT (Wang et al. 2020). Top: gap design. Bottom: overlap design

The geometry of all cylinders herein optimized is fixed, with a radius of \(r=0.15\ {\rm m}\), and length of \(L=0.3\ {\rm m}\). The orthotropic material properties of the filaments are: \(E_{11} = 90\ {\rm GPa}\), \(E_{22} = 7\ {\rm GPa}\), \(\nu _{12} = 0.32\), \(G_{12} = G_{13} = G_{23} =4.4\ {\rm GPa}\); with a filament thickness of \(h_\mathrm{tow}=0.4\ {\rm mm}\). The material density is \(\rho = 1600\,{\rm kg}/{\rm m}^3\).

3 Design optimization

The VAFW designs are defined by the number of layers \(N_L\) and the angle distribution for each layer, controlled by \(\theta _{i,L}^\mathrm{VP}\) with \(i=1,2,3\) and \(L=1,\ldots ,N_L\). The angles at the control points are limited by a lower-bound value \(\theta ^L\), being the minimum winding angle; and by a upper-bound value \(\theta ^U\), being the maximum winding angle. The designs are optimized for minimum mass \(M(\theta _{i,L}^\mathrm{VP}, N_L)\) subject to different design load levels \(\lambda _d= 50\,{\rm kN}\), \(100\,{\rm kN}\), \(200\,{\rm kN}\), \(500\,{\rm kN}\), and \(1000\,{\rm kN}\), and constrained by linear buckling \(\lambda _{\rm cr}(\theta _{i,L}^\mathrm{VP}, N_L)\); in the following optimization problem:

$$\begin{aligned} \begin{array}{l} {\rm Find}: \theta _{i,L}^\mathrm{VP}, N_L; \text{for } i=1,2,3; \text{ and: } L=1,\ldots ,N_L\\ {\rm Minimize:} \, M(\theta _{i,L}^\mathrm{VP}, N_L) \\ {\rm Subject}\;{\rm to}: \lambda _{\rm cr}(\theta _{i,L}^\mathrm{VP}, N_L)>\lambda _{d} \\ \theta ^{L} \le \theta _{i,L}^\mathrm{VP} \le \theta ^{U}; \text{for } \theta ^{L}=3.3^\circ \text{ and } \theta ^{L}=87.7^\circ \end{array} \end{aligned}$$
(5)

The proposed optimization scheme is illustrated in the flowchart of Fig. 4. Before the optimizations for a given design load, the metamodels are trained for the range of desired design loads to map the boundaries of linear buckling load and mass for each number of layers. The optimization starts with the definition of the design load. Next, the metamodels are trained to approximate \(M(\theta _{i,L}^\mathrm{VP}, N_L)\) and \(\lambda _{\rm cr}(\theta _{i,L}^\mathrm{VP}, N_L)\), as detailed in Section 5. The training procedure is performed by adding new samples in every successive iteration based on the predicted maximum mean squared error (MSE). With the trained metamodels, the boundaries of linear buckling load for a given number of layers \(N_L\) are determined by means of Latin Hypercube Sampling with 5000 samples.

The optimization to find the designs with minimum mass for a given design load is summarized as:

Part i: Find candidate cylinders (\(N_L\) = 1, 2, 3, 4) for a given buckling load:

  • Exploring the lower and upper boundaries in terms of buckling loads for cylinders with different number of layers (\(N_L\) = 1, 2, 3, 4);

  • Find and keep candidate cylinders whose buckling loads are higher than the design load.

Part ii: Find the optimum design with minimum mass while respecting the buckling load boundaries defined in Part i:

  • build two surface responses: buckling load and mass;

  • run the PSO optimizer using the fitness function defined in Eq. 5, where the buckling load and mass metamodels are called at each iteration;

  • repeat the previous step until the global minimum for the mass is reached.

Fig. 4
figure 4

Flowchart of the proposed PSO-MM framework

4 Linear buckling constraint modeling

The linear buckling constraint \(\lambda _{\rm cr}(\theta _{i,L}^\mathrm{VP}, N_L)\) is calculated by means of finite element modeling based on a single-curvature Bogner–Fox–Schmit–Castro element (SC-BFSC). This element is herein developed to combine the high-order interpolation of the BFSC with cylindrical shell kinematics, aiming to achieve a computationally efficient and yet accurate representation of the variable stiffness shells under investigation. The BFSC finite element (Bogner et al. 1966; Castro and Jansen 2021) is a C1 contiguous confirming plate element obtained from tensor products of cubic Hermite splines. With 4 nodes per element and 10 degrees-of-freedom per node, the BFSC approximates the in-plane and out-of-plane displacements using third-order polynomials, being a fast-converging method for an accurate representation of the linear buckling constraint. Figure 5 illustrates a SC-BFSC element and a global coordinate system xyz, where coordinate y is curvilinear following the circumferential perimeter, such that at \(y=2\pi r\) the path closes on itself. The nodal connectivity is also indicated, and the mesh is built to keep the element edges parallel to the xy coordinates, such that \(\ell _x = x_2-x_1=x_3-x_4\), and \(\ell _y = y_4-y_1 = y_3-y_2\). Figure 6 shows the mesh closing on itself at the intersection of elements \(e_{\rm in}\) with elements \(e_{i1}\).

Fig. 5
figure 5

Single-curvature BFSC element and the global coordinate system xyz

Fig. 6
figure 6

SC-BFSC mesh for the VAFW cylinders

The linear buckling problem consists of finding the value of \(\lambda\) that leads to:

$$\begin{aligned} \det {\left( \pmb {K} + \lambda \pmb {{K_G}_{0}}\right) } = 0, \end{aligned}$$
(6)

where \(\pmb {K}\) and \(\pmb {{K_G}_0}\) are respectively the constitutive and geometric stiffness matrices of the system, described in detail in Appendix 1. For a system with n unknown degrees-of-freedom, there are n eigenvalues that are roots of the characteristic polynomial obtained with Eq. 6. In practice, the eigenvalues and corresponding buckling modes are solved using generalized eigenvalue solvers that are able to efficiently extract only a desired number of eigenvalues and buckling modes, and in the present work the locally optimal block preconditioned conjugate gradient method (Knyazev 2001) implemented in SciPy (Virtanen et al. 2020) is used.

The integration of the constitutive and geometric stiffness matrices over the finite element domain are performed numerically using standard Gauss-quadrature with \(4 \times 4\) integration points per element. The authors verified that this amount of integration points leads to a converged behavior that is capable to accurately represent the variable stiffness of the VAFW cylinders. For each integration point, the local shell constitutive properties given by matrices \(\pmb {A},\pmb {B},\pmb {D}\) are calculated based on the winding angle distribution \(\theta (x)\) of each angle-ply layer. While computing the constitutive matrices, the local thickness of each ply is consistently calculated according to Eq. 3. The elements of the constitutive matrices are functions of x, given by \(A_{ij}(x)\), \(B_{ij}(x)\), \(D_{ij}(x)\), and are calculated with:

$$\begin{aligned} \begin{matrix} A_{ij}(x) = \sum \limits _{k=1}^{n}Q_{ij}(x)\left( z_k(x) - z_{k-1}(x)\right) \\ B_{ij}(x) = \sum \limits _{k=1}^{n}Q_{ij}(x)\frac{1}{2}\left( z_k(x)^2 - z_{k-1}(x)^2 \right) \\ D_{ij}(x) = \sum \limits _{k=1}^{n}Q_{ij}(x)\frac{1}{3}\left( z_k(x)^3 - z_{k-1}(x)^3 \right), \end{matrix} \end{aligned}$$
(7)

where n is the number of plies; \(Q_{ij}(x)\) is the ply stiffness rotated by the local winding angle \(\theta (x)\) (Reddy 2003); \(z_k(x)\) defines the position of the outward face of the \(k{\rm th}\) ply. For a correct representation of the filament winding process, the inner face of the filament-wound cylinder must coincide with the mandrel radius. Therefore, the values of \(z_k(x)\) are offset by a quantity d(x) such that \(z_{k-1} = 0\) for the first ply, as illustrated in Fig. 7. The correct d(x) value is half of the total thickness:

$$\begin{aligned} d(x) = \frac{1}{2}\sum \limits _{k=1}^{n}{h_k(x)}, \end{aligned}$$
(8)

where \(h_k(x)\) is the local thickness of each ply as per Eq. 3. Appendix 3 presents a verification of the proposed finite element formulation compared with the multipurpose shell element S4R from Abaqus Smith (2019).

Fig. 7
figure 7

a Incorrect ply distribution with a constant mid-surface at \(z=0\); and b correct ply distribution with a varying offset d(x) applied to the mid-surface. The outward face position of all plies \(z_k(x)\) for \(k=1,2,\ldots ,6\) are shown

5 Kriging metamodels

Three Kriging metamodels are considered, namely: classical Kriging, co-Kriging, and accelerated-Kriging; aimed to approximate the buckling load and mass of the VAFW cylinders possessing different number of layers \(N_L\) and different winding angles \({\pm \theta }\). After an initial Latin Hypercube Sampling (LHS), the first metamodel is assembled and further trained until all convergence requirements are satisfied, and this convergence depends on the number of variables and the degree of nonlinearity of the response surface. For all metamodels of the present study, two convergence criteria, CC1 and CC2, are adopted:

CC1: The predicted response error of both lower and upper boundaries must be less than a given threshold c. Then, CC1 is determined as:

$$\begin{aligned} {\rm Error}_{{\rm lower}}^i< c \quad \text{and}\quad {\rm Error}_{{\rm upper}}^{i} < c, \end{aligned}$$
(9)

where \({{\rm Error}_{\rm lower}^i}\) and \({{\rm Error}_{\rm upper}^{i}}\) are the errors of the lower and upper boundaries in the \({i{\rm th}}\) training process, respectively. The Error is then defined as:

$$\begin{aligned} {\rm Error}=\frac{\left| \hat{y}(\theta _{c})-y(\theta _{c})\right| }{y(\theta _{c})}, \end{aligned}$$
(10)

where \({\hat{y}(\theta _{c})}\) and \({y(\theta _{c})}\) are the predicted response and the true response of the candidate sample \({\theta _{c}}\) in design region, respectively. Three thresholds c are set to \({5\%, 3\%, 1\%}\) and applied to find the buckling load and mass limits of all cylinders. Each threshold generates particular limits and they will be useful to select the threshold with the widest range in terms of both buckling load and mass to enlarge the design space, therefore, increasing the chances of reaching higher improvements.

CC2: The error for both lower and upper boundaries in two consecutive iterations should be less than the given threshold c, which is determined as:

$$\begin{aligned} \left\{ \begin{array}{l} \text{Error}_{{\rm lower}}^{i}<c \text{ and } \text{Error} _{{\rm upper}}^{i}<c \\ \text{ Error}_{{\rm lower}}^{i-1}<c \text{ and } \text{ Error}_{{\rm upper}}^{i-1}<c \end{array}\right. \end{aligned}$$
(11)

The training process stops if the two converge criteria are met. Then, the lower and upper boundaries of the buckling load and mass can be estimated as:

$$\begin{aligned} \left\{ \begin{array}{l} B_{{\rm lower}}=\min \left[ p_{{\rm lower}}^{i-1}, p_{{\rm lower}}^{i}\right] \\ B_{{\rm upper}}=\max \left[ p_{{\rm upper}}^{i-1}, p_{{\rm upper}}^{i}\right] \end{array}\right. \end{aligned}$$
(12)

In the following sub-sections, each metamodel is explained in detail.

5.1 Classical Kriging

For the classical Kriging metamodel, the spatial association between the design variables and the responses is expressed as:

$$\begin{aligned} \hat{f}(\pmb {x})=\pmb {h}(\pmb {x})^{T} \pmb {v}+\varDelta (\pmb {x}), \end{aligned}$$
(13)

where \(\hat{x}\) is the predicted response, \(\left[ h_{1}(\pmb {x}), h_{2}(\pmb {x}), \ldots , h_{n}(\pmb {x})\right]\) is a vector of regression function which is also known as the trend of the prediction based on available samples, \(\left[ v_{1}, v_{2}, \ldots , v_{n}\right]\) is a vector of coefficients, and \(\varDelta (\pmb {x})\) is a Gaussian process with zero mean and covariance \({\rm cov}\left( \varDelta \left( \pmb {x}_{i}\right) , \varDelta \left( \pmb {x}_{j}\right) \right)\).

The initial random sample space generated through LHS has a population size of ten times the number of design variables, as recommended by Forrester et al. (2007). After that, the true responses for buckling load and mass are calculated by the FE analysis (FEA) described in Sect. 4. Then, the initial samples and responses are used to construct the initial Kriging metamodel (Lophaven et al. 2002). A training process follows to locate and add new samples into the metamodel, with new training samples selected as the design space location with maximum estimated MSE, being the estimated MSE calculation detailed in Appendix 2. The training is repeated until the convergence criteria of Eqs. 9 and 11 are satisfied. In addition, the lower and upper boundaries of the response in the design region are determined by Eq. 12. A detailed description of the procedure is given in Table 1.

Table 1 Detailed procedure of the classical Kriging metamodel for an arbitrary cylinder with one \(\pm \theta (x)\) layer

5.2 Co-Kriging

In co-Kriging, the metamodel is built with two sets of data, one set named expensive data \({(\theta _e,y_e)}\) that are more computationally costly, while the other set is called cheap data \({(\theta _c,y_c)}\) (Zhou et al. 2020). These two sets of data are independent of each other. The response \({y_e}\) at \({\theta _e}\) is supposed to be more accurate than the cheap data \({y_c}\) at \({\theta _c}\). The required total data are combined as:

$$\begin{aligned} \varvec{\theta _r}=\left( \begin{array}{l} \varvec{\theta }_{e} \\ \varvec{\theta }_{c} \end{array}\right) =\left( {\theta }_{e}^{(1)}, \ldots , \theta _{e}^{\left( n_{e}\right) }, {\theta }_{c}^{(1)}, \ldots , {\theta }_{c}^{(n_{c})}\right) ^{\mathrm{T}}, \end{aligned}$$
(14)

where \({\theta _r}\) are the required samples of random variables; \({\theta _{e}}\) and \({\theta _{c}}\) are random samples from expensive and cheap data, respectively; \({n_{e}}\) and \({n_{c}}\) are the number of expensive and cheap data, respectively. In this work, the number of data \({n_{e}}\) and \({n_{c}}\) are defined as

$$\begin{aligned} n_{e}=2\times n ; n_{c}=10\times n, \end{aligned}$$
(15)

where n is the number of random variables.

The responses corresponding to the random samples \({\theta _r}\) are shown in Eq. 16, and the combined data \({(\varvec{\theta _r},\varvec{y_r})}\) are the required data to build the co-Kriging metamodel.

$$\begin{aligned} \varvec{y_r}=\left( y_{\mathrm{e}}\left( {\theta }_{\mathrm{e}}^{(1)}\right) , \ldots , y_{\mathrm{e}}\left( {\theta }_{\mathrm{e}}^{\left( n_{e}\right) }\right) , y_{\mathrm{c}}\left( {\theta }_{\mathrm{c}}^{(1)}\right) , \ldots , y_{\mathrm{c}}\left( {\theta }_{\mathrm{c}}^{\left( n_{c}\right) }\right) \right) ^{\mathrm{T}}. \end{aligned}$$
(16)

Similarly to the classical Kriging approach, co-Kriging realizes the response surface with the required data through Eqs. 14,16. With the cheap data \({(\theta _c,y_c)}\), the response of the cheap function is described as a Gaussian process \({f_{\mathrm{c}}(\varvec{\theta })}\) in the total sample space (Lophaven et al. 2002). Then, the expensive response surface is defined as:

$$\begin{aligned} f_{e}(\varvec{\theta })=\rho f_{\mathrm{c}}(\varvec{\theta })+f_{\mathrm{d}}(\varvec{\theta }) \end{aligned}$$
(17)

where \({f_{e}(\varvec{\theta })}\) is the prediction at \({\varvec{\theta }}\), \({\rho }\) is a scaling factor estimated by the data, and \({f_{\mathrm{d}}(\varvec{\theta })}\) is the difference between expensive and cheap responses.

The initial independent cheap \({\chi _c}\) and expensive \({\chi _e}\) samples of random variables are generated via LHS. The buckling loads \({\lambda _c}\) of samples \({\chi _c}\) are obtained from the classical Kriging metamodel (Sect. 5.1), and the buckling loads \({\lambda _e}\) of samples \({\chi _e}\) are calculated by FEA. Then, the metamodel can be built with the initial required data: \({(\chi _c,\lambda _c)}\) and \({(\chi _e,\lambda _e)}\).

In each iteration of the co-Kriging training, three new training samples are added to the current metamodel. During the \({i{\rm th}}\) iteration (\({i=1,2,...,n}\)), the first training sample is the point at where the predicted MSE is the highest in the whole design region, expressed as \({\chi _i}\), with the corresponding estimated buckling load \({\lambda _i}\). The second and third new training samples are determined as the samples at the current lower and upper boundaries of the \({i{\rm th}}\) metamodel, which are expressed as \({(\chi _i^L,\lambda _i^L)}\) and \({(\chi _i^U, \lambda _i^U)}\), respectively. Once the new training samples are available, they are added to the \({i{\rm th}}\) metamodel to improve the accuracy of the predictions. The first sample \({(\chi _i, \lambda _i)}\) in the \({i{\rm th}}\) iteration is added to the expensive data since it is likely to be accurate. The expensive data in the \({(i+1){\rm th}}\) iteration is then updated as:

$$\begin{aligned} \left( \pmb {\chi }_{e}^{i+1}, \pmb {\lambda }_{e}^{i+1}\right) =\left( \left[ \pmb {\chi }_{e}^{i}, \chi _{i}\right] ,\left[ \pmb {\lambda }_{e}^{i}, \lambda _{i}\right] \right) \end{aligned}$$
(18)

where \({\left( \pmb {\chi }_{e}^{i+1}, \pmb {\lambda }_{e}^{i+1}\right) }\) is the expensive data in the \({(i+1){\rm th}}\) iteration, and \({\left( \pmb {\chi }_{e}^{i}, \pmb {\lambda }_{e}^{i}\right) }\) is the expensive data in the \({i{\rm th}}\) iteration.

Then, the other new training samples \({(\chi _i^L, \lambda _i^L)}\) and \({(\chi _i^U, \lambda _i^U)}\) are added to the cheap data. The cheap data in the \({(i+1){\rm th}}\) iteration is then updated as:

$$\begin{aligned} \left( \pmb {\chi }_{c}^{i+1}, \pmb {\lambda }_{c}^{i+1}\right) =\left( \left[ \pmb {\chi }_{c}^{i}, \chi _{i}^{L}, \chi _{i}^{U}\right] ,\left[ \pmb {\lambda }_{C}^{i}, \lambda _{i}^{L}, \lambda _{i}^{U}\right] \right) \end{aligned}$$
(19)

where \({\left( \pmb {\chi }_{c}^{i+1}, \pmb {\lambda }_{c}^{i+1}\right) }\) is the cheap data in the \({(i+1){\rm th}}\) iteration, and \({\left( \pmb {\chi }_{c}^{i}, \pmb {\lambda }_{c}^{i}\right) }\) is the cheap data in the \({(i){\rm th}}\) iteration.

After the updated expensive and cheap data are available, the metamodel is then trained. The lower and upper boundaries \({(\chi _{i+1}^L, \lambda _{i+1}^L)}\) and \({(\chi _{i+1}^U, \lambda _{i+1}^U)}\) are estimated by the extreme value optimization algorithm. In this work, the Particle Swarm Optimization (PSO) algorithm is employed, as explained in section 6. The training process evolves until both convergence criteria CC1 and CC2 are met. Finally, the lower and upper boundaries of the buckling load in the design space can be calculated by Eq. 12.

Table 2 summarizes the procedure to find the buckling load boundaries through co-Kriging approach, in which the VAFW-P design with one \(\pm \theta (x)\) layer is taken as a mere example.

Table 2 Detailed procedure of the co-Kriging metamodel for an arbitrary cylinder with one \(\pm \theta (x)\) layer

5.3 Accelerated Kriging

The accelerated Kriging metamodel was first introduced by Wang et al. (2020) and has shown a higher computational efficiency, accuracy and better convergence properties than the classical Kriging. With an increasing number of variables or an increase in the nonlinearity of the response, there is a larger probability that the sample with largest estimated MSE is located at a design space region that is outside from the region of interest, negatively affecting the convergence of the classical Kriging and Co-Kriging methods during the training phase. The proposed accelerated Kriging metamodel is an extension of the classical Kriging approach, whereby a moving search window, or hyper-cube, is used during the training phase. The addition of a new sample near the current optimum can accelerate the convergence, whereas keeping the robustness of the original method.

The training process starts similarly to the classical Kriging metamodeling explained in Sect. 5.1. Next, for each training iteration, two points are added being the first training point the one with largest estimated MSE, similarly to the other two Kriging metamodels previously described. The second training point of the accelerated Kriging approach is added based on the largest estimated MSE within an adaptive moving search window centered at the current optimum. The adaptive moving search window is defined as:

$$\begin{aligned} \left[ \theta _{i+1}^{L}, \theta _{i+1}^{U}\right] =\left[ \theta _{\rm opt}^{i}-0.5 W, \theta _{\rm opt}^{i}+0.5 W\right], \end{aligned}$$
(20)

where \({\theta _{i+1}^{L}}\) and \({\theta _{i+1}^{U}}\) are the lower and upper boundaries of the \({(i+1){\rm th}}\) adaptive window, respectively; The \({\theta _{\rm opt}^{i}}\) is the \({i{\rm th}}\) optimal design in the \({i{\rm th}}\) iteration of the training procedure; W is the range of the window, which is determined as:

$$\begin{aligned} W=q \cdot \left( \theta ^{L}+\theta ^{U}\right), \end{aligned}$$
(21)

where \({\theta ^{L}}\) and \({\theta ^{U}}\) are respectively the lower and upper boundaries of the design space, while q is a scale factor, which ranges from 0 to 1.

Considering that the center of the window is the previous optimal result (Eq. 20), the search window adapts itself by moving during the training iterations. In this work, a constant window width of \({q = 0.25}\) is used. The lower and upper boundaries of the \({i{\rm th}}\) adaptive moving window is replaced by the corresponding lower and upper boundaries of the design space if the \({i{\rm th}}\) window moves out of the design space, as follows:

$$\begin{aligned} \left\{ \begin{array}{l} \theta _{i}^{L}=\theta ^{L}, \text{ if } \theta _{i}^{L}<\theta ^{L} \\ \theta _{i}^{U}=\theta ^{U}, \text{ if } \theta _{i}^{U}>\theta ^{U} \end{array}\right. \end{aligned}$$
(22)

With the first and second training samples determined, the corresponding responses are calculated by FEA. The iterations are repeated until the convergence criteria CC1 and CC2 are met. Table 3 describes a summary of the proposed accelerated Kriging approach for a VAFW-P cylinder with one ± layer.

Table 3 Detailed procedure of the accelerated-Kriging metamodel for an arbitrary cylinder with one \(\pm \theta (x)\) layer

5.4 Design space analysis for buckling loads

After the convergence criteria (CC1, CC2) and thresholds (\({5\%}\), \({3\%}\), \({1\%}\)) are met for all three Kriging-based metamodels, the lower and upper boundaries for the buckling loads are estimated. Table 4 shows the obtained boundaries and the required number of samples \({N_s}\) used in the training process for the VAFW-P design with one layer (\(N_L=1\)). It is observed that the accelerated-Kriging metamodel provides the widest ranges in terms of buckling loads for all thresholds applied. Focusing specifically on the threshold \(c = 1\%\), which provides wider boundaries, the more the number of layers, the higher the number of new samples (\({N_S}\)) required to the training process, as shown in Table 5. Therefore, given the wider boundaries mapped by the accelerated-Kriging metamodel, which is an indicative of a higher accuracy, its results are used to estimate the buckling loads and mass for \(N_L=2,3,4\).

Table 4 Converged lower and upper boundaries of buckling loads for VAFW-P with \(N_L=1\) for the three Kriging-based metamodels
Table 5 Number of required samples to train all three Kriging-based metamodels for a threshold of \(c = 1\%\)

Table 6 summarizes the estimated lower and upper boundaries of linear buckling load obtained with the accelerated-Kriging metamodel for the VAFW-P cylinders with \(N_L=1,2,3,4\). Note the gap in the design space between \(N_L=1\) and \(N_L=2\), with the upper boundary buckling load of 68, 768N for \(N_L=1\) jumping to the lower boundary buckling load of 146, 190N for \(N_L=2\).

Table 6 Converged boundaries of buckling loads for the VAFW-P design using the accelerated-Kriging metamodel

5.5 Mass metamodeling

The mass of the cylinders is calculated as:

$$\begin{aligned} m=\iint _{xz} \rho h(x,z) r{\rm d}x{\rm d}z, \end{aligned}$$
(23)

where m is the mass, \({\rho }\) is the density of the carbon/epoxy composite material (\(1600\,{\rm kg}/{\rm m}^3\)), x is the circumferential coordinate, z is the longitudinal coordinate, r is the radius of the cylinder, and h(xz) is the thickness.

To calculate the mass for the cylinders with several layers, a simple function to sum of the mass of every layer is considered:

$$\begin{aligned} M(\theta ,N_L)=\sum _{i=1}^{N_{L}} m_{i}(\theta _i), N_{L}=1,2,3,4 \end{aligned}$$
(24)

where \({m_i}\) is the mass of the \({i{\rm th}}\) layer, and \({\theta _i}\) is the winding angles in the \({i{\rm th}}\) layer. Once the boundaries of the mass for two layers is computed, the boundaries for the other cylinders can be calculated by Eq. 24. Then, the lower and upper limits for all cylinders are listed in Table 7.

Table 7 Lower and upper mass limits for all cylinder designs

Figure 8 illustrates the hyper-surfaces of both buckling loads and mass for the cylinders trained with the accelerated-Kriging metamodel using Monte Carlo sampling (MCS). Considering that there are three design variables, one of them is kept constant at 45\(^\circ\) to allow a convenient graphic representation. Then, after both metamodels for buckling loads and mass are trained, the optimization follows, as detailed next.

Fig. 8
figure 8

Contour plots using the accelerated-Kriging metamodel with \(N_L=1\) (one ± layer). For plotting purposes, assuming \(\theta _3=45^\circ\)

Figure 9 illustrates the outcome of the trained metamodels by plotting the buckling load \(\lambda\) versus the mass for several sample sizes using MCS approach. Throughout the optimization procedure the samples are dynamically generated, as explained in Section 6. From Fig. 9 there is a clear trend of higher buckling loads for higher mass values, and it can be observed a complex mass distribution created by the coupled steering-thickness coupling of the VAFW-P cylinder design. From the sampling with 2000 samples of Fig. 9f, the minimum and maximum intervals of mass and buckling loads were identified for \(N_L=1,2,3,4\), as shown in Fig. 10. Note that for design loads below \(\approx 69\ {\rm kN}\) only designs with \(N_L=1\) should be considered, whereas for a design load of \(\approx 700\ {\rm kN}\), all designs with \(N_L=2,3,4\) might lead to optimum solutions and should therefore be considered by the optimization algorithms. Figure 10 also illustrates the gap in the design space between \(\approx 69\,{\rm kN}\) and \(\approx 146\,{\rm kN}\), previously observed in Table 6.

Fig. 9
figure 9

Design space illustrated using the buckling load \(\lambda\) versus mass for different samples generated using the developed metamodels

Fig. 10
figure 10

Mass and buckling load boundaries defined by the metamodels using 5000 samples

6 Optimization framework

6.1 Particle Swarm Optimization (PSO)

PSO is a powerful meta-heuristic technique inspired on the swarm behavior of flocks of birds and shoals of fishes, and developed by Kennedy and Eberhart in 1995 (Kennedy and Eberhart 1995). The method is also related to evolutionary computation and it has some ties to GA. The key advantages of PSO are that it needs only primitive mathematical operations and it is computationally cheap in terms of memory and speed requirements.

In PSO, a swarm with particles P is placed in the design search space. Each \(i{\rm th}\) particle in the swarm has a position vector \(X_{i}^{t}=\left( x_{i 1}, x_{i 2}, x_{i 3}, \ldots , x_{i n}\right) ^{T}\) and velocity vector \(V_{i}^{t}=\left( v_{i 1}, v_{i 2}, v_{i 3}, \ldots , v_{i n}\right) ^{T}\) at iteration t. Each particle is updated according to the dimension j, as per Eq. 25. Every particle is a potential candidate solution and they move continuously around the design space until the optimization meets the convergence criteria. The new particle locations are updated at every iteration towards finding the global optimum. The velocity of the particles can be defined as:

$$\begin{aligned} V_{i j}^{t+1} = w V_{i j}^{t} + c_{1} r_{1}^{t}\left( p b e s t_{i j} - X_{i j}^{t}\right) + c_{2} r_{2}^{t}\left( g b e s t_{j} - X_{i j}^{t}\right) \end{aligned}$$
(25)

whereas the new position is calculated as:

$$\begin{aligned} \begin{aligned} X_{ij}^{t+1} =&X_{ij}^{t} + V_{ij}^{t+1} \end{aligned} \end{aligned}$$
(26)

in which \(V_{i}^{d}\) \(X_{i}^{d}\) are the velocity and position of the \(i{\rm th}\) particle, respectively; \(c_1\) and \(c_2\) are acceleration constants; \(r_1^t\) and \(r_2^2\) represent two random numbers distributed in the range (0,1); pbest and gbest are the best position so far of the \(i{\rm th}\) particle and the best global position, respectively; w is the inertia weight, which keeps a balance between local and global searches.

Note that, from the sampling previously performed and shown in Fig. 9, it is possible to determine all possible values of \(N_L\) for a given design load, as illustrated in Fig. 10, and for the region with a gap in the design space from \(\approx 69\ {\rm kN}\) to \(\approx 146\ kN\) it was assumed \(N_L=2\).

The parameters utilized in the PSO-metamodeling (PSO-MM) optimization framework are presented in Table 8.

Table 8 Parameters used in the PSO-MM optimization

The overall mass minimization procedure to meet desired buckling loads \({\rm BL}_d\) can be summarized as follows:

S1::

For any given desired buckling load, the number of layers is determined with the boundary analysis of the buckling load shown in Table 6. The candidate number of layers N is determined as

$$\begin{aligned} N=[2i,\ldots ,2j] \end{aligned}$$
(27)

in which,

$$\begin{aligned} \begin{array}{l} i,j \in [1,\ldots ,4], \;\text{where}\; i \le j \end{array} \end{aligned}$$
(28)
S2::

Set \({n=i}\);

S3::

The number of layers is then \({N = 2n}\) and the number of design variables (\({\theta _n^{\rm opt}}\)) is 3n.

The optimization flowchart is illustrated in Fig. 4, starting by calling both buckling load metamodels in each iteration. Then, the PSO algorithm finds the minimum mass, \(M_n^{\rm min}\), within the buckling load boundaries, as detailed in the following steps:

S4::

If \({n<j}\), \({n=n+1}\), go back to Step3. Else, go to S5;

S5::

Obtain all the candidate optimal designs and corresponding masses:

$$\begin{aligned} \left[ \theta _{\tau }^{\text{ opt }}, M_{\tau }^{\min }\right] , \tau =[1, \ldots , n] \end{aligned}$$
(29)
S6::

Select the sample with the minimum mass of all candidates using Eq. 29 as the optimum for a given design load \({\rm BL}_d\). Then, the final output, \({\theta _{\rm final}^{\rm opt}}\), is generated;

6.2 Verification of the PSO-MM framework

Genetic algorithm (GA) coupled with the developed SC-BFSC finite element model is used to verify the PSO-MM optimization framework. The GA is implemented in OpenMDAO, an open-source optimization framework (Gray et al. 2019). It is worth mentioning that the number of layers allowed is the same as in the PSO-MM optimizations, that is, \(N_L=1, 2, 3, 44\). The parameters utilized in the optimizations are presented in Table 9. The objective function is similar to Eq. 5, whereby the function is changed in accordance with the GA problem definition as shown in Eq. 30:

$$\begin{aligned} \begin{array}{l} \text{Find}: \theta ,N_L \\ \text{Minimize}: M(\theta , N_L) \times PF \\ \text{Penalty Function} (PF): {\left\{ \begin{array}{ll} 1 &{} \text{if } \lambda \ge \lambda _{d}\\ (1+ \lambda _{d}/\lambda )^2 &{} \text{if } \lambda < \lambda _{d} \\ \end{array}\right. }\\ \text{Design Space:} \quad \epsilon \quad [0,90]\\ \end{array} \end{aligned}$$
(30)

where M is the mass calculated according to Eq. 24; \(\lambda\) is the buckling load of the individual; and \(\lambda _d\) is the design buckling load.

Table 9 Parameters used in the GA optimization

7 Discussion

The objective function of the optimizations is to minimize the cylinder mass subject to the following design loads: 50 kN, 100 kN, 200 kN, 500 kN, and 1000 kN. The PSO-MM results consist of optimum designs obtained per design load, where different optima are obtained for different number of \(\pm \theta\) layers in the filament winding process. The GA results consist of only one optimum design per design load. The results are given in Table 10.

Table 10 Optimization results from both PSO-MM and GA approaches

From Table 10, the following characteristics of the optimum designs, and the differences between the PSO-MM and GA results are identified:

  • 50 kN: this design load is covered by candidates with \(N_L = 1\), as illustrated in Fig. 10. The GA results is slightly heavier than the PSO-MM result;

  • 100 kN: from Fig. 10 there is no design covering this design load, and this region represents part of a gap in the design space from \(\approx 69\ kN\) to \(\approx 146\ kN\). The PSO-MM optimization found a candidate cylinder with \(N_L = 2\), with a buckling load of 165.33 kN, expectedly higher than the 100 kN design load, due to the gap in the design space previously identified. Interestingly, the GA result confirmed the identified gap by finding an optimum solution outside the gap region, with a buckling load of 288.15 kN, and a comparable mass with respect to the optimum design obtained by the PSO-MM;

  • 200 kN: the only candidate for this design load level are those with \(N_L=2\). The combination of angles leads to shell with a mass of 0.7309 kg and buckling load of 207.61 kN. The GA, nevertheless, does not find an optimum with buckling load around the desired one. However, the optimum found by GA has a similar mass with a substantially higher buckling load of 242.83 kN;

  • 500 kN: as per Fig. 10 this design load is covered by cylinders with \(N_L=2\) and \(N_L=3\), and the PSO-MM optima have respective masses of 1.2715 and 1.0951 kg; with buckling loads of 498.29 and 504.28 kN. The GA finds a unique optimum candidate with \(N_L=3\), with optimum mass comparable to the PSO-MM result, and a higher buckling load of 659.80 kN;

  • 1000 kN: three candidates are found by the PSO-MM to respect this desired load, with 2, 3, and 4 \(\pm \theta\) layers. They have masses between 1.46 and 1.61 kg with buckling loads within a range of 1021.5 and 1092.2 kN, respectively. The GA finds only one candidate with 4 \(\pm \theta\) layers, which has similar mass to the candidate with 4 layers found by PSO-MM framework, with 1.46 kg but with a higher buckling load of 1301.7 kN.

The GA optima reached considerably higher buckling loads without resulting in additional mass for the design loads of 200, 500, and 1000 kN, shown in Table 10. Note that this is not due to the objective function of Eq. 30 utilized in the GA optimizations, because the buckling load \(\lambda\) only participates in the penalty function when \(\lambda < \lambda _d\), with \(\lambda _d\) being the design load.

The PSO-MM optimum designs listed in Table 10 are illustrated in Figs. 11, 12, 13, 14, 15, 16, 17, and 18. The illustrated layers \(k_i\) are stacked in an increasing z direction while constructing the filament-wound structure, as illustrated in Fig. 7. The corresponding first linear buckling modes are shown in Fig. 19. When \(\theta _1^\mathrm{VP},\theta _2^\mathrm{VP},\theta _3^\mathrm{VP}\) are different within the same \(\pm \theta\) layer, a variable-angle filament path is produced, which is well illustrated in some of the figures. Due to the tow bending and tow shearing mechanisms discussed in Wang et al. (2020), the variable-angle path creates overlapping regions with higher thickness between the filaments, here represented by darker regions. This coupling between the thickness and the steering angle leads to interesting optimum designs, such as the ones illustrated in Figs. 14, 16 and 17. The predicted thickness patterns showing overlapping filaments correspond to what has been experimentally observed by the authors in VAFW cylinders of smaller diameters (Castro et al. 2021; Almeida et al. 2021), and by Labans and Bisagni in large cylinders manufactured by automated fiber placement (Labans and Bisagni 2019).

For design loads that allow an optimum configuration for different values of the total number of layers \(N_L\), a general trend is observed, in which lower \(N_L\) values can achieve the design load by means of more thickness build-up created by the variable-angle filaments. On the other hand, higher \(N_L\) values tend to show less thickness build-up, thus with less variability in the filament angles. Another trend that is observed is that the buckling modes for the configurations with more thickness build-up tend to show the well-known diamond patterns, whereas the optima with more \(N_L\) have more axisymmetric buckling modes.

Fig. 11
figure 11

PSO-MM tow path for design load of 50 kN

Fig. 12
figure 12

PSO-MM tow path for design load of 100 kN with 2 \(\pm \theta\) layers

Fig. 13
figure 13

PSO-MM tow path for design load of 200 kN with 2 \(\pm \theta\) layers

Fig. 14
figure 14

PSO-MM tow path for design load of 500 kN with 2 \(\pm \theta\) layers

Fig. 15
figure 15

PSO-MM tow path for design load of 500 kN with 3 \(\pm \theta\) layers

Fig. 16
figure 16

PSO-MM tow path for design load of 1000 kN with 2 \(\pm \theta\) layers

Fig. 17
figure 17

PSO-MM tow path for design load of 1000 kN with 3 \(\pm \theta\) layers

Fig. 18
figure 18

PSO-MM tow path for design load of 1000 kN with 4 \(\pm \theta\) layers

Fig. 19
figure 19

Buckling modes for all cylinders optimized by the PSO-MM framework

In order to illustrate the efficiency of both heuristic optimization algorithms herein used, Fig. 20 presents convergence results for both optimizers for an example design load of 50 kN. It is noted that the PSO-MM framework takes only 4 iterations to reach the global optimum, whereas GA takes 17 generations.

Fig. 20
figure 20

Convergence plots for both PSO-MM and GA for a design load of 50 kN

8 Conclusion

This work focused on develop an optimization framework coupled with metamodels to minimize the mass of variable-angle filament-wound (VAFW) cylinders. The newly proposed single-curvature Bogner–Fox–Schmit–Castro finite element with 4 nodes and 10 degrees-of-freedom (DOF) per node showed to be a fast-converging element to simulate the buckling behavior of VAFW cylinders. The model converges with approximately two orders of magnitude less DOF than a general purpose linear shell element, such as the S4R available in Abaqus.

The accelerated Kriging metamodel used to represent the buckling behavior and the mass of VAFW cylinders proved to be accurate and could be trained using only 183 finite element evaluations. This is remarkable considering the steering-thickness coupling observed in this variable stiffness structure. The moving search window, or hypercube, used during the training process enabled the proposed accelerated Kriging to outperform the classical Kriging and the co-Kriging approaches.

Particle swarm optimization was successfully used to drive the trained Kriging models towards different optima for buckling design loads of 50 kN, 100 kN, 200 kN, 500 kN and 1000 kN. All optimum results were verified against GA optimizations coupled with finite elements, showing a excellent agreement in the obtained minimum mass.

Future studies will focus on manufacture the optimum cylinder configurations herein achieved through the filament winding process. In addition, the cylinders will be tested in axial compression and nonlinear models will be developed to simulate their buckling performance.