Hybrid Metal / Composite Lattice Structures: Design for Additive Manufacturing

: This paper introduces a numerical tool developed for the design and optimization of axial-symmetrical hybrid composite / metal structures. It is assumed that the deﬁned structures are produced by means of two di ﬀ erent processes: Additive Layer Manufacturing (ALM) for the metallic parts and Filament Winding (FW) for the composite parts. The deﬁned optimization procedure involves two speciﬁc software: ANSYS and ModeFrontier. The former is dedicated to the production of the geometrical and FE models, to the structural analysis, and to the post-process, focusing on the deﬁnition of the Unit Cells for the modelling of the metal part. The latter is dedicated to the deﬁnition of the best design set and thus to the optimization ﬂow management. The core of the developed numerical procedure is the routine based on the Ansys Parametric Design Language (APDL), which allows an automatic generation of any geometrical model deﬁned by a generic design set. The developed procedure is able to choose the best design, in terms of structural performance, changing the lattice metallic parameters (number of unit cells and their topology) and the composite parameters (number of plies and their orientation). The introduced numerical tool has been used to design several hybrid structures conﬁgurations. These conﬁgurations have been analysed in terms of mechanical behaviour under speciﬁc boundary conditions and compared to similar conventional metal structure.


Introduction
In recent years, the evolution of Additive Manufacturing (AM) towards industrialization has been nothing less than extraordinary, and the field is rapidly growing [1,2].
In particular, in the last thirty years, the AM has experienced double-digit growth, moving from a promising series of technologies not marketed in the early '80s to a market that in 2014 was worth over $ 4 billion. The AM market is projected to grow to over $21 billion by 2020 [3][4][5].
This new family of production technologies, allowing the manufacturing of parts with complex shapes, impossible to be produced by traditional production processes [6][7][8][9], plays a key role in the latest industrial revolution (Industry 4.0) which is encouraging the integration of intelligent manufacturing [10][11][12]. In fact, additive production processes, unlike subtractive manufacturing technologies, produce physical objects, layer by layer, from digital information [13][14][15][16][17]. With this approach, complex geometries such as reticular or porous structures, organic constructions generated

Description of the Proposed Routine
The routine for the generation and the analysis of hybrid metal/composite structures with lattice structure technologies has been generated in APDL language and validated in ANSYS 16.1 and 17.0 environments, while, the release 2014 of the ModeFrontier optimization software has been used.
In this paragraph, the developed procedure has been described, focusing on the options that can be activated to obtain the desired FE models.
The routine is made of 12 main moduli labelled as follows: • Basic Settings: This modulus contains the commands used to define the graphic options, the definition of the file name, the title to be inserted at the bottom of the window for all the images, and the quality (resolution) of the images generated during the execution of the routine. • Parameters: This modulus contains all the parameters and the options that allow to create the structure. In order to generate a consistent design, each parameter is allowed to vary in a specific range. An internal check, which enables parameters changing, was implemented to reduce the occurrence of errors. Any automatic changes are recorded on a specific output file (Calculated Parameters section). Other parameters to be defined identify the type of analysis required and the types of load and boundary conditions applied. For a quick classification, in Figure 1 the parameters are catalogued in four macro areas: graphic; unit cell definition; arrangement of unit cells; structure and loads definition. • Unit Cell Connections: In this modulus, the unit cell connections are defined. Two types of unit cell have been implemented and classified according to the number of internal nodes: 8-node and 27-node. The connection between the nodes is defined by activating a flag (1 or 0). The basic numbering for nodes and connections for both cell types are provided below. In this modulus the sequence of flags activating a predefined cell can be defined. • Calculated Parameters: in this modulus, other parameters useful for the correct sizing of the UCs are evaluated by combining all the parameters previously defined. Moreover, parameters introduced in the previous moduli are checked and, if not consistent, they are overwritten with appropriate values. In addition, at this stage, the matrices associated to the connection flags are compiled. In this modulus, the connections are also redefined according to the symmetric option available for the 27-node unit cells. • Elements Definition: In this modulus, the element types and the corresponding key-option, used to discretize the numerical model, are defined. Currently, four element types have been implemented: One-dimensional elements for the discretization of the lattice metal structure; Layered shell elements for the external skin; Shell elements for the internal skin; Rigid elements for the application of particular loading conditions.
• Materials and Property: This modulus specifies the material properties used for the whole model. The routine supports the modelling of the metal parts by means of linear elastic or elastoplastic, isotropic, and homogeneous material. The composite part (external skin) is modelled with a homogeneous orthotropic (or anisotropic) linear-elastic material. Since the ANSYS code requires the definition of particular sections for the attribution of mechanical and physical properties to the different parts, the sections and their options are also defined at this stage. • Model Building: At this stage, the routine creates the whole geometrical model. This phase is the heart of the APDL routine. The routine is able to generate any axially symmetric hybrid structures, characterized by different shapes and sizes. Some examples are shown in Figure 2.
environments, while, the release 2014 of the ModeFrontier optimization software has been used. In this paragraph, the developed procedure has been described, focusing on the options that can be activated to obtain the desired FE models.
The routine is made of 12 main moduli labelled as follows: • Basic settings: This modulus contains the commands used to define the graphic options, the definition of the file name, the title to be inserted at the bottom of the window for all the images, and the quality (resolution) of the images generated during the execution of the routine. • Parameters: This modulus contains all the parameters and the options that allow to create the structure. In order to generate a consistent design, each parameter is allowed to vary in a specific range. An internal check, which enables parameters changing, was implemented to reduce the occurrence of errors. Any automatic changes are recorded on a specific output file (Calculated Parameters section). Other parameters to be defined identify the type of analysis required and the types of load and boundary conditions applied. For a quick classification, in Figure 1 the parameters are catalogued in four macro areas: graphic; unit cell definition; arrangement of unit cells; structure and loads definition.   Figure 2. The external and internal skins have been defined by surfaces, while the lattice metal structure by lines. A modulus for the automatic generation of images of different views of the model has been implemented as well.

