## 2 Model Structures  
### Generation of a Closed-Cell Foam Structure  
To simulate the realistic pore geometry effectively, a novel Voronoi-based modelling methodology was described hereinafter for the closed-cell metal-foam materials with low porosity. The Voronoi tessellation is a finite partition method that divides a space into \(n\) independent regions with \(n\) separate nucleation points. If \(\mathbf{P}=\left\{\mathbf{p}_{1},\mathbf{p}_{2},\cdots,\mathbf{p}_{n}\right\}\) is a set of n nucleation points in space \(\mathbf{X}^{m}\), the Voronoi region \(\mathbf{R}_{i}\) can be defined as  
\[\mathbf{R}_{i}=\left\{x\in\mathbf{X}\big{|}d(x,\mathbf{p}_{i})\leq d(x,\mathbf{p}_{j})\ \text{ {forall} }j\
eq i\right\} \tag{1}\]  
where \(d(\cdot,\cdot)\) denotes the normal Euclidean distance. For each nucleation point, there is a corresponding region consisting of a specific subset, which satisfies that all the points in the subset are closer to that nucleation point than to any other.  
The metal-foam model can be created in the following steps, randomly generate nucleation points, Voronoi tessellation, spheres packing, randomly define boundary thickness, and generate metal-foam model.  
The first is the random generation of nucleation points, which largely determines the location and size of the pores. Here, the perturbation nucleation point method is adopted to describe the randomness of the pores. The specific expressions are as follows.  
\[\begin{array}{l}x_{i}=x_{oi}+norm(0,k)\\ y_{i}=y_{oi}+norm(0,k)\,\\ z_{i}=z_{oi}+norm(0,k)\end{array},\ \ \ \ \ \ \ \ \ i=1,2,...,n \tag{2}\]  
where \(\left\{\mathbf{x},\mathbf{y},\mathbf{z}\right\}\) are the location of nucleation points, and the set of \(\left\{\mathbf{x}_{o},\mathbf{y}_{o},\mathbf{z}_{o}\right\}\) are the original points that uniformly distributed. The symbol of \(norm(0,k)\) denotes a Gaussian random distribution with a mean of 0 and a standard deviation of k, where the value of \(k\) determines the perturbation degree of the new nucleation points distribution.  
Subsequently, the Voronoi tessellation method is applied to divide a cube space into multiple convex polyhedra with the random nucleation points generated above. The number of polyhedra depends on the number of these nucleation points.  
Then, to create the closed-cell pore structure, the algorithm of spheres random packing is proposed. The algorithm starts with searching for a maximum volume sphere in each convex polyhedron and randomly defines the distance between the spheres. If the volume of these spheres does not meet the pre-set porosity requirements, the procedure will continue the search of maximum volume spheres in the remaining space one by one, until the requirements are met. Moreover, the randomness of the boundary thickness between pores is taken into account in the searching process of spheres. Meanwhile, for convex polyhedra on boundary surfaces, the boundary constraint is removed to search the larger part of the sphere to simulate the characteristics of the surface pores.  
Eventually, the Boolean operation is employed to subtract the resulting three-dimensional (3D) solid pores from the solid cube. Thus, the metal foam structure can be created effectively, which consists of multiple random pores.  
In the proposed approach, the Voronoi structure and the packed spheres were generated in MATLAB (R2016b, MathWorks, USA) by utilizing the algorithm described above. Then, the 3D metal-foam solid model was created in UG software with the automation procedure, which was developed based on the C/C++ language and UG secondary development technology. The basic steps of constructing the 3D metal-foam model are presented in Figures 1 and 2, which can provide a simple and effective method for practical engineering.