1. Introduction
Concrete, a widely utilized building material worldwide, is a typical heterogeneous material composed of cement, aggregates, interfacial transition zones (ITZs) surrounding the aggregates, and voids. Due to the relatively low strengths of the ITZs, cracks are prone to emerge in the ITZs and propagate along the profiles of the aggregates. In this sense, the mechanical performance of concrete is closely related to its mesostructure. For a numerical simulation at the mesoscale, the spatial distribution of aggregates should be determined first, and it should meet the grading and packing requirements simultaneously. To date, the approaches for aggregate placement can be divided into four categories as follows.
- (1)
The “take-and-place” method [
1,
2,
3] involves randomly depositing aggregates into the target domain and then conducting intersection checks to retain aggregates meeting the specified criteria. Although this method ensures rational aggregate grading, it may fall short of achieving a high aggregate volume fraction. For instance, Zhang et al. [
4] utilized X-ray computed tomography (XCT) to scan aggregates and employed the take-and-place algorithm to establish mesoscale concrete models.
- (2)
The “place-and-generate” method [
5,
6] requires randomly distributed points to be generated within the target domain, and subsequently, various types of aggregates are generated at these points using aggregate growth algorithms [
5,
7] or Voronoi diagrams [
8,
9,
10]. Although a high aggregate volume fraction can be achieved, the aggregate grading always deviates from the ideal curve.
- (3)
The “random walk algorithm” (RWA) [
11,
12] involves sequentially introducing generated aggregate particles into the target domain through a random walk process, including translations and rotations until no more aggregates can be placed. Although the aggregate volume fraction and grading can be ensured, it exhibits a low efficiency in placing polyhedral aggregates. Wu et al. [
13] employed the RWA to obtain a mesoscopic model of concrete with convex polyhedra.
- (4)
The “aggregate packing” method [
14] generates aggregates individually and arranges them layer by layer into the domain. While no intersection or overlapping check is required, it may result in a lower aggregate volume fraction due to the presence of gaps between aggregates, and once aggregates are generated by the algorithm, they cannot be moved anymore. Huang et al. [
15] utilized XCT to scan real aggregates and employed the aggregate packing algorithm to generate realistic mesoscale concrete models. Liang et al. [
16] combined the aggregate packing and take-and-place algorithms to introduce “partial aggregates” into the target domain and established a two-dimensional mesoscopic model for asphalt concrete.
Among the above-mentioned methods for aggregate placement, the Voronoi diagram, which is a place-and-generate method, has garnered significant attention due to its relatively high efficiency. Its application in aggregate placement was initially proposed by Caballero et al. [
8]. The fundamental concept involves generating Voronoi cells at seed points through Delaunay triangulation and utilizing them for aggregate generation. Based on this paper, Zhang et al. [
17,
18] constrained the minimum distance between seed points and controlled the distribution irregularity of Voronoi cells using a random coefficient. Ren et al. [
19] uniformly divided the target domain into several sub-domains and altered the shapes of the Voronoi cells by shifting the positions of their centroids. To obtain more realistic models, Naderi et al. [
20] transformed Voronoi polyhedra into smooth-surface aggregates using splining techniques. Zhang et al. [
21] utilized the XCT technique to obtain real aggregate shape data and employed Voronoi cells as containers for storing aggregates, which could be filled with aggregates smaller than cells. Ma et al. [
22] generated coarse aggregates using Voronoi diagrams and scaling procedures and then filled the interstices of the coarse aggregates with fine aggregates using the take-and-place method. Wei et al. [
23] proposed a “repartitioning-based aggregate generation” method to repartition the specimen space into Voronoi cells. The aggregates that were consistent with the grading curve were selected so that the grading requirement could be achieved. However, the following drawbacks of the algorithms based on the Voronoi diagram cannot be overlooked. (1) The closely connected aggregates generated by the Voronoi diagrams often fail to adequately represent the mortar phase. (2) Adjacent surfaces of neighboring aggregates frequently appear parallel, deviating significantly from the actual spatial distribution of aggregates. (3) Generated aggregates often struggle to meet grading requirements.
To address the limitations of the algorithms based on Voronoi diagrams, a novel hybrid method for aggregate placement, named Voronoi–random walk (V-RW), is proposed. It utilizes the RWA to generate spherical aggregates that meet grading requirements. The centers of these spherical aggregates serve as seed points for generating a series of polyhedra in the target domain using the Voronoi algorithm. Subsequently, an optimization algorithm is employed to improve the quality of the polyhedra by eliminating sharp angles and short edges, followed by a range mapping algorithm to obtain polyhedral aggregates that satisfy both grading and computational requirements. This approach combines the advantages of the RWA in meeting the grading requirements with the efficiency and high-aggregate-volume-fraction characteristics of the Voronoi algorithm. Additionally, it addresses issues caused by the Voronoi algorithm, such as parallel adjacent faces of neighboring aggregates. As the skeleton of concrete, aggregates have a significant impact on the development of cracks in concrete damage. To verify whether the generated aggregate model can reflect the real situation, numerical simulations were conducted on the mesostructure of concrete under uniaxial compression.
Considering computational efficiency, gradation, and aggregate geometry, this paper proposes a novel aggregate generation algorithm. The computations were performed on an Intel Core
[email protected] GHz desktop computer with 16 GB of RAM. It requires approximately 1.2 h for a model with a 40% volume fraction of aggregates, with lower volume fractions necessitating less time. The introduced V-RW algorithm generates aggregate models that align with Fuller gradation. In real concrete, the total aggregate volume fraction typically ranges from 60% to 70% [
24,
25]. By excluding fine aggregates and focusing on coarse aggregates, a model with a 40% volume fraction is acceptable. This paper provides both a theoretical foundation and technical support for subsequent large-scale, multi-scale numerical simulations.
2. Voronoi–Random Walk Aggregate Generation Method
2.1. Polyhedral Aggregate Generation
In the Voronoi diagram method, the sizes of the generated polyhedra tend to be relatively uniform, which is not conducive to achieving a realistic aggregate grading. As the RWA can obtain reasonable grading curves [
12], it is employed to arrange the seed points of the Voronoi polyhedra to achieve good grading. Owing to the advantage of Voronoi diagrams, the preliminary morphology of the aggregates can be provided, reducing the burden of reshaping the aggregates.
2.1.1. Random Walk Algorithm (RWA)
The RWA consists of two main components: aggregate generation and a random walk. First, aggregates that meet the grading requirements are generated within a specified region. Subsequently, these aggregates are gradually introduced into the target domain by a random walk. During the implementation of the RWA, aggregates undergo translation and rotation to simulate the actual pouring and compaction processes of concrete, which include horizontal and downward movements. The aggregates must satisfy two requirements: (1) all aggregates cannot exceed the target domain, and (2) there are no intersections between any two aggregates. The random walk process is executed iteratively until no more aggregates can be added to the target domain. For further details of the RWA, please refer to our previous papers [
11,
12].
With spherical aggregates as an example, the procedure involves initially determining the target grading and the size of the target domain. Subsequently, spherical aggregates are generated within a specified region and then placed into the target domain by the random walk process. Due to the symmetry of the spherical aggregates, only translation is considered during the random walk process. Throughout the random walk procedure, aggregates are required to adhere to the two aforementioned requirements. The placement of aggregates will be terminated when no new aggregates can be placed into the target domain.
2.1.2. Voronoi Polyhedra Generation Algorithm
Voronoi tessellation can partition a target domain into several sub-domains based on seed points
Si. Each sub-domain, named a Voronoi cell
Vi, is defined such that any point
Pi within it is closer to its associated seed point than to any other seed point in the set [
26],
Vi = {
P|
d(
Pi,
Si) <
d(
Pi,
Sj),
i ≠
j}. If there are
N seed points, then
N corresponding Voronoi polyhedra can be obtained to represent the tessellation [
17].
The generation process of Voronoi polyhedra is shown as follows:
- (1)
Generate spherical aggregates according to the user-defined grading curve.
- (2)
Employ the RWA to place spherical aggregates into the target domain, as shown in
Figure 1a.
- (3)
Take the centers of the spherical aggregates as seed points for the Voronoi tessellation, as shown in
Figure 1b.
- (4)
Employ the Delaunay triangulation to generate Voronoi polyhedra representing the aggregates based on the generated seed points, as illustrated in
Figure 1c.
Figure 1.
Generation process of Voronoi polyhedra: (a) generation of spherical aggregates, (b) seed points for the Voronoi tessellation, and (c) Voronoi polyhedra generation.
Figure 1.
Generation process of Voronoi polyhedra: (a) generation of spherical aggregates, (b) seed points for the Voronoi tessellation, and (c) Voronoi polyhedra generation.
2.2. Polyhedral Geometry Optimization
The neighboring polyhedra obtained from the Voronoi tessellation are in contact. Scaling down the aggregates will lead to parallel faces of neighboring aggregates, which differs from the real distribution of aggregates. If these polyhedra are used for finite element analysis, as the load increases, damage will occur simultaneously in the interfacial transition zones between all pairs of parallel faces, and the failure behavior of concrete cannot be captured accurately. Furthermore, Voronoi polyhedra often exhibit defects such as short edges and sharp angles, which may lead to convergence issues in nonlinear analysis and should be eliminated.
2.2.1. Eliminating Short Edges
To eliminate the short edges in Voronoi polyhedra, Xu et al. [
27] conducted geometric optimization of “very small angles and edges” to obtain improved polyhedral shapes through a technique called “micro-cutting”. Naderi et al. [
28] used the Loop subdivision surfaces technique to optimize the short edges and sharp angles in Voronoi polyhedra. Other researchers restricted the minimum distance between vertices [
17,
29] by using algorithms such as edge deletion to address geometric feature issues in polyhedra. Similarly, a new algorithm for optimizing short edges is proposed in this paper.
Figure 2a shows a two-dimensional schematic of vertex merging for short edges. A user-defined minimum edge length is introduced. The ends of the edges with lengths smaller than the minimum edge length will be merged into a new vertex, and the number of edges will be decreased by one. The coordinates of the new vertex are calculated as the midpoint of the edge.
2.2.2. Improving Sharp Angles
To improve the sharp angles in Voronoi polyhedra, a non-uniform scaling-down algorithm is conducted.
Figure 2b shows a schematic illustration of the algorithm, taking a two-dimensional polygon as an example. The black polygon denotes the original, while the red one is the scaled-down form. Our strategy is to adapt different scaling factors based on the distance between vertices and seed points. For the vertices that are far from the seed point, the scaling factor of the distance needs to be relatively small, while for the vertices that are close to the seed point, the scaling factor can be a number close to one. The specific steps are as follows:
- (1)
Randomly select a polyhedron Vi(Pi, Si) and a vertex Pi(Pi1, Pi2, …, Pik), where k represents the number of vertices.
- (2)
Calculate the distance
Dij from the seed point to the vertices:
- (3)
Find the minimum distance Dmin = min(d(Pij, Si)).
- (4)
Calculate the distance Dij′ from the seed point to the new vertices using the following expression:
where Δ
Dij is calculated by Δ
Dij =
Dij −
Dmin, and
β is the scaling factor between 0 and 1, which is set to 0.5 in
Figure 2b.
- (5)
Perform non-uniform scaling down on the polyhedron, with the coordinates of the new vertices denoted as
Pi′(
Pi1′,
Pi2′, …,
Pik′):
By applying the two operations described above to each polyhedron, a group of polyhedra with random shapes can be achieved, as shown in
Figure 3, and the “convexity” of the polyhedra is preserved to the fullest extent.
2.3. Adjustment of Aggregate Grading
2.3.1. Aggregate Grading
Concrete structure grading theory includes continuous grading and discontinuous grading. Based on continuous grading theory, the aggregate grading is calculated. The ideal grading curve proposed by Fuller and Thompson [
30] is widely used and accepted.
The Fuller curve is defined as
where
d is the aperture of the sieve,
P(
d) represents the cumulative percentage passing the sieve,
dmax represents the maximum size of the aggregate particles, and
n is a constant parameter, which is typically set to 0.45–0.7. The formula for calculating the weight percentage of particles in the range [
di,
di+1] is [
12]
For aggregates distributed continuously in this particle size range, the volume calculation formula is [
12]
where (
di,i+1) is the representative size of the grading range and can be calculated by
During aggregate simulation and placement, the grading of aggregates should be represented by the cumulative quantity percentage instead of the cumulative mass percentage. Assuming that the density of aggregates is constant, the cumulative quantity percentage can be calculated based on the cumulative mass percentage. The quantity percentage of the grading range [
di,
di+1] is
The cumulative quantity percentage can be calculated by
2.3.2. Range Mapping Algorithm
The implementation of aggregate grading relies on the range mapping and uniform scaling of polyhedra. Range mapping refers to grouping the generated Voronoi polyhedra collection based on the particle size and determining appropriate scaling factors for each group based on their particle size. Uniform scaling of polyhedra means that, within a specific polyhedron, the distances between all vertices to the seed point are adjusted based on a uniform scaling factor.
The steps for range mapping are as follows:
- (1)
For a polyhedron Vi(Pi, Si) with j vertices, calculate the distance d(Pim, Pin) (m ≠ n; m, n = 1, 2, 3, …, j) between any two vertices Pim and Pin. The maximum distance is taken as the particle size of the polyhedron and denoted as d(Vi) = max(d(Pim, Pin)).
- (2)
Sort the polyhedra by particle size from small to large and range the Voronoi polyhedra collection based on the number of polyhedra in each sub-range, which is calculated as follows:
where
Npoly is the number of Voronoi polyhedra, [
Di,1,
Di,2] is the particle size range,
Di,1 is the minimum particle size of the
ith range, and
Di,2 is the maximum particle size of the range.
- (3)
Map [
Di,1,
Di,2] to [
di,
di+1].
Ds represents the size of the polyhedron in the particle size range [
Di,1,
Di,2]. Any
Ds can be used to find the corresponding value
ds in [
di,
di+1] according to
- (4)
Scale the polyhedral uniformly. The original vertex
Pi of a specific polyhedron moves toward the seed point
Si, and the coordinates of the new vertex
Pi′ are calculated according to a scaling factor
qs, which is determined by
2.4. Comparison with Fuller’s Curve
Using the grading type of aggregates from
Table 1, the Fuller gradation curve was calculated based on Equations (6) and (7), and Fuller curves were plotted for
n values ranging from 0.45 to 0.7, as shown in
Figure 4. This range is indicated by the shaded blue area. Since the typical range for
n is 0.45–0.7, it can be concluded that aggregate models with gradation curves within this range conform to Fuller’s gradation.
Figure 4 displays the gradation curves of generated aggregate models with different volume fractions, where PA represents the aggregate volume fraction. It can be observed that the generated aggregate models generally align well with the Fuller curve. However, the cumulative passing percentage for smaller sieve sizes exceeds that of the Fuller curve due to the higher generation probability of smaller aggregates and the fact that the gradation adjustment algorithm starts with small aggregates. Additionally, larger aggregates are partially “cut” during polyhedral geometry optimization and gradation adjustment processes, which also contributes to the higher cumulative passing percentage for smaller aggregates.
2.5. Flowchart of the V-RW Algorithm
The V-RW algorithm consists of three steps, as shown in
Figure 5.
Step 1: Voronoi polyhedra generation
The RWA is used to generate spheres that meet the grading requirements. The centers of these spheres are taken as seed points, and Delaunay triangulation is used to generate Voronoi polyhedra based on these seed points.
Step 2: Polyhedron geometry optimization, including short-edge elimination and sharp-angle improvement
In the short-edge elimination operation, a minimum length of the edges is preset. In the sharp-angle improvement operation, the distance from the polyhedron seed point to the vertex is obtained from Equation (1). Then, the scaling factor β is applied to adjust the positions of the vertices. The coordinates of the new vertices are obtained by Equations (2)–(5), thereby improving the sharp-angle defects. Sharp angles and short edges are iteratively checked to achieve polyhedron geometric optimization.
Step 3: Adjustment of aggregate grading
The particle size range [di, di+1] is used for standardized grading. The percentage of particles for each particle size range is determined based on Equations (10) and (12). The generated polyhedron aggregates are sorted by particle size and grouped according to the percentage determined above; the particle size range [Di,1, Di,2] is obtained. The scaling factor is calculated by Equation (14), the Voronoi polyhedron particle size range [Di,1, Di,2] is mapped to [di, di+1], and the coordinates of the new polyhedron vertices are obtained according to Equation (16).
3. Numerical Simulations
During the course of this study, a finite element (FE) model was designed using ABAQUS 2017, specifically tailored to the previously generated aggregate model, with the purpose of validating the damage scenarios within the mesostructure of concrete. The details of the FE modeling are discussed in the following sections.
3.1. Mesoscale Model of Aggregate
In this paper, a target domain with the dimensions of 50 × 50 × 50 mm was used for aggregate generation. The size distribution is shown in
Table 1. The parameter
n for the Fuller curve was set as 0.6. For the geometric optimization of the polyhedra, the minimum length of the edge was set as 0.02 mm. To ensure the rationality of the aggregate model, it was necessary to generate as many seed points as possible in the target area. The model chosen for the simulation discussed in this section comprised 820 aggregate particles.
Figure 6 shows the aggregate model with an aggregate volume fraction of 26.06%.
3.2. Finite Element Modeling
The target domain of the mesostructure of concrete is a cube with a side length of 50 mm. The geometry and spatial distribution of the aggregate model were imported from MATLAB R2021b to ABAQUS 2017 for geometric modeling. In the example from
Section 3.1, the aggregates were cut from a cube with a side length of 50 mm using Boolean operations, and the rest was defined as mortar. At the interfaces between the aggregates and mortar, cohesive elements with zero thickness were inserted [
3,
31]. Finally, the three components were assembled for the finite element modeling, as shown in
Figure 7.
The element type of the aggregates and mortar was C3D4, and COH3D6 was used for the ITZ. It should be noted that the C3D4 element used in this study is a four-node tetrahedral element, which is known for its good performance in studying the internal components of concrete. The COH3D6 element, on the other hand, is a six-node wedge cohesive element that can represent the interface behavior between concrete and aggregates.
The concrete damaged plasticity model can accurately simulate the nonlinear behavior of mesoscale concrete [
20,
22,
32]. The CDP model was applied to the mortar matrix, and the values of normal stress, tangential stress, and fracture energy in the damage evolution of the mortar matrix are all based on previous studies [
32]. In this paper, the compressive strain hardening and softening curves follow GB50010 [
33,
34], and the constitutive relation is shown in
Figure 8a. Additionally, the detailed CDP parameters are as follows: the dilation angle is 35°, plastic eccentricity is 0.1, the ratio of biaxial to uniaxial compressive strength is 1.16, the concrete yield shape parameter is 0.667, and the viscosity parameter is 0.0005 [
20,
32,
35]. A bilinear constitutive law was used in cohesive elements due to its excellent computational efficiency and high accuracy [
36]. The values of maximum nominal stress and fracture energy in damage evolution were taken from a previous study [
31].
GC is mixed-mode fracture energy,
Gn is strain energy in the normal direction,
Gs is shear strain energies in two directions, and the mixed-mode fracture criterion is shown in
Figure 8b. The main material properties of the mesoscale model are shown in
Table 2.
During the simulation process, we conducted a mesh sensitivity validation on the mesoscale model presented in
Figure 7, employing a global mesh with element sizes of 0.7 mm, 1 mm, 1.4 mm, and 2.1 mm, respectively. The analysis indicated that the 1 mm element size provided a good balance between computational efficiency and accuracy. Consequently, the global mesh size was set to 1 mm.
Finite element analysis was performed using the dynamic explicit method to simulate the uniaxial compression of the concrete cubic specimen. Loading was applied in the form of displacement, with two pads set in the Y direction of the specimen. The upper pad was subjected to a vertical displacement of 0.2 mm in the negative Y direction, while the lower pad was fixed. Guo et al. [
37] believe that the friction coefficient can reflect the real experimental conditions within the range of 0.1 to 0.7. To simulate the failure mode of this concrete cubic specimen during compression, frictional constraints were set between the upper and lower pads and the contact surface with a friction coefficient of 0.6.
3.3. Simulation Results and Discussion
The fracture process of the concrete cube is represented by the damage distribution of the mortar. “SDEG” represents the overall scalar stiffness degradation variable, with a range of 0 to 1, where 0 represents undamaged and 1 indicates completely damaged [
4]. The value of SDEG increases with damage accumulation, and elements with an SDEG value greater than 0.9 are regarded as cracks [
20,
32].
Figure 9b shows the final damage distribution of a three-dimensional concrete cube.
Figure 9a presents the failure mode observed in the experimental results from the previous paper [
20]. During the failure process, the number of oblique cracks in the concrete cube increased, and triangular-shaped cracks appeared near the top and bottom regions, as shown in
Figure 9b, where local triangular damage with wedge-shaped blocks is evident on the model surface. The results indicated that localized damage and detachment occurred, as shown in
Figure 9c. To clearly display the final failure mode, the elements that had suffered damage and detachment were removed.
Figure 9d shows the damage distribution at the internal section of the concrete cube, in which the white areas represent aggregates. It is observed that the high-stress regions were mostly concentrated around the aggregates, and cracks nucleated and propagated along narrow paths on the surfaces of the aggregates and within the mortar. This was because the ITZ was the weakest part of the concrete cube.
The numerical results showed that damage was almost nonexistent at the top and bottom surfaces of the concrete cube but was observed in the middle of the model. The development of lateral tensile stress was limited by the tangential constraint, preventing cracks from propagating parallel to the loading direction. This is consistent with the results obtained under high-friction-coefficient conditions [
29]. The overall failure mode of the concrete cube resembled an hourglass shape, similar to previous experimental results [
20].
Figure 10 shows the stress–strain curves of the present method and from the literature [
29,
32,
38]. From
Figure 10, it can be observed that the curve simulated in this study exhibited a trend in the elastic stage, peak strength, and degradation stage that was consistent with the results in the literature overall. The differences in these curves may be attributed to factors such as the aggregate characteristics (e.g., shape, gradation, volume fraction, and random distribution), mesh properties (element type and size), and damage model employed.