•
Meshing: This modulus is dedicated to the mesh generation. Therefore, all the previously created geometries are discretized, according to the specification of the mesh parameters defined in the parameters section.  The external and internal skins have been defined by surfaces, while the lattice metal structure by lines. A modulus for the automatic generation of images of different views of the model has been implemented as well.

•
Meshing: This modulus is dedicated to the mesh generation. Therefore, all the previously created geometries are discretized, according to the specification of the mesh parameters defined in the parameters section. • Post-Processing: This modulus is dedicated to the evaluation of the optimization parameters (constraint and objective functions). These parameters are written in an output file, which can be used as input in the ModeFrontier routine. Finally, this modulus includes a specific subroutine used to generate post-processing images.

Unit Cell Definition
One of the most important aspects of the proposed procedure is the generation of the unit cell which will be used to fill the entire domain. In order to satisfy this requirement, several types of unit cell have been implemented [45][46][47].
The first selection can be made on the basis of the number of nodes (not to be confused with the nodes of the computational grid). The procedure is able to take into account both 8-node cells and 27-node cells. Since cells with a number of nodes greater than 27 (as an example 64) can be obtained as a combination of cells with 8 and/or 27 nodes, only cells with 8 or 27 nodes have been implemented.
The second selection is related to the construction reference system. The routine, in fact, can construct cells using a Cartesian or cylindrical reference system, thus generating "quadrangular-based prisms" or "cylindrical sectors" respectively.
In Figure 3, a schematization of the different types of the Unit Cells is represented. The unit cylindrical cell allows additional functionality. Indeed, it is possible to define cylindrical cells that can be able to adapt itself to the global structure (i.e., respect to external and internal skin). Once the desired number of adaptive cells, for a given direction, has been defined, they are able to self-adjust the distances between the nodes in that direction using a multiple number of unit cells in order to always have the external nodes of the last cell coincident to the nodes of the outer and inner surfaces. be used as input in the ModeFrontier routine. Finally, this modulus includes a specific subroutine used to generate post-processing images.

