Efficient concrete three-dimensional aggregate generation and feeding method-three-dimensional residual space method
Technical Field
The invention relates to the field of concrete mesoscopic numerical modeling, in particular to a high-efficiency concrete three-dimensional aggregate generating and feeding method, namely a three-dimensional residual space method.
Background
Concrete is a heterogeneous and uniform entity, is limited by manpower, financial resources and material resources only through macroscopic research, and is difficult to analyze the mechanical behavior of each part in concrete components, aggregate, mortar and an Interface Transition Zone (ITZ) between the aggregate and the mortar in what way to participate in the whole concrete. Therefore, research needs to be carried out on concrete from a mesoscopic level, for example, how to establish a concrete mesoscopic model closer to a real situation, so that various concrete mesoscopic simulations have higher reliability; how to explore a concrete mesoscopic model modeling method with higher efficiency and wider application range is suitable for common concrete, recycled concrete, dam concrete and the like, even composite materials composed of different phases.
At present, with the maturity of the mesoscopic technology, generation and feeding methods of various forms of aggregates are considered to be based on a random aggregate method, and the bottleneck problem of later-stage feeding efficiency is improved through an additional means, but the methods have to be further researched on the universality of two-dimensional models, three-dimensional models and various aggregate types. The skeleton theory is used for obtaining branch points through the generation and reutilization of the two-dimensional pixels to put the aggregates, although a general generation algorithm for various two-dimensional aggregates and the putting efficiency acceleration can be provided, the two-dimensional aggregates have different mechanical properties compared with the three-dimensional aggregates; the framework theory is directly applied to a three-dimensional space, the number of the obtained three-dimensional framework branch points is always in the order of magnitude of 10^4, if each branch point is put, the aggregate putting efficiency is low, and the density of the branch points in the middle of the framework is higher than that of the branch points outside the model.
Disclosure of Invention
The invention provides a high-efficiency concrete three-dimensional aggregate generating and feeding method, namely a three-dimensional residual space method, which combines three-dimensional matrix operation and gray level image processing technologies, specifically utilizes a three-dimensional pixel sampling point to perform matrix operation to position aggregates, utilizes pixel points to generate a three-dimensional pixel model, judges whether the aggregates are overlapped or exceed a boundary according to a three-dimensional matrix element value, and provides a generating algorithm suitable for various three-dimensional aggregate models.
And providing an algorithm for selecting a proper aggregate shape according to the actual condition of the real test piece. The method comprises the steps of reconstructing three-dimensional aggregate through slice scanning by a real macroscopic experiment, separating and fitting the aggregate into an ideal shape, extracting parameters such as a length representative value and concave-convex degree of the aggregate, and establishing three-dimensional concrete mesoscopic models with different sizes and different substitution rates based on the extracted three-dimensional parameters. In the model generation process, the real aggregate can be generated only by reading the coordinate data of a certain aggregate in the aggregate library and assigning the elements at the corresponding positions in the matrix for putting.
The three-dimensional residual space method for improving the residual space method by using the clustering algorithm is provided, a three-dimensional pixel model is sliced, skeleton branch points of all slices in three directions are obtained through morphological thinning operation, a branch point taking process is optimized by using a convex hull algorithm and an Euclidean point cloud clustering algorithm, the success rate of aggregate putting is improved, and the efficiency of generating the whole model is further improved; the three-dimensional residual space method flow is shown in the attached figure 1.
Step 1, establishing a three-dimensional pixel model and a three-dimensional pixel sampling point
Determining the size x of an aggregate feeding area according to the size of the modelmax×ymax×zmaxSelecting a scale B to establish a three-dimensional matrix X with all element values of 0.5max×Ymax×Zmax=(B×xmax)×(B×ymax)×(B×zmax) The three-dimensional pixel model is used for putting aggregates, element positions and element center point coordinates of a matrix are recorded, elements in the three-dimensional matrix are cube units in the three-dimensional pixel model, and different element values correspond to different pixel colors;
if the aggregate is not allowed to exceed the boundary, the three-dimensional matrix is expanded to Xmax×Ymax×Zmax= (B×xmax+2)×(B×ymax+2)×(B×zmax+2), the extension area element is set to 1; recording element positions and element center point coordinates of the matrix;
establishing three-dimensional pixel sampling points o, p and q for controlling the directions of x, y and z;
o is used to locate the X-axis, whose element along the X-axis is i, (i ═ 1, 2, 3 … … Xmax) In total of XmaxSlice layer, when x is i, YZ slice size is Ymax×ZmaxAll the element values are i;
p is used to locate the Y-axis, whose element in the Y-axis direction is j, (j ═ 1, 2, 3 … … Ymax) In total of YmaxSlice of Z size when y is imax×XmaxAll the element values are j;
q is used to locate the Z-axis, whose element along the Z-axis is k, (k ═ 1, 2, 3 … … Zmax) In total of ZmaxSlice-by-slice, when z is k, XY-slice size is Xmax×YmaxAll the element values are k;
step 2, determining the total volume ratio p of the aggregate and the maximum particle size dmaxThe particle size range and the cumulative volume percentage of each grade of aggregate are calculated;
step 3, establishing an aggregate library based on shape modeling
(3.1) building a ball aggregate:
the spherical radius is the radius of each grade of aggregate; substituting the central point, the radius and the three-dimensional pixel sampling point of the aggregate to be put into a ball formula to obtain a logic matrix, wherein the logic matrix and the three-dimensional matrix have the same scale, recording element positions meeting conditions and mapping the element positions to the three-dimensional matrix, and adding 0.5 to the element values of the corresponding positions in the three-dimensional matrix to become 1, namely changing the material of the corresponding pixels in the three-dimensional pixel model from mortar to aggregate;
the multiplication and division operation among the three-dimensional pixel sampling points is matrix point multiplication and point division, namely element multiplication and division of each same position of a matrix;
(3.2) building an ellipsoid or ovoid aggregate:
determining the slenderness ratio, taking the radius of each level of aggregate to be matched by the equivalent radius, and calculating the long radius, the short radius, the symmetrical radius and the extreme radius;
randomly rotating an ellipsoid or an egg sphere by three Euler angles alpha, beta and gamma by taking a central point to be put into the aggregate as a rotation point, wherein the range of beta is a uniform distribution function of [0, pi ], and alpha and gamma are uniform distribution functions of [0,2 pi ];
substituting the central point, various radii and the three-dimensional pixel sampling point to be added with the aggregate into the rotated shape formula to obtain a logic matrix, wherein the logic matrix and the three-dimensional matrix have the same scale, recording element positions meeting conditions and mapping the element positions to the three-dimensional matrix, and adding 0.5 to the element values of corresponding positions in the three-dimensional matrix to change the element values into 1, namely changing the material of the corresponding pixels in the three-dimensional pixel model from mortar to aggregate;
the equivalent radius is the radius of the aggregate equivalent to a sphere by an isometric method; the equivalent radius of the sphere is the radius of the sphere;
(3.3) building convex polyhedral aggregate:
determining the slenderness ratio, taking the radius of each level of aggregate according to the equivalent radius, and calculating the long radius, the short radius, the symmetric radius and the extreme radius of the external egg ball; generating an egg ball at an original point, taking the egg ball as a polyhedral aggregate center, dividing the egg ball equally in three axes of x, y and z by taking 6 end points of the egg ball as fixed vertexes of a convex polyhedron in order to ensure that the generated convex polyhedral aggregate and the egg ball have the same slenderness ratio, substituting a plane equation into an egg ball equation to solve to obtain a supplementary point on the egg ball, and taking the supplementary point as a supplementary vertex of the polyhedral aggregate;
adopting a Convex hull enclosure to construct an outer enclosure surface of a Convex enclosure body and obtain information of each surface, judging whether a central point of each element is in the polyhedron according to coordinates of the central point of the element, if the central point of the element is in the polyhedron and does not comprise elements with central points on the surface and the edge in the three-dimensional pixel model, adding 0.5 to a matrix element value of a corresponding position to change the matrix element value into 1, and changing a material of the pixel at the position from mortar to aggregate; rotating the aggregate by taking the original point as a rotation point according to the method in the step (3.2) and performing three-dimensional translation to the feeding central point to generate the aggregate;
(3.4) establishing a concave polyhedral aggregate:
the operation step (3.3) generates a Convex polyhedron which is not rotated and does three-dimensional translation, the Convex hull bounding volume is adopted to construct the outer bounding volume of the Convex bounding volume and obtain the information of each surface, three angular points of any surface are selected, and the midpoint (X) of the surface is calculatedc,Yc,Zc) And is connected with the origin as a line segment lcAt lcUpper fetching point (X)ao,Yao,Zao) As pits of a polyhedron; the coordinates of the newly generated pits are expressed by the following formula:
Xao=δXc,Yao=δYc,Zao=δZc,δ∈(0,1) (2)
where δ is the distance/l from the pit to the origincThe length of (2) is randomly selected on (0,1), which represents the degree of concave points newly generated on the edge, the more delta is close to 1, the less the concave height of the edge is, the more mu is close to 0, the higher the concave height of the edge is;
selecting three angular points of the surface and newly generated concave points, constructing a Convex trihedron by using the Convex hull enclosure in the step (3.3), and subtracting the trihedron from the original Convex polyhedron to obtain concave polyhedron aggregate, namely subtracting 0.5 from the element value of the corresponding position of the trihedron to obtain 0.5, and changing the material of the pixel from the aggregate into mortar; rotating the aggregate by taking the original point as a rotation point according to the method in the step (3.2) and performing three-dimensional translation to the feeding central point to generate the aggregate;
(3.5) recycled aggregate:
determining the substitution rate v, successfully generating the aggregate in the step (3.1), (3.2), (3.3) or (3.4) through the step 5, or changing the aggregate element from 1 to 0.8 every time the aggregate is successfully generated in the step 8, and changing the material of the corresponding pixel into old mortar;
one side is a generation mode of old mortar, the other side is old aggregate, a plane or a curved surface is generated through an aggregate feeding center, and three euler angles alpha ', beta' and gamma 'are randomly rotated, wherein the range of beta' is a uniform distribution function of [0, pi ], and alpha 'and gamma' are uniform distribution functions of [0,2 pi ]; selecting pixels of which the central points simultaneously meet the requirements of being in aggregate and being on one side of a generating surface in the three-dimensional pixel model, and changing the element values of the corresponding positions in the three-dimensional matrix to 1, namely changing the materials of the pixels into old aggregate;
selecting one aggregate with the equivalent radius smaller than that of the old mortar from the steps (3.1), (3.2), (3.3) or (3.4) at the aggregate putting center of the old mortar; changing the element value which simultaneously satisfies 'in old mortar' and 'in aggregate' in the matrix into 1, namely changing the material of the pixel into old aggregate;
step 4, establishing an aggregate library based on real aggregates
(4.1) pretreatment for extraction
Iron oxide (Fe) of the iron green S5605 type was used2O3) And iron red S190 type iron oxide (Fe)2O3) Dyeing the components in the test block; after pouring and maintenance, polishing the color concrete test block layer by using a water mill, scanning the polished and leveled test piece by using a scanner, and polishing the next time after scanning is finished; the grinding depth is 1mm each time; the pigment is not limited to the above pigments, and pigments capable of forming distinct red and green colors can be used for dyeing concrete;
(4.2) reconstructing a real three-dimensional model:
reconstructing the slice images with the scanned and identified components into a three-dimensional model, and generating a matrix with the size consistent with the actual size by using the actual size of 1mm to correspond to the matrix scale of 1 pixel;
(4.3) reconstructing a real three-dimensional coarse aggregate:
extracting all real aggregates from the three-dimensional model to serve as a three-dimensional aggregate library for parameter extraction and aggregate putting; in a three-dimensional space, if a certain voxel is connected with other voxels in a neighborhood, the two voxels are in the same connected domain; extracting different aggregates by a method of extracting different connected domains, and independently extracting voxels belonging to the aggregates into a new matrix;
storing aggregate in a matrix in a coordinate mode, wherein each new matrix is consistent with the actual size;
the equivalent radius of the reconstructed three-dimensional real aggregate is the radius of a sphere with the same voxel;
(4.4) pretreatment of fitting of single coarse aggregate:
calculating the coordinate of the center point of the aggregate, namely the total sum of the coordinate values and the coordinate number of each direction; constructing a polyhedron comprising all the coordinate points of the aggregate by using a convex hull algorithm, finally obtaining the coordinates of all outward convex vertexes of the aggregate, calculating a connecting line of the two vertexes with the longest distance in the aggregate, and recording the connecting line as the longest axis; performing three-dimensional translation and rotation on the whole aggregate to enable the center point of the aggregate to coincide with the origin of coordinates, and enabling the longest axis to coincide with the x axis;
(4.5) selecting convex vertexes of the convex surface of the coarse aggregate to perform fitting:
translating a single aggregate along the x axis for one time, translating the aggregate by +/-0.01-0.02 times of the longest axis every time, autorotating the aggregate around the x axis for m times, rotating the aggregate for 360 DEG/k every time, and then symmetrical 1 time about a yz plane to obtain (1+ l + m) groups of aggregates at different positions; fitting the outward convex vertexes of the aggregates at all the groups of positions to a standard sphere equation, an ellipsoid equation and an egg-ball equation respectively by using an iterative reweighted least square method; taking Mean Square Error (MSE) as the fitting error reference value; the polyhedron skips fitting treatment, and an aggregate coordinate with the minimum fitting error is stored in each type of aggregate form;
(4.6) generating an aggregate library:
after obtaining each aggregate, counting the equivalent particle size of each aggregate, wherein the aggregates with the equivalent particle size of more than or equal to 5mm are classified into four types of aggregate forms according to the grading of the sieve so as to count the parameters of the aggregates with different grades; the aggregate with the equivalent grain diameter of less than 5mm is counted into the mortar part;
setting the center of the aggregate as an origin, randomly rotating for t (t is more than or equal to 50) times around x, y and z axes, wherein 360 DEG/t is used for each time, more than 62500 groups of rotation forms are shared, and all the rotation forms of the aggregate are stored;
(4.7) generating the aggregate by using a real aggregate warehouse:
b is made to be 1, the shape of the aggregate is selected, the equivalent radius is the radius of each level of aggregate, the first rotation form of the aggregate in the radius range is randomly selected, the aggregate is mapped to the three-dimensional pixel model and three-dimensionally translated to the aggregate feeding center, the aggregate center is superposed with the feeding center, the element value of the corresponding coordinate in the three-dimensional matrix is added by 0.5 to become 1, namely the material of the corresponding pixel in the three-dimensional pixel model is changed from mortar to aggregate;
step 5, manually putting the front n aggregates
If the lengths of the three boundaries of the real model size are not less than 5dmaxIf n is 9, putting aggregates at the center point of the three-dimensional pixel model and 8 points which are at the boundary length from 1/4-1/3 of the three-dimensional pixel model;
if the boundary length of the real model size in a certain direction is less than 5dmaxThen n is 5, at the center of the voxel modelThe aggregate is put at 4 points which are half the length of the boundary in the direction and are apart from the boundary lengths 1/4-1/3 of the boundary surfaces in other directions;
if the boundary lengths of the real model size in two directions are both less than 5dmaxIf n is 3, putting aggregates at the center point of the three-dimensional pixel model and at 2 points which are half of the boundary length and are at the boundary length from boundary surfaces 1/4-1/3 in other directions;
if the lengths of the three boundaries of the real model size are all less than 5dmaxIf n is 1, putting aggregate at the central point of the three-dimensional pixel model;
step 6, selecting three-dimensional residual space to generate skeleton
Obtaining Z perpendicular to Z-direction in three-dimensional matrixmaxSlicing the layers, wherein the acquisition method comprises the steps of slicing one layer of each pixel, and each layer of slice has only one unit length in the z direction; selecting a space without the aggregate, namely a three-dimensional residual space, on each layer of slices, and obtaining a skeleton through a skeleton algorithm, namely a set of circle centers of maximum inscribed circles of the target contour; in the sliced skeleton pixel points, if the pixels at adjacent positions of a certain pixel point along positive x, positive y, negative x and negative y directions are all skeleton pixel points, the pixel point is a branch point of a skeleton, and the position and the coordinates of a central point are recorded; combining each layer of slices to a three-dimensional pixel model according to the original position;
using the same method as the above to obtain the frame branch point of the slice vertical to the x and y directions, and recording the position and the center point coordinate;
step 7, clustering branch points of the skeleton
(7.1) combining the skeleton branch points of the slices vertical to the x, y and z directions to the three-dimensional pixel model according to the original positions; deleting repeated branch points;
(7.2) adopting a convex hull algorithm for branch points of aggregate corners, namely generating an outer-wrapped polyhedron containing all branch points, deleting repeated faces, taking the vertex of the outer-wrapped polyhedron as a clustering point, and deleting the vertex positioned on the boundary;
(7.3) adopting a point cloud clustering algorithm based on Euclidean at branch points in the middle part of the skeleton:
substituting all branch points into an Euclidean point cloud clustering algorithm, wherein 1/10 of aggregate particle size is taken as a distance parameter, if the distance parameter is smaller than 1mm, 1mm is taken, the branch points of all clusters are obtained as clustering points, and if the number of the branch points in a certain cluster is larger than or equal to 3, the mean value of the coordinates of the center points of all the branch points in the cluster is taken as the clustering points;
(7.4) branching points of skeleton edges:
acquiring all framework branch points closest to the boundary surface, adopting a point cloud clustering algorithm based on Euclidean, taking 1mm as a distance parameter, and taking the mean value of the coordinates of the center points of all branch points in various clusters as a clustering point;
(7.5) recording the coordinates of all the clustering points;
step 8, starting to put aggregate
(8.1) sequentially selecting coordinates of the clustering points, and putting the aggregates generated in the step 3 or the step 4:
(8.2) whether boundary exceeded or overlap
If the element value of not less than 1.5 exists in the three-dimensional matrix, the aggregate exceeds the boundary or is overlapped with the thrown aggregate, and the thrown aggregate is deleted, namely the element value of the corresponding position of the thrown aggregate is reduced by 0.5 in the three-dimensional matrix;
otherwise, the putting is successful, and the current volume rate L is calculated;
(8.3) after all the clustering points are selected, finishing the round of putting; in the round of putting, if the current volume rate does not meet the requirement of putting content and the aggregate is successfully put in the round of putting, the generation process of the model is not finished, and then the three-dimensional residual space after the round of putting is selected to carry out the operations of the steps 6, 7 and 8;
(8.4) if all the clustering points in the round can not be successfully put in the aggregate or the L meets the content requirement, stopping putting, and storing the final three-dimensional pixel model.
When the three-dimensional aggregate is generated, respectively taking an equivalent radius in each particle size range, taking the maximum radius as the equivalent radius of the three-dimensional aggregate, and multiplying all types of radii by B to be used as the radius for programming; in the step 8, the three-dimensional aggregate is successfully put in each time, if L does not meet the requirement of putting content and is larger than the cumulative volume percentage of the particle size range, the equivalent radius is changed into the equivalent radius of the next particle size range, and the three-dimensional aggregate parameters are recalculated; if the recycled concrete is recycled concrete, firstly feeding recycled aggregate, when the volume ratio of the recycled aggregate meets v multiplied by p, feeding the natural aggregate next time, when the volume ratio of the natural aggregate meets (1-v) multiplied by p, feeding the recycled aggregate next time, and if the volume ratio of the natural aggregate meets the requirement of feeding the recycled aggregate next time.
If a reinforced concrete model is to be generated, the positions of the steel bars are recorded in advance in the step 1, the element value of the matrix of the corresponding positions is set to be 1, and the aggregate is not manually put in the step 5; and after the three-dimensional aggregate is put into the container, changing the element value of the position of the corresponding pixel of the reinforcing steel bar into 2, namely changing the material of the corresponding pixel into the reinforcing steel bar.
If concrete with other cross section needs to be generated, and the cross section needs to be in xmax×ymax×zmaxIn the range of (1), two matrixes are selected from o, p and q according to the surface of the section and substituted into a shape formula, and in the mapping to the three-dimensional pixel model, the element value of the corresponding three-dimensional matrix is changed to 0.5, and the element values of other positions are changed to 1 to be used as a three-dimensional matrix expansion area.
When the model is stored, the model which is allowed to exceed the boundary can be directly stored, and the model which is not allowed to exceed the boundary needs to perform the following processing on the three-dimensional matrix after the release is finished:
and deleting elements in the three-dimensional matrix expanded area to make the three-dimensional pixel model consistent with the real three-dimensional aggregate model.
The invention has the following beneficial effects:
firstly, three-dimensional matrix operation and gray level image processing technology are combined for the first time, a three-dimensional pixel model is generated by utilizing three-dimensional pixel points, aggregate overlapping or exceeding of a boundary can be judged simultaneously through three-dimensional matrix element values, programming is simple, efficiency is high, and the algorithm is suitable for various programming software, common concrete with various sections, recycled concrete, dam concrete and the like, and even composite materials composed of different phases.
Secondly, a three-dimensional recycled aggregate generation algorithm realizes the mesoscopic modeling of the recycled aggregate under the three-dimensional complex aggregate form, and can further form each interface transition area in the recycled concrete through the scaling of the aggregate boundary so as to analyze the aspects of mechanics or chloride ions and the like;
thirdly, reconstructing a real three-dimensional aggregate by using the pixel points for the first time, obtaining various parameters of the aggregate through fitting, generating the real aggregate by only reading coordinate data of a certain aggregate in an aggregate library and assigning the elements at corresponding positions in a matrix for putting, and establishing an aggregate model which is closer to the real aggregate than the aggregate model based on shape equation modeling, wherein the generation efficiency of the three-dimensional model can be accelerated due to the fact that the steps of aggregate modeling are saved, and particularly when the volume fraction of the aggregate is more than 40%, the generation efficiency is greatly improved compared with the aggregate generation method based on shape modeling.
And fourthly, the framework theory is used for three-dimensional aggregate feeding for the first time, the residual space method is improved, the branch points are obtained by utilizing the slices, the branch points are clustered through a convex hull algorithm and a clustering algorithm, and the aggregates are fed at the clustering points, so that the aggregate feeding success rate can be improved, and the generation efficiency of the whole model can be improved. The algorithm is suitable for the release of aggregates with three dimensions and different shapes, is also suitable for the modeling of standard cube test blocks, non-standard cube test blocks, cylinder test blocks and reinforced concrete beam models, and has strong universality; can meet the requirement of the volume ratio of common concrete, and the spatial distribution of the aggregate is close to a real model.
Drawings
FIG. 1 is a flow chart of aggregate feeding by a three-dimensional residual space method according to the invention;
FIG. 2 is a diagram of a three-dimensional pixel model according to the present invention; (a) the three-dimensional pixel model is a schematic diagram of 7 multiplied by 7, and a small black point is a pixel central point; (b) a slice when the 7 × 7 × 7 voxel model z is 3;
FIG. 3 is a diagram of the process of forming a three-dimensional aggregate according to the present invention; (a) the slice element value when z is 3 in the 7 × 7 × 7 three-dimensional matrix D in example one; (b) a round aggregate of 3 slices for the 7 × 7 × 7 voxel model in example one; (c) a three-dimensional sphere aggregate which is a 7 × 7 × 7 three-dimensional pixel model in example one, wherein a black pixel with an element value of 1 represents the aggregate, and a light blue pixel with an element value of 0.5 represents mortar;
FIG. 4 is a diagram illustrating a skeleton generation process by a three-dimensional residual space method according to an embodiment of the present invention; (a) the first 9 aggregates to be manually thrown in; (b) the skeleton is sliced in the xy direction of the center of the three-dimensional pixel model, white pixels represent ball aggregate, white thin lines represent the skeleton, and gray pixels represent the residual space; (c) a three-dimensional skeleton diagram which is formed by superposing all xy-direction slices to the original position; (d) a three-dimensional skeleton diagram which is formed by overlaying slices in all directions to the original position;
FIG. 5 is a diagram illustrating a first round of three-dimensional skeleton branch point clustering process according to an embodiment of the present invention; (a) schematic diagram of all branch points; (b) convex hull maps for all branch points; (c) a clustering point diagram is obtained after the branch points are clustered;
FIG. 6 is a three-dimensional skeleton diagram of a ball aggregate model according to an embodiment of the present invention; (a) is a three-dimensional skeleton schematic diagram of the model; (b) is a slice image in the xz direction passing through the center of the model; (c) a yz direction slice image passing through the center of the model; (d) a slice image in the xy direction passing through the center of the model; (b) white pixels in the (c) and (d) represent ball aggregate, white thin lines represent a framework, and black pixels represent residual space;
FIG. 7 is a schematic representation of a final spherical aggregate produced in accordance with an embodiment of the present invention; (a) is a three-dimensional schematic diagram of the model; (b) is an xz direction slice image; (c) is a yz direction slice image; (d) slicing in the xy direction; (b) white pixels in the (c), (d) and (e) represent ball aggregate, and the white pixels represent mortar; (e) the positions of the slices (b), (c) and (d);
FIG. 8 is a diagram illustrating a process of forming a three-dimensional concave polyhedral aggregate according to a second embodiment of the present invention; (a) selecting a vertex schematic for the polyhedron; (b) is a Convex trihedron diagram of the Convex hull bounding volume structure; (c) generating a single convex polyhedral aggregate graph; (d) generating a single concave polyhedral aggregate graph;
FIG. 9 is a diagram showing the process of producing recycled aggregate of three-dimensional concave polyhedron according to the second embodiment of the present invention; (a) the aggregate regeneration schematic diagram is a three-dimensional matrix slice, wherein a pixel with an element value of 0.5 represents new mortar, a pixel with an outermost element value of 1 represents a boundary, a pixel with an element value of 0.8 represents old mortar, and a pixel with an element value of 1 represents old aggregate; (b) is a three-dimensional concave polyhedron recycled aggregate model diagram; (c) slicing in the xy direction; (d) is a yz direction slice image; (e) is an xz direction slice image; (c) in the steps (d) and (e), the green pixel represents old aggregate, the yellow pixel represents old mortar, and the red pixel represents new mortar;
FIG. 10 is a diagram of a three-dimensional reconstruction of a single real aggregate in example three of the present invention; (a) is a three-dimensional real aggregate model diagram; (b) slicing in the xy direction; (c) is a yz direction slice image; (d) is an xz direction slice image; (e) extracting single three-dimensional aggregate; (f) a polyhedral external packing diagram of a single aggregate; (g) the (h) and the (i) are respectively fitting graphs of a single aggregate to a spherical formula, an elliptical formula and an oval formula;
FIG. 11 is a diagram of a final model based on real aggregate according to example three of the present invention; (a) is a three-dimensional model diagram based on real aggregate; (b) is an xz direction slice image; (c) is a yz direction slice image; (d) slicing in the xy direction; (b) black pixels in the (c), (d) and (e) represent aggregates, and white pixels represent mortar; (e) the positions of the slices (b), (c) and (d);
Detailed Description
To further illustrate the beneficial effects of the present invention, the following detailed description of the three-dimensional aggregate mesoscopic modeling algorithm provided by the present invention is provided by way of example;
example one:
the purpose of this example is to illustrate the optimization of the branch point placement aggregate flow by using the pixel generation ball aggregate and the three-dimensional residual space method, and the high efficiency of the three-dimensional residual space method;
step 1, establishing a three-dimensional pixel model and a three-dimensional pixel sampling point
Determining the size x of an aggregate feeding area according to the size of the modelmax×ymax×zmax100mm X100 mm, a three-dimensional matrix X with all 0.5 elements is created with a scale B1 selectedmax×Ymax×Zmax=(B×xmax)×(B×ymax)×(B×zmax) The three-dimensional pixel model for putting aggregate is 100mm × 100mm × 100mm, and the element position and the element center point coordinates of the matrix are recorded, for example, the three-dimensional pixel model of 7 × 7 × 7 is shown in fig. 2;
establishing three-dimensional pixel sampling points o, p and q for controlling the directions of x, y and z;
o is used to locate the x-axis, whose elements along the x-axis are i, (i ═ 1, 2, 3 … … 100), for a total of 100 slices, and when x ═ i, YZ slice size is 100 × 100, the element values are all i;
p is used to locate the y-axis, whose elements along the y-axis are j, (j ═ 1, 2, 3 … … 100), for a total of 100 slices, and when y ═ i, ZX slice size is 100 × 100, the element values are all j;
q is used to locate the z-axis, whose elements along the z-axis are k, (k is 1, 2, 3 … … 100), there are 100 slices, and when z is k, the XY slice size is 100 × 100, the element values are all k;
step 2, determining the aggregate total volume p as 50 percent and the maximum grain diameter dmax20mm, the particle size range of each grade of aggregate is 20-16 mm, 16-10 mm, 10-5 mm and the cumulative volume ratio percentage is (12.55 XP/50)%, (32.7 XP/50)%, p;
establishing a ball aggregate library through step 3
(3.1) building a ball aggregate:
the radius r of each grade of aggregate is 8.75, 6.25 and 3; central point (x) to be charged with aggregate0,y0) Substituting radius and three-dimensional pixel sampling points o, p and q into a sphere formula o2+p2+q2≤r2The matrix on the left side of the equation is denoted as D, for example: a slice with z being 3 in a 7 × 7 × 7 three-dimensional matrix D is shown in fig. 3 (a); recording the elements of the football formula filled with the elements in the D to obtain a logic matrix, wherein the logic matrix and the three-dimensional matrix have the same scale, and recording the element positions meeting the conditions and mapping the element positions to the three-dimensional matrix; adding 0.5 to the element value of the corresponding position in the three-dimensional matrix to change the element value into 1, namely changing the material of the corresponding pixel in the three-dimensional pixel model from mortar to aggregate; example (c): the ball aggregate in the 7 × 7 × 7 three-dimensional pixel model is shown in FIGS. 3(b) and (c);
starting to put aggregates;
step 5, manually putting the front n aggregates
The lengths of the three boundaries are not less than 5d max100, n 9, maximum radius 8.75The aggregate is put at the center point of the three-dimensional pixel model and 8 points which are at the boundary length from 1/4-1/3 of the boundary surface of the three-dimensional pixel model, as shown in the figure 4 (a);
step 6, selecting three-dimensional residual space to generate skeleton
Obtaining Z perpendicular to Z-direction in three-dimensional matrixmaxSlicing the layers, wherein the acquisition method comprises the steps of slicing one layer of each pixel, and each layer of slice has only one unit length in the z direction; selecting a space without the aggregate, namely a three-dimensional residual space, on each layer of slices, and obtaining a skeleton through a skeleton algorithm, namely a set of circle centers of maximum inscribed circles of the target contour; in the sliced skeleton pixel points, if the pixels at adjacent positions of a certain pixel point along positive x, positive y, negative x and negative y directions are all skeleton pixel points, the pixel point is a branch point of a skeleton, and the position and the coordinates of a central point are recorded; combining each layer of slices to the three-dimensional pixel model in situ, as shown in fig. 4(b) and (c);
using the same method as the above to obtain the frame branch point of the slice vertical to the x and y directions, and recording the position and the center point coordinate; the skeleton of the final three-dimensional pixel model is shown in FIG. 4(d)
Step 7, clustering branch points of the skeleton
(7.1) combining the skeleton branch points of the slices vertical to the x, y and z directions to the three-dimensional pixel model according to the original positions; deleting repeated branch points, as shown in FIG. 5 (a);
(7.2) adopting a convex hull algorithm for branch points of the aggregate corners, namely generating an outer-wrapped polyhedron containing all branch points, as shown in the figure 5(b), deleting repeated faces, taking the vertex of the outer-wrapped polyhedron as a clustering point, and deleting the vertex which is positioned at the boundary;
(7.3) adopting a point cloud clustering algorithm based on Euclidean at branch points in the middle part of the skeleton:
substituting all branch points into an Euclidean point cloud clustering algorithm, wherein 1/10 of aggregate particle size is taken as a distance parameter, if the distance parameter is smaller than 1mm, 1mm is taken, the branch points of all clusters are obtained as clustering points, and if the number of the branch points in a certain cluster is larger than or equal to 3, the mean value of the coordinates of the center points of all the branch points in the cluster is taken as the clustering points;
(7.4) branching points of skeleton edges:
acquiring all framework branch points closest to the boundary surface, adopting a point cloud clustering algorithm based on Euclidean, taking 1mm as a distance parameter, and taking the mean value of the coordinates of the center points of all branch points in various clusters as a clustering point;
(7.5) recording the coordinates of all the clustering points as shown in the figure 5 (c);
step 8, starting to put aggregate
(8.1) sequentially selecting coordinates of the clustering points, and putting the aggregates generated in the step 3 by using the maximum radius of 8.75:
(8.2) whether boundary exceeded or overlap
If the element value of not less than 1.5 exists in the three-dimensional matrix, the aggregate exceeds the boundary or is overlapped with the thrown aggregate, and the thrown aggregate is deleted, namely the element value of the corresponding position of the thrown aggregate is reduced by 0.5 in the three-dimensional matrix;
otherwise, the putting is successful, and the current volume rate L is calculated;
(8.3) after all the clustering points are selected, finishing the round of putting; in the round of putting, if the current volume rate does not meet the requirement of putting content and the putting of the aggregate is successful in the round of putting, the generation process of the model is not finished, and if L meets the accumulative volume percentage of the particle size range, the equivalent radius is changed into the equivalent radius of the next particle size range; for example: l > 12.55%, then r ═ 6.25; then, selecting the three-dimensional residual space after the round of putting is finished to perform the operations of the steps 6, 7 and 8, and referring to the attached figure 6, wherein the three-dimensional residual space is a framework of the round of three-dimensional residual space;
(8.4) if all the clustering points in the round can not be successfully put with the aggregates or the L reaches the putting content, stopping putting, and storing the final three-dimensional pixel model, as shown in the attached figure 7.
Respectively modeling p as 30%, 40% and 50% by using a three-dimensional residual space method and a traditional random aggregate;
TABLE 1 comparison of time generated by three-dimensional residual space method and conventional random aggregate method
The two methods can meet the requirements of general concrete gradation and aggregate content, but the larger the volume ratio is, the faster the three-dimensional residual space method is compared with the traditional random aggregate modeling method; the "model time consumption" in all examples refers to the average of the time consumed to generate 10 models on a workstation with 8 cores, 16 threads, 3.7GHz dominant frequency Intel Xeon W-2145 processor, 32.0GB memory.
Example two:
the purpose of this example is to illustrate the method of producing a concave polyhedral recycled concrete cylinder;
step 1, establishing a three-dimensional pixel model and a three-dimensional pixel sampling point
Determining the size x of an aggregate feeding area according to the size of the modelmax×ymax×zmaxThe operation is the same as that of the first example except that the thickness of the film is 100mm multiplied by 50 mm; and substituting o and p into o2+p2≤502Obtaining element coordinates meeting the formula, mapping the element coordinates to a three-dimensional pixel model, and only keeping the three-dimensional pixels of corresponding coordinates to obtain a cylinder;
step 2, determining the aggregate total volume ratio p to 40 percent and the maximum particle size dmaxThe aggregate grain size ranges of 20-16 mm, 16-10 mm, 10-5 mm and the cumulative volume percentage of 10.04%, 26.16% and 40%;
establishing a concave aggregate warehouse through step 3
(3.3) building convex polyhedral aggregate:
determining the slenderness ratio, wherein the equivalent radius is the radius r of each grade of aggregate, namely 8.75, 6.25 and 3.75, the long radius a of the corresponding circumscribed egg ball is 15.85, 9.26 and 6.26, the short radius b is 12.967, 7.55 and 4.94, the symmetrical radius c is 11.05, 6.36 and 4.00, and the polar radius d is 8.70, 5.12 and 3.14; the origin serves as the polyhedral aggregate center to generate an egg-ball equation:
dividing the ovum ball equally in three axes of x, y and z by using 6 endpoints of the ovum ball as fixed vertices of the convex polyhedron, substituting the plane equation into the ovum ball equation to solve to obtain supplementary points on the ovum ball as supplementary vertices of the polyhedron aggregate as shown in figure 8 (a);
adopting a Convex hull enclosure to construct an outer enclosure surface of a Convex enclosure body and acquiring information of each surface, as shown in figure 8(b), judging whether a central point of each element is in the polyhedron through coordinates of the central point of the element, if the central point of the element is in the polyhedron, adding 0.5 to a matrix element value of a corresponding position to become 1, and changing a material of a pixel at the position from mortar to aggregate as shown in figure 8 (c);
(3.4) establishing a concave polyhedral aggregate:
selecting three angular points of any surface, calculating the midpoint (X) of the surfacec,Yc,Zc) And is connected with the origin as a line segment lcAt lcUpper fetching point (X)ao,Yao,Zao) As pits of a polyhedron; the coordinates of the newly generated pits are expressed by the following formula:
Xao=δXc,Yao=δYc,Zao=δZc,δ∈(0,1) (4)
where δ is the distance/l from the pit to the origincThe length of (c) is randomly selected from (0, 1);
selecting three angular points of the surface and newly generated concave points, constructing a Convex trihedron by using the Convex hull bounding body in the step (3.3), subtracting the trihedron from the original Convex polyhedron to obtain concave polyhedral aggregate, namely subtracting 0.5 from the element value of the corresponding position of the trihedron to obtain 0.5, and changing the material of the pixel from the aggregate into mortar as shown in the attached figure 8 (d); randomly rotating the concave aggregate by three Euler angles alpha, beta and gamma by taking the original point as a rotation point, wherein the range of beta is a uniform distribution function of [0, pi ], and alpha and gamma are uniform distribution functions of [0,2 pi ]; example (c): substituting coordinate points of all points of the aggregate into a rotation equation:
in the formula, x ', y ' and z ' are coordinates after rotation;
(3.5) recycled aggregate:
determining that the substitution rate v is 50%, successfully generating the aggregate in the step (3.3) and the step (3.4) through the step 5, or changing the aggregate element from 1 to 0.8 every time the aggregate is successfully generated in the step 8, and changing the material of the corresponding pixel into old mortar;
selecting one aggregate with the equivalent radius smaller than that of the old mortar from the steps (3.1), (3.2), (3.3) or (3.4) at the aggregate putting center of the old mortar; changing the element value of the matrix which simultaneously satisfies 'in old mortar' and 'in aggregate' to 1, namely, the material of the pixel is changed into old aggregate, as shown in figure 9 (a);
step 5, step 6, step 7 and step 8, the same operation as the first example is carried out, firstly, the recycled aggregate is put in, after the three-dimensional aggregate is successfully generated in step 8 each time, the natural aggregate is put in next time if the volume ratio of the recycled aggregate meets v x p, the recycled aggregate is put in next time if the volume ratio of the natural aggregate meets (1-v) x p, and the recycled aggregate is put in next time if the volume ratio of the natural aggregate meets the next time;
finally, the cylindrical volume rate of the recycled concrete with 50 percent of substitution rate reaches 41.93 percent; generating a three-dimensional concave polyhedron recycled concrete cylinder as shown in the attached figures 9(b) (c) (d) (e); if an interface transition area needs to be established, selecting the thickness of the interface, and establishing an interface with the same rotation angle as that of the old mortar and the old aggregate as the interface transition area;
example three
The purpose of this example is to illustrate the three-dimensional reconstruction flow, fitting, and no-over-boundary dropping of real aggregates;
step 1 is the same as the example one, and the three-dimensional matrix is expanded to Xmax×Ymax×Zmax102 × 102 × 102, the extension area element is set to 1; recording element positions and element center point coordinates of the matrix;
step 2, determining that the total volume of the aggregate p is 30%, and performing other operations in the same way as the first example;
step 4, establishing an aggregate library based on real aggregates
(4.1) pretreatment for extraction
Staining the components in the test block with iron green type S5605 iron oxide (Fe2O3) and iron red type S190 iron oxide (Fe2O 3); after pouring and maintenance, polishing the color concrete test block layer by using a water mill, scanning the polished and leveled test piece by using a scanner, and polishing the next time after scanning is finished; the grinding depth is 1mm each time;
(4.2) reconstructing a real three-dimensional model:
reconstructing the slice images with the scanned and identified components into a three-dimensional model, and generating a matrix with the actual size of 100mm multiplied by 80mm by the matrix scale of 1 pixel corresponding to the actual size of 1mm, as shown in the attached figures 10(a), (b), (c) and (d);
(4.3) reconstructing a real three-dimensional coarse aggregate:
extracting all real aggregates from the three-dimensional model to serve as a three-dimensional aggregate library for parameter extraction and aggregate putting; in a three-dimensional space, if a certain voxel is connected with other voxels in a neighborhood, the two voxels are in the same connected domain; extracting different aggregates by extracting different connected domains, and individually extracting voxels belonging to the aggregates into a new matrix, as shown in fig. 10 (e);
the aggregate is stored in the form of coordinates in the matrix, such as the form shown in the figure 2 (b); each new matrix is consistent with the actual size;
(4.4) pretreatment of fitting of single coarse aggregate:
calculating the coordinate of the center point of the aggregate, namely the total sum of the coordinate values and the coordinate number of each direction; constructing a polyhedron comprising all the coordinate points of the aggregate by using a convex hull algorithm, finally obtaining the coordinates of all outward convex vertexes of the aggregate, calculating a connecting line of the two vertexes with the longest distance in the aggregate, and recording the connecting line as the longest axis; performing three-dimensional translation and rotation on the whole aggregate to enable the center point of the aggregate to coincide with the origin of coordinates, and enabling the longest axis to coincide with the x axis;
(4.5) selecting convex vertexes of the convex surface of the coarse aggregate to perform fitting:
translating a single aggregate along the x axis for one time, translating the aggregate by +/-0.01-0.02 times of the longest axis every time, autorotating the aggregate around the x axis for m times, rotating the aggregate for 360 DEG/k every time, and then symmetrical 1 time about a yz plane to obtain (1+ l + m) groups of aggregates at different positions; fitting the outward convex vertexes of the aggregates at all the groups of positions to a standard sphere equation, an ellipsoid equation and an egg-ball equation respectively by using an iterative reweighted least square method; taking Mean Square Error (MSE) as the fitting error reference value; skipping fitting treatment of the polyhedron, and storing an aggregate coordinate with the minimum fitting error in each type of aggregate form, as shown in the attached drawing 10(f) (g) (h) (i);
(4.6) generating an aggregate library:
after obtaining each aggregate, counting the equivalent particle size of each aggregate, wherein the aggregates with the equivalent particle size of more than or equal to 5mm are classified into four types of aggregate forms according to the grading of the sieve so as to count the parameters of the aggregates with different grades; the aggregate with the equivalent grain diameter of less than 5mm is counted into the mortar part;
setting the center of the aggregate as an origin, randomly rotating for t (t is more than or equal to 50) times around x, y and z axes, wherein 360 DEG/t is used for each time, more than 62500 groups of rotation forms are shared, and all the rotation forms of the aggregate are stored;
(4.7) generating the aggregate by using a real aggregate warehouse:
b is made to be 1, the shape of the aggregate is selected, the equivalent radius is the radius of each level of aggregate, the first rotation form of the aggregate in the radius range is randomly selected, the aggregate is mapped to the three-dimensional pixel model and three-dimensionally translated to the aggregate feeding center, the aggregate center is superposed with the feeding center, the element value of the corresponding coordinate in the three-dimensional matrix is added by 0.5 to become 1, namely the material of the corresponding pixel in the three-dimensional pixel model is changed from mortar to aggregate;
steps 5, 6, 7 and 8 are the same as the example I;
deleting elements in the three-dimensional matrix expanded area to finally obtain the oval aggregate concrete with the volume rate of 30.0 percent based on the real aggregate; the time is 69.3s, and the three-dimensional real aggregate concrete is generated as shown in the attached figure 11.