Unit Cell Definition
One of the most important aspects of the proposed procedure is the generation of the unit cell which will be used to fill the entire domain. In order to satisfy this requirement, several types of unit cell have been implemented [45][46][47].
The first selection can be made on the basis of the number of nodes (not to be confused with the nodes of the computational grid). The procedure is able to take into account both 8-node cells and 27node cells. Since cells with a number of nodes greater than 27 (as an example 64) can be obtained as a combination of cells with 8 and/or 27 nodes, only cells with 8 or 27 nodes have been implemented.
The second selection is related to the construction reference system. The routine, in fact, can construct cells using a Cartesian or cylindrical reference system, thus generating "quadrangularbased prisms" or "cylindrical sectors" respectively.
In Figure 3, a schematization of the different types of the Unit Cells is represented. The unit cylindrical cell allows additional functionality. Indeed, it is possible to define cylindrical cells that can be able to adapt itself to the global structure (i.e., respect to external and internal skin). Once the desired number of adaptive cells, for a given direction, has been defined, they are able to self-adjust the distances between the nodes in that direction using a multiple number of unit cells in order to always have the external nodes of the last cell coincident to the nodes of the outer and inner surfaces. In addition, by using the cylindrical cells, it is possible to define an automatic bias in radial direction in order to increase the size of the cells as they move away from the axis of revolution of the structure. From the comparison in Figure 4, it is possible to observe the effect of the bias parameter on a configuration with three adaptive cylindrical cells in the radial direction. In addition, by using the cylindrical cells, it is possible to define an automatic bias in radial direction in order to increase the size of the cells as they move away from the axis of revolution of the structure. From the comparison in Figure 4, it is possible to observe the effect of the bias parameter on a configuration with three adaptive cylindrical cells in the radial direction.  Finally, a further option of unit cylindrical cells is the possibility to connect their nodes by means of straight or curved beams. Indeed, curvilinear connections between the nodes can be used to follow the curvature of the global structure. In Figure 5, a comparison between cells with 27 nodes of Cartesian, cylindrical and cylindrical with curvilinear connections (trusses) is shown. As shown in Figure 3, each node of the unit cell is associated to a number. This number cannot be modified and it is used to uniquely identify each truss that will be part of the unit cell.
Connections are generated from these nodes. The optimization code will activate or deactivate a specific truss by means of a flag, resulting in the generation of cells with different morphologies. Figure 6 shows the adopted numbering system for the connection elements of an 8-node unit cell. The 27-node cell is divided into eight sub-cells with 8-node, in order to simplify the definition of the connection activation flags. Each sub-cell is based on the same operating logic as the 8-node cell.
A 27-node cell would need the definition of 158 connectivity flags, which would generate an decrease of the computational efficiency. On the other hand, by using the sub-cells method, the user should define 28 × 8 = 224 connections, but, with the same numbering system based on 28 flags, for each sub-cell, letting the code removing any redundant connection. Hence, for each sub-cell the numbering of the connections is identical to the case of an 8-node cell. Figure 7; Figure 8 report the numbering of the sub-cells as implemented in the proposed routine. Finally, a further option of unit cylindrical cells is the possibility to connect their nodes by means of straight or curved beams. Indeed, curvilinear connections between the nodes can be used to follow the curvature of the global structure. In Figure 5, a comparison between cells with 27 nodes of Cartesian, cylindrical and cylindrical with curvilinear connections (trusses) is shown.  Finally, a further option of unit cylindrical cells is the possibility to connect their nodes by means of straight or curved beams. Indeed, curvilinear connections between the nodes can be used to follow the curvature of the global structure. In Figure 5, a comparison between cells with 27 nodes of Cartesian, cylindrical and cylindrical with curvilinear connections (trusses) is shown. As shown in Figure 3, each node of the unit cell is associated to a number. This number cannot be modified and it is used to uniquely identify each truss that will be part of the unit cell.
Connections are generated from these nodes. The optimization code will activate or deactivate a specific truss by means of a flag, resulting in the generation of cells with different morphologies. Figure 6 shows the adopted numbering system for the connection elements of an 8-node unit cell. The 27-node cell is divided into eight sub-cells with 8-node, in order to simplify the definition of the connection activation flags. Each sub-cell is based on the same operating logic as the 8-node cell.
A 27-node cell would need the definition of 158 connectivity flags, which would generate an decrease of the computational efficiency. On the other hand, by using the sub-cells method, the user should define 28 × 8 = 224 connections, but, with the same numbering system based on 28 flags, for each sub-cell, letting the code removing any redundant connection. Hence, for each sub-cell the numbering of the connections is identical to the case of an 8-node cell. Figure 7; Figure 8 report the numbering of the sub-cells as implemented in the proposed routine. As shown in Figure 3, each node of the unit cell is associated to a number. This number cannot be modified and it is used to uniquely identify each truss that will be part of the unit cell.
Connections are generated from these nodes. The optimization code will activate or deactivate a specific truss by means of a flag, resulting in the generation of cells with different morphologies. Figure 6 shows the adopted numbering system for the connection elements of an 8-node unit cell.  Finally, a further option of unit cylindrical cells is the possibility to connect their nodes by means of straight or curved beams. Indeed, curvilinear connections between the nodes can be used to follow the curvature of the global structure. In Figure 5, a comparison between cells with 27 nodes of Cartesian, cylindrical and cylindrical with curvilinear connections (trusses) is shown. As shown in Figure 3, each node of the unit cell is associated to a number. This number cannot be modified and it is used to uniquely identify each truss that will be part of the unit cell.
Connections are generated from these nodes. The optimization code will activate or deactivate a specific truss by means of a flag, resulting in the generation of cells with different morphologies. Figure 6 shows the adopted numbering system for the connection elements of an 8-node unit cell. The 27-node cell is divided into eight sub-cells with 8-node, in order to simplify the definition of the connection activation flags. Each sub-cell is based on the same operating logic as the 8-node cell.
A 27-node cell would need the definition of 158 connectivity flags, which would generate an decrease of the computational efficiency. On the other hand, by using the sub-cells method, the user should define 28 × 8 = 224 connections, but, with the same numbering system based on 28 flags, for each sub-cell, letting the code removing any redundant connection. Hence, for each sub-cell the numbering of the connections is identical to the case of an 8-node cell. Figure 7; Figure 8 report the numbering of the sub-cells as implemented in the proposed routine. The 27-node cell is divided into eight sub-cells with 8-node, in order to simplify the definition of the connection activation flags. Each sub-cell is based on the same operating logic as the 8-node cell.
A 27-node cell would need the definition of 158 connectivity flags, which would generate an decrease of the computational efficiency. On the other hand, by using the sub-cells method, the user should define 28 × 8 = 224 connections, but, with the same numbering system based on 28 flags, for each sub-cell, letting the code removing any redundant connection. Hence, for each sub-cell the numbering of the connections is identical to the case of an 8-node cell. Figure 7; Figure 8 report the numbering of the sub-cells as implemented in the proposed routine.       In addition, in order to further simplify the connections definition, the symmetrical cell option has been implemented. Obviously, this option, available for 27-node cells only, leads to a reduction of the flag number from 224 to 28. This simplification aims to decrease the project variables for increasing the efficiency of the optimization procedure.
In order to customize the active connections in a cell, a matrix called "Conect_Nx" has been defined (the matrix Conect_2x defines the connections of 8-node cell while the matrix Conect_3x defines the connections of 27-node cell). These matrices have as number of rows the maximum number of connections available in the unit cell (28) and four columns. In the first column, the connection id is stored; in the second column, a variable indicating the activation status (1 = active or 0 = not active) of the identified connection is stored. In the third and fourth columns, the connection start and end nodes are listed, respectively. Table 1 is representative of the Conect_Nx matrices.  Figure 9 shows a portion of the routine, where the flags for an 8-node cell are defined. As said previously, 28 possible connections for this type of cell exists, requiring the definition of 28 parameters with a value of 1 or 0. In addition, in order to further simplify the connections definition, the symmetrical cell option has been implemented. Obviously, this option, available for 27-node cells only, leads to a reduction of the flag number from 224 to 28. This simplification aims to decrease the project variables for increasing the efficiency of the optimization procedure.
In order to customize the active connections in a cell, a matrix called "Conect_Nx" has been defined (the matrix Conect_2x defines the connections of 8-node cell while the matrix Conect_3x defines the connections of 27-node cell). These matrices have as number of rows the maximum number of connections available in the unit cell (28) and four columns. In the first column, the connection id is stored; in the second column, a variable indicating the activation status (1 = active or 0 = not active) of the identified connection is stored. In the third and fourth columns, the connection start and end nodes are listed, respectively. Table 1 is representative of the Conect_Nx matrices.
0 4 8 Figure 9 shows a portion of the routine, where the flags for an 8-node cell are defined. As said previously, 28 possible connections for this type of cell exists, requiring the definition of 28 parameters with a value of 1 or 0.

Numerical Results
The internal and external skins are created through the revolution around the axis of the structure of splines (a spline for internal skin and another for external skin) that interpolate several control points. Both the internal and external skins can be created separately.
With this methodology it is possible to generate several types of axial symmetrical structures, all with a strong coupling between lattice structure and skin at the level of the nodes of the computational grid. Hence, regardless the type of internal lattice structure and regardless of the geometry of the skins, there will be shared nodes between the shell elements (skin) and beam elements (lattice structure). This kind of connection could also have been made with contact elements. This would have led to a clear simplification of the procedure for the construction of the structure, but, on the other hand, it would have led to an increase in computational time and to less accurate results.
Therefore, in order to verify the robustness of the procedure in generating differently shaped complex structures representative of the mechanical behaviour of lattice metallic structures with composite and metallic skins, tests were carried out on different configurations, under different loading and boundary conditions. Finally, the results of an optimization loop are reported to verify the perfect integration with the chosen optimization software.

Test Case 1
In order to verify both the robustness of the proposed routine in the pre-processing, setting and post-processing of linear and nonlinear analyses, and to verify the onset of global instabilities, in the frame of the Test Case 1, a linear buckling analysis and, subsequently, a nonlinear static analysis have been performed.
As shown in Figure 10, the chosen structure is a conical trunk sector with a 1 mm metal internal skin and a 1 mm composite external skin with a stacking sequence of [45; −45] 2 .

Numerical Results
The internal and external skins are created through the revolution around the axis of the structure of splines (a spline for internal skin and another for external skin) that interpolate several control points. Both the internal and external skins can be created separately.
With this methodology it is possible to generate several types of axial symmetrical structures, all with a strong coupling between lattice structure and skin at the level of the nodes of the computational grid. Hence, regardless the type of internal lattice structure and regardless of the geometry of the skins, there will be shared nodes between the shell elements (skin) and beam elements (lattice structure). This kind of connection could also have been made with contact elements. This would have led to a clear simplification of the procedure for the construction of the structure, but, on the other hand, it would have led to an increase in computational time and to less accurate results.
Therefore, in order to verify the robustness of the procedure in generating differently shaped complex structures representative of the mechanical behaviour of lattice metallic structures with composite and metallic skins, tests were carried out on different configurations, under different loading and boundary conditions. Finally, the results of an optimization loop are reported to verify the perfect integration with the chosen optimization software.

Test Case 1
In order to verify both the robustness of the proposed routine in the pre-processing, setting and post-processing of linear and nonlinear analyses, and to verify the onset of global instabilities, in the frame of the Test Case 1, a linear buckling analysis and, subsequently, a nonlinear static analysis have been performed.
As shown in Figure 10, the chosen structure is a conical trunk sector with a 1 mm metal internal skin and a 1 mm composite external skin with a stacking sequence of [45; −45]2. For this structure, an 8-node adaptive cell without bias factor has been used. The cell has only 12 connections, represented by the edges of the cell, neglecting the diagonal connections. Figure 11 shows the used elementary cell and a quarter of the latex structure. For this structure, an 8-node adaptive cell without bias factor has been used. The cell has only 12 connections, represented by the edges of the cell, neglecting the diagonal connections. Figure 11 shows the used elementary cell and a quarter of the latex structure. Aerospace 2019, 6, x FOR PEER REVIEW 10 of 21 Figure 11. Unit Cell and cells of the 1st quarter.
The structure has been subjected to a compressive loading condition in order to evaluate the buckling load by a linear buckling analysis and a static non-linear buckling analysis. Figures 12 and 13 show the nodal displacements (eigenvector) for at the first calculated buckling load (eigenvalue) and highlights that instability involves both the skins and the internal lattice structure. Actually, for both the components, local buckling modes have been found with no real global instability able to compromise the structure carrying loading capability.   The structure has been subjected to a compressive loading condition in order to evaluate the buckling load by a linear buckling analysis and a static non-linear buckling analysis. Figures 12 and 13 show the nodal displacements (eigenvector) for at the first calculated buckling load (eigenvalue) and highlights that instability involves both the skins and the internal lattice structure. Actually, for both the components, local buckling modes have been found with no real global instability able to compromise the structure carrying loading capability. The structure has been subjected to a compressive loading condition in order to evaluate the buckling load by a linear buckling analysis and a static non-linear buckling analysis. Figures 12 and 13 show the nodal displacements (eigenvector) for at the first calculated buckling load (eigenvalue) and highlights that instability involves both the skins and the internal lattice structure. Actually, for both the components, local buckling modes have been found with no real global instability able to compromise the structure carrying loading capability.   The structure has been subjected to a compressive loading condition in order to evaluate the buckling load by a linear buckling analysis and a static non-linear buckling analysis. Figures 12 and 13 show the nodal displacements (eigenvector) for at the first calculated buckling load (eigenvalue) and highlights that instability involves both the skins and the internal lattice structure. Actually, for both the components, local buckling modes have been found with no real global instability able to compromise the structure carrying loading capability.   The mass properties of the structure are reported in Table 2. The first eigenvalue is 1.63, and since a unit compression displacement has been applied, it is possible to quantify a critical compressive displacement of 1.63 mm. The equivalent critical compressive load is 394.02 kN. Figures 14-16 show the nodal displacements (eigenvectors) for subsequent modes (not consecutive) which can be classified as local buckling modes too.  The first eigenvalue is 1.63, and since a unit compression displacement has been applied, it is possible to quantify a critical compressive displacement of 1.63 mm. The equivalent critical compressive load is 394.02 kN. Figure 14       The first eigenvalue is 1.63, and since a unit compression displacement has been applied, it is possible to quantify a critical compressive displacement of 1.63 mm. The equivalent critical compressive load is 394.02 kN. Figure 14       The first eigenvalue is 1.63, and since a unit compression displacement has been applied, it is possible to quantify a critical compressive displacement of 1.63 mm. The equivalent critical compressive load is 394.02 kN. Figure 14       The outputs shown are only a small part of those made available by the downstream routine of the analysis, moreover at the end of the analysis, the routine provides a practical text file that contains all the data of interest for the analysis.
Then, a static non-linear analysis, considering the geometric non-linearities, has been performed in order to compare the linear and non-linear buckling load. The results, in terms of load-displacement and stiffness-displacement curves, are reported in Figure 17. According to Figures 14-16, it can be noted that the first 10 eigenvalues are very close each other. The outputs shown are only a small part of those made available by the downstream routine of the analysis, moreover at the end of the analysis, the routine provides a practical text file that contains all the data of interest for the analysis.
Then, a static non-linear analysis, considering the geometric non-linearities, has been performed in order to compare the linear and non-linear buckling load. The results, in terms of loaddisplacement and stiffness-displacement curves, are reported in Figure 17. As it can be seen from Figure 17, the global buckling load is around 490 kN with an imposed displacement of about 2.1 mm. Thus, the structure, once the local instabilities have been detected, can tolerate an additional 25% load before the global instability with the consequent loss of its ability to support further compressive load.
This may suggest that this type of structure could also be considered as safe when the instability load of the individual internal units is exceeded. Figure 18 shows the global displacements corresponding to the critical compressive displacement.

Test Case 2
The second test case consists of an axial symmetrical cylindrical structure. The structure has been subjected to both linear buckling analysis and non-linear static analysis. The applied load generates a state of global compression in the structure. Figure 19 shows the analysed structure, its geometry, and the boundary conditions set for the analysis. As it can be seen from Figure 17, the global buckling load is around 490 kN with an imposed displacement of about 2.1 mm. Thus, the structure, once the local instabilities have been detected, can tolerate an additional 25% load before the global instability with the consequent loss of its ability to support further compressive load.
This may suggest that this type of structure could also be considered as safe when the instability load of the individual internal units is exceeded. Figure 18 shows the global displacements corresponding to the critical compressive displacement. According to Figures 14-16, it can be noted that the first 10 eigenvalues are very close each other. The outputs shown are only a small part of those made available by the downstream routine of the analysis, moreover at the end of the analysis, the routine provides a practical text file that contains all the data of interest for the analysis.
Then, a static non-linear analysis, considering the geometric non-linearities, has been performed in order to compare the linear and non-linear buckling load. The results, in terms of loaddisplacement and stiffness-displacement curves, are reported in Figure 17. As it can be seen from Figure 17, the global buckling load is around 490 kN with an imposed displacement of about 2.1 mm. Thus, the structure, once the local instabilities have been detected, can tolerate an additional 25% load before the global instability with the consequent loss of its ability to support further compressive load.
This may suggest that this type of structure could also be considered as safe when the instability load of the individual internal units is exceeded. Figure 18 shows the global displacements corresponding to the critical compressive displacement.

Test Case 2
The second test case consists of an axial symmetrical cylindrical structure. The structure has been subjected to both linear buckling analysis and non-linear static analysis. The applied load generates a state of global compression in the structure. Figure 19 shows the analysed structure, its geometry, and the boundary conditions set for the analysis.

Test Case 1 -Static Non linear -Compressive Load
Test Case 1 A B Figure 18. Test case 1-Non-linear analysis-total displacement at critical compressive load.

Test Case 2
The second test case consists of an axial symmetrical cylindrical structure. The structure has been subjected to both linear buckling analysis and non-linear static analysis. The applied load generates a state of global compression in the structure. Figure 19 shows the analysed structure, its geometry, and the boundary conditions set for the analysis.  Figure 20 shows the adopted elementary cell and a quarter of the global lattice structure.
As for Test Case 1, the structure has been subjected to a compressive loading condition in order to verify its instability threshold. Two different analyses have been carried out: linear buckling and static non-linear analysis. Figure 21; Figure 22 show the nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). It is clear that the instability only involves the internal structure. Also for this component, it should be noted that these are local modes, so the structure's ability to withstand further load increases has not been compromised.   Figure 20 shows the adopted elementary cell and a quarter of the global lattice structure.
As for Test Case 1, the structure has been subjected to a compressive loading condition in order to verify its instability threshold. Two different analyses have been carried out: linear buckling and static non-linear analysis. Figure 21; Figure 22 show the nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). It is clear that the instability only involves the internal structure. Also for this component, it should be noted that these are local modes, so the structure's ability to withstand further load increases has not been compromised.  Figure 20 shows the adopted elementary cell and a quarter of the global lattice structure.
As for Test Case 1, the structure has been subjected to a compressive loading condition in order to verify its instability threshold. Two different analyses have been carried out: linear buckling and static non-linear analysis. Figure 21; Figure 22 show the nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). It is clear that the instability only involves the internal structure. Also for this component, it should be noted that these are local modes, so the structure's ability to withstand further load increases has not been compromised.    The mass properties of the structure are listed in Table 3.

Lattice Mass External Skin Mass Internal Skin Mass Total Mass
The first eigenvalue is 10.86 and, since a unit compression displacement has been applied, it is possible to quantify the critical displacement in 10.86 mm, which is equivalent to a compressive load of 139.93 kN. Figure 23 shows the load-displacement and stiffness-displacement curve of the nonlinear static analysis.  The mass properties of the structure are listed in Table 3. The first eigenvalue is 10.86 and, since a unit compression displacement has been applied, it is possible to quantify the critical displacement in 10.86 mm, which is equivalent to a compressive load of 139.93 kN. Figure 23 shows the load-displacement and stiffness-displacement curve of the nonlinear static analysis. The mass properties of the structure are listed in Table 3. The first eigenvalue is 10.86 and, since a unit compression displacement has been applied, it is possible to quantify the critical displacement in 10.86 mm, which is equivalent to a compressive load of 139.93 kN. Figure 23 shows the load-displacement and stiffness-displacement curve of the non-linear static analysis.
As can be seen from Figure 23, the global buckling load with an imposed displacement of about 12.7 mm is over 162 kN. Therefore, the structure can tolerate an additional 15% of load before the global instability and the loss of its ability to sustain further compression load. Figure 24; Figure 25 show the radial (according to the cylindrical coordinate system) and the total displacement at two different time steps representative, respectively, of the local buckling and global buckling conditions. Aerospace 2019, 6, x FOR PEER REVIEW 15 of 21 As can be seen from Figure 23, the global buckling load with an imposed displacement of about 12.7 mm is over 162 kN. Therefore, the structure can tolerate an additional 15% of load before the global instability and the loss of its ability to sustain further compression load. Figure 24; Figure 25 show the radial (according to the cylindrical coordinate system) and the total displacement at two different time steps representative, respectively, of the local buckling and global buckling conditions.

Test Case 2 -Static Non linear -Compressive Load
Test

Test Case 2 -Static Non linear -Compressive Load
Test  As can be seen from Figure 23, the global buckling load with an imposed displacement of about 12.7 mm is over 162 kN. Therefore, the structure can tolerate an additional 15% of load before the global instability and the loss of its ability to sustain further compression load. Figure 24; Figure 25 show the radial (according to the cylindrical coordinate system) and the total displacement at two different time steps representative, respectively, of the local buckling and global buckling conditions.    As can be seen from Figure 23, the global buckling load with an imposed displacement of about 12.7 mm is over 162 kN. Therefore, the structure can tolerate an additional 15% of load before the global instability and the loss of its ability to sustain further compression load. Figure 24; Figure 25 show the radial (according to the cylindrical coordinate system) and the total displacement at two different time steps representative, respectively, of the local buckling and global buckling conditions.

Test Case 3-Structural Optimization
The last test case is focused on the optimization of a cylindrical lattice structure with internal skin in metal and external skin in composite material.
To maximize the efficiency of the optimization phase and thus to reduce the computational costs, a reduced set of design variables has been set for this case. The structure has been optimized in terms of weight. As constraint function, the buckling load must be higher than 140 kN (which is the buckling load of test case 2). Therefore, only linear buckling analyses have been performed, and the first buckling load has been used to evaluate the feasibility (or unfeasibility) of a solution.
In this specific case, the design variable reported in Table 4 have been taken into account. For the entire optimization run, an 8-node cylindrical adaptive cell has been considered without radial bias factor. Since this is a linear buckling analysis which is not able to provide in output a stress state, the minimum buckling load of 140 kN has been set as the only constraint function.
The objective function is represented by the total mass of the structure. The generation 0 (the initial one) has been created by a SOBOL algorithm with 200 individuals. The optimization algorithm is a MOGA-II with 100 generations characterized by the set of parameters listed in Figure 26

Test Case 3-Structural Optimization
The last test case is focused on the optimization of a cylindrical lattice structure with internal skin in metal and external skin in composite material.
To maximize the efficiency of the optimization phase and thus to reduce the computational costs, a reduced set of design variables has been set for this case. The structure has been optimized in terms of weight. As constraint function, the buckling load must be higher than 140 kN (which is the buckling load of test case 2). Therefore, only linear buckling analyses have been performed, and the first buckling load has been used to evaluate the feasibility (or unfeasibility) of a solution.
In this specific case, the design variable reported in Table 4 have been taken into account. For the entire optimization run, an 8-node cylindrical adaptive cell has been considered without radial bias factor. Since this is a linear buckling analysis which is not able to provide in output a stress state, the minimum buckling load of 140 kN has been set as the only constraint function.
The objective function is represented by the total mass of the structure. The generation 0 (the initial one) has been created by a SOBOL algorithm with 200 individuals. The optimization algorithm is a MOGA-II with 100 generations characterized by the set of parameters listed in Figure 26. 5200 individuals has been evaluated during the optimization run. The best design has been evaluated at configuration 3130 and it is characterized by the mass properties reported in Table 5.  Figure 27 shows the percentage of feasible and infeasible individuals, and the percentage of individuals that the software failed to analyse. Indeed, some individuals can results in non-consistent structures; for example, in the case in which all flags of the cell connections are set equal to 0.
As it is possible to notice, the feasible design set is over 77%, followed by 20% of unfeasible individuals, and almost 3% of individuals not evaluated. 5200 individuals has been evaluated during the optimization run. The best design has been evaluated at configuration 3130 and it is characterized by the mass properties reported in Table 5.  Figure 27 shows the percentage of feasible and infeasible individuals, and the percentage of individuals that the software failed to analyse. Indeed, some individuals can results in non-consistent structures; for example, in the case in which all flags of the cell connections are set equal to 0.
As it is possible to notice, the feasible design set is over 77%, followed by 20% of unfeasible individuals, and almost 3% of individuals not evaluated.
Hereafter, the results of the analyses carried out on the best design set are introduced. Figure 28 shows the analysed structure, with its geometry and the boundary conditions set for the analysis. Hereafter, the results of the analyses carried out on the best design set are introduced. Figure 28 shows the analysed structure, with its geometry and the boundary conditions set for the analysis.  For this structure an adaptive cylindrical cell with 8-node and 4 connections has been used. The diameter of each element of the latex structure is 0.5 mm. The structure has an internal skin with a thickness of 0.5 mm, and the external skin is characterized by 4 plies with the segmented stacking sequence of [45; −45]2. Figure 29; Figure 30 show the total nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). The instability involves only the internal structure and the internal skin. For this component, only local instability modes have been detected.  Hereafter, the results of the analyses carried out on the best design set are introduced. Figure 28 shows the analysed structure, with its geometry and the boundary conditions set for the analysis.  For this structure an adaptive cylindrical cell with 8-node and 4 connections has been used. The diameter of each element of the latex structure is 0.5 mm. The structure has an internal skin with a thickness of 0.5 mm, and the external skin is characterized by 4 plies with the segmented stacking sequence of [45; −45]2. Figure 29; Figure 30 show the total nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). The instability involves only the internal structure and the internal skin. For this component, only local instability modes have been detected. For this structure an adaptive cylindrical cell with 8-node and 4 connections has been used. The diameter of each element of the latex structure is 0.5 mm. The structure has an internal skin with a thickness of 0.5 mm, and the external skin is characterized by 4 plies with the segmented stacking sequence of [45; −45] 2 . Figure 29; Figure 30 show the total nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). The instability involves only the internal structure and the internal skin. For this component, only local instability modes have been detected. Hereafter, the results of the analyses carried out on the best design set are introduced. Figure 28 shows the analysed structure, with its geometry and the boundary conditions set for the analysis.  For this structure an adaptive cylindrical cell with 8-node and 4 connections has been used. The diameter of each element of the latex structure is 0.5 mm. The structure has an internal skin with a thickness of 0.5 mm, and the external skin is characterized by 4 plies with the segmented stacking sequence of [45; −45]2. Figure 29; Figure 30 show the total nodal displacements (eigenvector) for the first calculated buckling load (eigenvalue). The instability involves only the internal structure and the internal skin. For this component, only local instability modes have been detected.   The first eigenvalue is 7.15, and, having applied a unit compression displacement, it is possible to quantify the critical displacement in 7.15 mm, corresponding to a critical load of 143 kN.
It should be noted that this structure has improved performances if compared to a generic solid structure. Indeed, considering a beam structure with cylindrical section and the same material, it is possible to estimate the critical load with the Euler formula. Table 6 shows the data of a solid structure with similar structural performances, i.e., with a critical load equal to 143 kN. The mass for such a structure is 0.208 kg.
Considering, therefore, that the total mass of the optimized lattice/skins structure is 0.093 kg, it is possible to quantify an achieved mass reduction of more than 55%.

Conclusions
This paper introduces a numerical procedure aimed to generate and optimize axial-symmetric hybrid (metal/composite) structures. The metallic part is supposed to be a lattice type structure, composted by elementary truss connected each other and manufactured by means of additive manufacturing process, while the composite parts are supposed to be integrated in the lattice structure by means of an automated filament winding process.
The developed procedure has been in the Ansys FEM code by means of the Ansys Design Parametric Language and can be interfaced with the optimization software ModeFrontier. Actually, Ansys has been adopted for the construction of the geometrical and the FE models, for the structural analysis and for the post-processing. ModeFrontier is dedicated to the definition of the best design set under defined loading and boundary conditions and thus to the optimization of the generate hybrid structure. The routine is able to generate autonomously a wide range of hybrid structures based on the lattice/skin concept.
A fundamental part of the whole routine is the generation of the unit cells repeated to fill the entire domain of definition of the metal lattice structure with strong connection (common nodes) to the external and internal skins. The connectivity of the unit cell can be easily managed by the user and/or by the optimization software. Another important aspect regards the adaptively of the lattice structure to the internal and external skin (the skins can be realized both in metallic and in composite material). The first eigenvalue is 7.15, and, having applied a unit compression displacement, it is possible to quantify the critical displacement in 7.15 mm, corresponding to a critical load of 143 kN.
It should be noted that this structure has improved performances if compared to a generic solid structure. Indeed, considering a beam structure with cylindrical section and the same material, it is possible to estimate the critical load with the Euler formula. Table 6 shows the data of a solid structure with similar structural performances, i.e., with a critical load equal to 143 kN. The mass for such a structure is 0.208 kg.
Considering, therefore, that the total mass of the optimized lattice/skins structure is 0.093 kg, it is possible to quantify an achieved mass reduction of more than 55%.

Conclusions
This paper introduces a numerical procedure aimed to generate and optimize axial-symmetric hybrid (metal/composite) structures. The metallic part is supposed to be a lattice type structure, composted by elementary truss connected each other and manufactured by means of additive manufacturing process, while the composite parts are supposed to be integrated in the lattice structure by means of an automated filament winding process.
The developed procedure has been in the Ansys FEM code by means of the Ansys Design Parametric Language and can be interfaced with the optimization software ModeFrontier. Actually, Ansys has been adopted for the construction of the geometrical and the FE models, for the structural analysis and for the post-processing. ModeFrontier is dedicated to the definition of the best design set under defined loading and boundary conditions and thus to the optimization of the generate hybrid structure. The routine is able to generate autonomously a wide range of hybrid structures based on the lattice/skin concept.
A fundamental part of the whole routine is the generation of the unit cells repeated to fill the entire domain of definition of the metal lattice structure with strong connection (common nodes) to the external and internal skins. The connectivity of the unit cell can be easily managed by the user and/or by the optimization software. Another important aspect regards the adaptively of the lattice structure to the internal and external skin (the skins can be realized both in metallic and in composite material).
In order to validate the numerical procedure and to check its robustness in generating differently shaped complex structures representative of the mechanical behaviour of lattice metallic structures with composite and metallic skins, several numerical test cases have been analyzed. The last test case has been optimized by fully exploiting all the functionality of the procedure in interfacing with the optimization software.
The analysed test cases have shown that the generated structures exhibit local buckling modes. In general, they have been found able to sustain from 25% to 15% additional compressive load before global buckling and loss of capability to sustain compressive load. Hence, for these structures, the buckling load of the unit cell can be considerably lower than the global buckling.
The results obtained for the last test-case have highlighted that, with the proposed routine, lattice/skin structures can be generated and optimised able to guarantee a reduction of about 55% in weight if compared to solid structures.