A method for modeling n-dimensional space hyper-sphere filled composite materials
By employing an n-dimensional space hypersphere-filled composite material modeling method, combined with random filling and molecular dynamics, and using matrix operations, the problems of low filling volume fraction and low computational efficiency in the existing technology for particle-filled composite material modeling are solved, achieving efficient particle filling and mechanical analysis.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-03
- Publication Date
- 2026-04-07
AI Technical Summary
Existing algorithms struggle to model particle-filled composite materials with high volume fractions, and are computationally inefficient and difficult to control particle size distribution.
A modeling method for composite materials filled with n-dimensional hyperspheres is adopted, which combines random filling and molecular dynamics. By using matrix operations to determine hypersphere collisions, boundary reflections and mirror images, random filling of particles during the collision process is achieved, which satisfies the particle size distribution and improves the filling volume fraction.
It enables efficient generation of hyperspheres with a given size distribution in n-dimensional space, improves the infill volume fraction, has high parallel computing efficiency, and is suitable for modeling and mechanical analysis of particle-filled composite materials.
Smart Images

Figure CN116244946B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a composite material modeling method, specifically to a method for modeling composite materials filled with n-dimensional hyperspheres. Background Technology
[0002] Particle-filled composite materials refer to composite materials formed by using polymer components as the binding resin and spheres, cylinders, or small flakes as fillers. Particle fillers can modify the dielectric properties, heat resistance, hardness, etc. of the material, and are commonly used in thermal insulation materials and solid propellants. The solid particles solidify after the binding resin is thoroughly stirred, so it can be reduced to a problem of random motion and collision of particles in space.
[0003] Existing algorithms mainly include molecular dynamics methods and random stacking algorithms:
[0004] The basic idea of the molecular dynamics particle packing algorithm is to assign a certain number of zero-size particles random positions and initial velocities in a computational domain. Each particle has its own radius growth rate. The particles grow continuously and collide within the computational domain until a predetermined volume fraction is reached or there is no more space in the computational domain to accommodate the particle's movement, at which point the algorithm terminates. Its advantage is that it is easy to achieve a high particle volume fraction, but its disadvantage is that it is difficult to control the particle size distribution.
[0005] The random stacking algorithm places particles of a given size one by one within the computational domain, checks if a particle overlaps with existing particles, and if overlap occurs, regenerates the particle's coordinates. Its drawbacks include difficulty in achieving a high particle filling volume fraction and low computational efficiency. Summary of the Invention
[0006] To address the technical problems mentioned above, this invention provides a modeling method for n-dimensional hypersphere-filled composite materials. This method combines the advantages of random filling and molecular dynamics-generated particle-filled composite material models. Particles are randomly filled during collisions, achieving a high filling volume fraction while satisfying particle size distribution requirements. Furthermore, the algorithm logic for handling numerous hypersphere collisions, boundary reflections, and mirror images is based on matrix addition and multiplication. Matrix operations replace loops, conditional statements, and scalar algebra operations in traditional algorithms. Matrix operations are well-suited for parallel computing, have a rich and mature code library, and offer extremely high parallel efficiency. By improving computer hardware configuration, rapid modeling of large-scale particle filling can be achieved.
[0007] To address the aforementioned technical problems, this invention provides a method for modeling composite materials filled with n-dimensional hyperspheres. The method first defines a hypercube region in n-dimensional Euclidean space. Then, based on probabilistic methods, it generates an array of radii to be filled that follow a specified probability distribution and sorts the array. Next, it defines a set of filled hyperspheres within the region, calculates the volume of the set of filled hyperspheres within the hypercube region, calculates the hypersphere elements intersecting the region boundary, and establishes a set of hyperspheres that are periodically symmetric relative to the region boundary. Then, it calculates the indexes of overlapping elements in the hypersphere sets, updates the set of filled hyperspheres within the region, calculates the reflections of hyperspheres in the set of filled hyperspheres upon encountering the region boundary, updates the velocities corresponding to these hyperspheres, calculates the hypersphere elements intersecting the region boundary in the set of filled hyperspheres, establishes a set of hyperspheres that are periodically symmetric relative to the region boundary, and establishes a temporary set. Then, it calculates the coordinate array of the sphere centers within the temporary set and the subset of overlapping hypersphere elements, calculates the moment when a pair of overlapping hyperspheres collides and becomes tangent, and finally updates the velocity vectors of the pair of hyperspheres after the collision.
[0008] The method for modeling n-dimensional space hypersphere-filled composite materials mainly includes the following steps:
[0009] (1) Define a hypercube region Ω, x in some n-dimensional Euclidean space. i ∈[x i,min ,x i,max The volume of Ω, i = 1, 2, ..., n, with boundary L.
[0010] (2) Generate an array of radii to be filled based on probabilistic methods, which follows a specified probability distribution [R]. m×1 ;
[0011] (3) The array of radii to be filled [R] m×1 Sort by size from largest to smallest;
[0012] (4) Define the set of filled hyperspheres {B0} within the defined region. i {B0} i The array contains i hyperspheres, and its center coordinates are represented by the array [X0]. i×n The velocity array is [V0]. i×n The radius array is [R0]. i×1 The set of hyperspheres {B0} already filled in the computational space. i Volume V within region Ω B ;
[0013] (5) Determine if V B / V Ω If the target volume fraction is less than the target volume fraction, then k hyperspheres are filled into the region Ω, and the new set of filled hyperspheres is {B1}.k The coordinate array of the sphere's center is generated using a random algorithm as [X1]. k×n The velocity array is [V1] k×n The radius array [R1] k×1 From the radius array [R], sorted in descending order. (m-i)×1 Take it from the middle; determine if V B / V Ω If the volume fraction is greater than or equal to the target volume fraction, the loop ends, the filling algorithm ends, and the coordinates of the center and radius of the currently filled hypersphere are output.
[0014] (6) Calculate the set of filled hyperspheres {B0} within the computational region. i And the new Superball collection {B1} k For each hypersphere element intersecting the region boundary L, establish a hypersphere set {B0} that is periodically symmetric with respect to the region boundary L. p} s and {B1 p} t ;
[0015] (7) Calculate {B1} k +{B1 p} t and {B0} i +{B0 p} s The overlapping hypersphere elements correspond to the newly filled hypersphere set {B1} k The array of element indices {ID crash1} l1 Simultaneously, calculate {B1} k +{B1 p} t The supersphere elements that overlap internally correspond to the newly filled supersphere set {B1}. k The array of element indices {ID crash2} l2 Then, merge {ID} crash1} l1 and {ID crash2} l2 And remove duplicate elements to get {ID} crash} l Next, calculate the relationship with {ID}. crash} l The corresponding hypersphere set {B1} crash} l and radius subset [R1 crash ] l×1 ;
[0016] (8) Update the set of filled hyperspheres {B0} within the region. i+k-l ={B0} i +{B1}k -{B1 crash} l Update the array of center coordinates [X0] within sphere B0. (i+k-l)×n Velocity array [V0] (i+k-l)×n The radius array [R0] (i+k-l)×1 Remove the currently filled radii from the unfilled radius array and update the unfilled radius array [R]. (m-i-k+l)×1 =[R] (m-i)×1 -([R1] k×1 -[R1 crash ] l×1 Update the number of filled hyperspheres i = i + kl, and update the volume fraction V. B / V Ω ; Determine if V B / V Ω If the hypersphere's volume fraction is greater than or equal to the target volume fraction, then exit the current loop, end the current loop, and end the filling algorithm. Output the coordinates of the center and radius of the currently filled hypersphere.
[0017] (9) Determine if V B / V Ω If the target volume fraction is less than the target volume fraction, the filled hypersphere set begins to move, given a time step Δt = Δt0; simultaneously calculate {B0}. i When a hypersphere encounters a region boundary L, it will be reflected, and the [V0] corresponding to these hyperspheres will be updated. i×n The speed in the middle;
[0018] (10) Calculate {B0} i For the hypersphere elements that intersect with the region boundary L, construct a set of hyperspheres {B0} that are periodically symmetric with respect to the region boundary L. p} p Create a temporary set {B2} i+p ={B0} i +{B0 p} p ;
[0019] (11) After calculating time Δt, {B2} i+p The array of coordinates of the inner center of the sphere [X2] (i+p)×n =[X0] (i+p)×n +[V0] (i+p)×n Δt;
[0020] (12) Calculate {B2} i+p The supersphere subset {B2} that overlaps within the supersphere crash} q And obtain its corresponding original hypersphere set {B0}. i The position index array {ID} in sIf no overlap occurs (i.e., q = 0), then [X0] i×n =[X2] i×n Exit the current loop, end the loop, and jump to execute the above step (5);
[0021] (13) Otherwise, if there is one and only one pair of hyperspheres overlapping, i.e., q = 2, then calculate the time Δt when the pair of overlapping hyperspheres collide and become tangent. c Calculate time Δt c After that, {B0} i The array of coordinates of the inner center of the sphere [X0] i×n =[X0] i×n +[V0] i×n Δt c ;
[0022] (14) Calculate the velocities of the pair of overlapping hyperspheres after their collision, using the position index array {ID}. s Mapped to the original hypersphere set {B0} i In the middle, update the [V0] corresponding to these superspheres. i×n If the speed is within the range, exit the current loop, end the judgment, and jump to execute the above step (5); otherwise, if multiple pairs of hyperspheres overlap, i.e., q>2, shorten the time step Δt=Δt / 2, continue the current loop, and execute the above step (11).
[0023] The method for modeling composite materials filled with n-dimensional space hyperspheres, wherein the hyperspheres filled in the region in step (4) need to meet the following conditions: ① the whole or part of the hypersphere is inside the space, ② there is no overlap between any hyperspheres; at this time i = 0.
[0024] The method for modeling composite materials filled with n-dimensional hyperspheres, wherein the specific steps in step (6) for calculating the hypersphere elements intersecting with the region boundary L and establishing a set of hyperspheres that are periodically symmetric relative to the region boundary L are as follows:
[0025] (15.01) Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ;
[0026] The boundary of region Ω is x (15.02). i =x i,min ,x i =x i,max i = 1, 2, ..., n;
[0027] (15.03) Broadcast the radius array along the column direction (copying it n times) to obtain [R].i×n ;
[0028] (15.04) Perform matrix Boolean operations [X] i×n -[R] i×n <[{x 1,min ,x 2,min ,…,x n,min}] i×n This yields a Boolean array [O1]. i×n , representing whether the hypersphere exceeds the lower bound of Ω;
[0029] (15.05) Perform matrix Boolean operations [X] i×n +[R] i×n >[{x 1,max ,x 2,max ,…,x n,max}] i×n This yields a Boolean array [O2]. i×n , indicating whether the hypersphere exceeds the upper bound of Ω;
[0030] (15.06) Convert the Boolean array [O1] i×n and [O2] i×n Merging along the column direction yields the array [O3]. i×2n ;
[0031] (15.07) For the Boolean array [O3] i×2n Performing an OR operation in the direction of rows yields a Boolean array [O]. i×1 ;
[0032] (15.08) Obtain [O] i×1 The middle element is an array of row numbers {ID} that is True. j ;
[0033] (15.09) Therefore {ID} j Let L be the index of the hypersphere element intersecting the region boundary L;
[0034] (15.10) According to {ID} j From [X] i×n [R] i×1 and [V] i×n Extract a subset from the set to obtain the array [X] of the center coordinates of the spheres that require periodic symmetry. j×n , radius array [R] j×1 Velocity array [V] j×n ;
[0035] (15.11) For each hypersphere requiring periodic symmetry, there are 3 possible positions. n -1 item;
[0036] (15.12) Obtain the coordinate matrix of the center of a periodic symmetric hypersphere set. radius matrix velocity matrix
[0037] (15.13) Obtain the periodic symmetric hypersphere corresponding to {B} i index array in a collection
[0038] The method for modeling composite materials filled with n-dimensional hyperspheres includes steps (7) and (12) of calculating the hypersphere set {B}. i The specific steps for determining the overlapping element indices are as follows:
[0039] (16.1){B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 , will [X] i×n Each line in the code is considered as a whole and denoted as [{X}]. n ] i×1 ;
[0040] (16.2) For the coordinate array [{X} n ] i×1 Broadcasting in the column direction (copying i times) yields [A]. i×i =[{X} n {X} n …{X} n ] i×i ;
[0041] (16.3) Calculate the distance matrix [D] i×i =([A]) i×i -[A] T i×i ) 2 ;
[0042] (16.4) For the radius array [R] i×1 Broadcasting in the column direction (copying i times) yields [B]. i×i =[RR…R] i×i ;
[0043] (16.5) Calculate the square matrix of the sum of radii [H] i×i =([B]) i×i +[B] T i×i ) 2 Calculate an array of distance matrices and square matrices of the sum of radii;
[0044] (16.6) Since the square of the distance between the centers of the two spheres when they overlap is less than the square of the sum of their radii, therefore [D] i×i <[H] i×i Obtain the overlapping array [O] i×i This array is a symmetric Boolean array, taking the value [O]. i×i The column numbers marked as True in the upper triangular section are the overlapping spheres in {B}. i The element index in the data;
[0045] (16.7) A two-dimensional diagram of determining hypersphere collisions and deleting new spheres that have collided.
[0046] The method for modeling composite materials filled with an n-dimensional hypersphere includes the following specific steps in step (9) for calculating the velocity vector of the hypersphere after it encounters the boundary and reflects off:
[0047] (17.1) Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ;
[0048] (17.2) The boundary of region Ω is x i =x i,min ,x i =x i,max i = 1, 2, ..., n;
[0049] (17.3) For a one-dimensional array {x 1,min ,x 2,min ,…,x n,min} and {x 1,max ,x 2,max ,…,x n,max Broadcast along the row direction (copying i times), resulting in [{x] 1,min ,x 2,min ,…,x n,min}] i×n and [{x 1,max ,x 2,max ,…,x n,max}] i×n ;
[0050] (17.4) Perform matrix Boolean operations [X] i×n <[{x 1,min ,x 2,min ,…,x n,min}] i×n and [X] i×n >[{x 1,max ,x 2,max ,…,x n,max}]i×n This yields a Boolean array [O1]. i×n and [O2] i×n ;
[0051] (17.5) For the Boolean array [O1] i×n With [O2] i×n Performing the OR operation yields [O]. i×n ;
[0052] (17.6) Convert the Boolean array [O] i×n In the expression, True is converted to -1.0 and False is converted to 1.0, resulting in the speed update array [C]. i×n ;
[0053] (17.7) Update the velocity array [V] of the hypersphere after it reflects off the boundary. i×n =[V] i×n *[C] i×n .
[0054] The method for modeling composite materials filled with n-dimensional space hyperspheres includes step (13) calculating the tangential moment Δt when a pair of overlapping hyperspheres collide. c The specific steps are as follows:
[0055] (18.1) Assume that hyperspheres B1 and B2 overlap after a time interval Δt. It is known that at the initial moment of motion, the coordinates of the center of B1 are (x1, x2, ..., x...). n ), with radius r1 and velocity (u1, u2, ..., u n The center coordinates of hypersphere B2 are (y1, y2, ..., y). n A finite element has a radius of r2 and a velocity of (v1, v2, ..., v). n ).
[0056] (18.2) Given that hyperspheres B1 and B2 do not overlap at time 0, but overlap after time Δt, the collision must occur within the time interval (0, Δt).
[0057] (18.3) Let Δt be the time required from the initial moment of motion of B1 and B2 to the collision. c Then Δt c Satisfy the following equation:
[0058] [(x1+u1Δt c )-(y1+v1Δt c )] 2 +[(x2+u2Δt c )-(y2+v2Δt c )] 2 +...+[(xn +u n Δt c )-(y n +v n Δt c )] 2 =(r1+r2) 2 (1);
[0059] (18.4) Rearranging, we can obtain information about Δt c The quadratic equation of :
[0060] aΔt c 2 +bΔt c +c=0 (2);
[0061] in
[0062]
[0063]
[0064]
[0065] (18.5) Solve equation (2) to obtain two roots Δt. c1 and Δt c2 The root in the interval (0, Δt) is taken as the calculated hypersphere collision time Δt. c .
[0066] The method for modeling composite materials filled with n-dimensional hyperspheres includes the following specific steps in step (14) for calculating and updating the velocity vectors of the two spheres after their collision:
[0067] (19.1) In order to improve computational efficiency, the velocity update algorithm here does not obey the law of conservation of momentum, and only guarantees that the two hyperspheres move away from each other after the velocity is updated;
[0068] (19.2) The velocities of the two balls after the collision are unit vectors moving away from each other along the line connecting the centers of the two balls;
[0069] (19.3) The coordinates of the centers of hyperspheres B1 and B2 are {X1} respectively. n and {X2} n ;
[0070] (19.4) The velocity of superspheres B1 and B2 after the collision
[0071] {V1} n =({X1}) n -{X2} n ) / ||{X1} n -{X2} n||,
[0072] {V2} n =({X2}) n -{X1} n ) / ||{X2} n -{X1} n ||, where ||·|| is the norm operator.
[0073] By adopting the above technical solution, the present invention has the following beneficial effects:
[0074] This invention presents a well-conceived method for modeling n-dimensional hypersphere-filled composite materials. It is an algorithm for generating hyperspheres with a given size distribution in n-dimensional space. Building upon a random stacking algorithm, it introduces motion and collision, updating collision velocities via time backtracking. Furthermore, it proposes an efficient matrix-operation-based computational method suitable for n-dimensional space, providing a robust and efficient computational approach for modeling and mechanical analysis of particle-filled composite materials. The two-dimensional and three-dimensional filling algorithms can be directly used for modeling particle-filled composite materials. The results generated by the high-dimensional algorithm can be used to obtain corresponding two-dimensional and three-dimensional projections through projection matrices. This method allows for particle overlap and can be used for modeling materials such as powder sintered materials.
[0075] The main advantages of the n-dimensional space hypersphere-filled composite material modeling method of this invention are as follows:
[0076] (1) It combines the advantages of random filling and molecular dynamics-generated particle-filled composite material models. The particles are randomly filled during the collision process, which can achieve a high filling volume fraction while satisfying the particle size distribution.
[0077] (2) The algorithm logic for judging a large number of hypersphere collisions, boundary reflections and mirror images is based on matrix addition and multiplication. Matrix operations are used to replace loops, judgments and scalar algebra operations in traditional algorithms.
[0078] (3) Matrix operations are very suitable for parallel computing. There is a rich and mature code library. The parallel efficiency is extremely high. By improving the configuration of computer hardware, it is possible to achieve rapid modeling work with a large number of particles. Attached Figure Description
[0079] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0080] Figure 1This is an array diagram illustrating Algorithm 2 of the n-dimensional space hypersphere-filled composite material modeling method of the present invention;
[0081] Figure 2 This is a diagram showing all possible positions of each periodically symmetric hypersphere in Algorithm 2 of the n-dimensional hypersphere-filled composite material modeling method of the present invention; wherein, Figure 2 The initial element is black, and the periodic symmetric element is gray. The number of periodic symmetric elements is 3. n -1, where n is the dimension;
[0082] Figure 3 This is a schematic diagram of the array used to calculate the distance matrix and the square matrix of the sum of radii in Algorithm 3 of the n-dimensional space hypersphere-filled composite material modeling method of the present invention;
[0083] Figure 4 This is a schematic diagram of the overlapping array obtained in Algorithm 3 of the n-dimensional space hypersphere-filled composite material modeling method of the present invention;
[0084] Figure 5 This is a two-dimensional schematic diagram illustrating the determination of hypersphere collisions and the deletion of newly collided spheres in Algorithm 3 of the n-dimensional space hypersphere-filled composite material modeling method of the present invention; wherein, Figure 5 In the middle, determine the collision (left) and delete the new ball that caused the collision (right);
[0085] Figure 6 This is a schematic diagram illustrating the calculation of the velocity vector of the hypersphere after it encounters the boundary and reflects in Algorithm 4 of the n-dimensional space hypersphere-filled composite material modeling method of the present invention.
[0086] Figure 7 This is a schematic diagram of the two-dimensional projection of the hypersphere collision in Algorithm 5 of the modeling method for n-dimensional space hypersphere-filled composite materials of the present invention;
[0087] Figure 8 This is a particle filling effect diagram obtained after the algorithm in Algorithm 6 of the n-dimensional space hypersphere filled composite material modeling method of the present invention has been run. Detailed Implementation
[0088] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0089] The present invention will be further explained below with reference to specific embodiments.
[0090] Define an n-dimensional Euclidean space R n ={x=(x1,x2,...,xn )|x i ∈R, i=1,2,...,n};
[0091] For any two points x = (x1, x2, ..., xn) in n-dimensional Euclidean space, x = (x1, x2, ..., xn) n ) and y = (y1, y2, ..., y n The distance is
[0092] The standard equation of the supersphere in n-dimensional Euclidean space is (x1-c1). 2 +(x²-c²) 2 +...+(x n -c n ) 2 =r 2 .
[0093] The n-dimensional hypersphere-filled composite material modeling method provided in this embodiment first defines a hypercube region in n-dimensional Euclidean space. Then, based on probabilistic methods, it generates an array of radii to be filled that follow a specified probability distribution and sorts the array. Next, it defines a set of filled hyperspheres within the region, calculates the volume of the set of filled hyperspheres within the hypercube region, calculates the hypersphere elements intersecting the region boundary, and establishes a set of hyperspheres that are periodically symmetric relative to the region boundary. Then, it calculates the index of the overlapping elements in the hypersphere set, updates the set of filled hyperspheres within the region, calculates the reflection of hyperspheres in the set of filled hyperspheres when they encounter the region boundary, updates the velocities corresponding to these hyperspheres, calculates the hypersphere elements in the set of filled hyperspheres intersecting the region boundary, establishes a set of hyperspheres that are periodically symmetric relative to the region boundary, and establishes a temporary set. Then, it calculates the sphere center coordinate array and the subset of overlapping hypersphere elements in the temporary set, calculates the moment when a pair of overlapping hyperspheres collide and become tangent, and finally updates the velocity vectors of a pair of hyperspheres after the collision.
[0094] The method for modeling n-dimensional space hypersphere-filled composite materials provided in this embodiment mainly includes the following steps:
[0095] S001. Define a hypercube region Ω in an n-dimensional Euclidean space, x i ∈[x i,min ,x i,max The volume of Ω, i = 1, 2, ..., n, with boundary L.
[0096] S002. Based on probabilistic methods, generate an array of radii to be filled that follows a specified probability distribution [R]. m×1 ;
[0097] S003, Array of radii to be filled [R] m×1Sort by size from largest to smallest;
[0098] S004, Define the set of filled hyperspheres {B0} within the defined region. i {B0} i The array contains i hyperspheres, and its center coordinates are represented by the array [X0]. i×n The velocity array is [V0]. i×n The radius array is [R0]. i×1 The filled hyperspheres within the region must satisfy the following conditions: ① the entirety or a portion of the hypersphere is inside the space; ② there is no overlap between any two hyperspheres. In this case, i = 0.
[0099] S005, Set of filled hyperspheres {B0} in computational space i Volume V within region Ω B .
[0100] S006. Determine if V B / V Ω If the target volume fraction is not reached, continue with step S007; otherwise, proceed to step S035.
[0101] S007. Fill the region Ω with k hyperspheres, and the new set of filled hyperspheres is {B1}. k The coordinate array of the sphere's center is generated using a random algorithm as [X1]. k×n The velocity array is [V1] k×n The radius array [R1] k×1 From the radius array [R], sorted in descending order. (m-i)×1 Take it out.
[0102] S008, Set of filled hyperspheres {B0} within the computational region. i And the new Superball collection {B1} k For each hypersphere element intersecting the region boundary L, establish a hypersphere set {B0} that is periodically symmetric with respect to the region boundary L. p} s and {B1 p} t .
[0103] S009. Calculate {B1} using Algorithm 3. k +{B1 p} t and {B0} i +{B0 p} s The overlapping hypersphere elements correspond to the newly filled hypersphere set {B1} k The array of element indices {ID crash1} l1 .
[0104] S010, Calculate {B1} using Algorithm 3. k +{B1 p} t The supersphere elements that overlap internally correspond to the newly filled supersphere set {B1}. k The array of element indices {ID crash2} l2 .
[0105] S011, Merge {ID} crash1} l1 and {ID crash2} l2 And remove duplicate elements to get {ID} crash} l .
[0106] S012, Calculation and {ID} crash} l The corresponding hypersphere set {B1} crash} l and radius subset [R1 crash ] l×1 .
[0107] S013. Update the set of filled hyperspheres {B0} within the region. i+k-l ={B0} i +{B1} k -{B1 crash} l Update the array of center coordinates [X0] within sphere B0. (i+k-l)×n Velocity array [V0] (i+k-l)×n The radius array [R0] (i+k-l)×1 .
[0108] S014. Remove the radii already filled in the current loop from the radius array to be filled, and update the radius array to be filled [R]. (m-i-k+l)×1 =[R] (m-i)×1 -([R1] k×1 -[R1 crash ] l×1 ).
[0109] S015. Update the number of filled hyperspheres i = i + kl.
[0110] S016, Update volume fraction V B / V Ω .
[0111] S017. Determine if V B / V Ω >= Target volume fraction, execute S018.
[0112] S018. Exit the current loop and jump to S035.
[0113] S019. If S017 is not true, then continue with S020.
[0114] S020. The set of filled hyperspheres begins to move, given a time step Δt = Δt0.
[0115] S021. Continue with S022.
[0116] S022. Calculate {B0} using Algorithm 4. i When a hypersphere encounters a region boundary L, it will be reflected, and the [V0] corresponding to these hyperspheres will be updated. i×n The speed in.
[0117] S023. Calculate {B0} using Algorithm 2. i For the hypersphere elements that intersect with the region boundary L, construct a set of hyperspheres {B0} that are periodically symmetric with respect to the region boundary L. p} p Create a temporary set {B2} i+p ={B0} i +{B0 p} p .
[0118] S024. After calculating time Δt, {B2} i+p The array of coordinates of the inner center of the sphere [X2] (i+p)×n =[X0] (i+p)×n +[V0] (i+p)×n Δt.
[0119] S025. Calculate {B2} using Algorithm 3. i+p The supersphere subset {B2} that overlaps within the supersphere crash} q And obtain its corresponding original hypersphere set {B0}. i The position index array {ID} in s .
[0120] S026. If no overlap occurs (q=0), then execute S027.
[0121] S027, [X0] i×n =[X2] i×n Exit the current loop and jump to S034.
[0122] S028. Otherwise, if there is one and only one pair of hyperspheres overlapping (q=2), then proceed to step S029.
[0123] S029. Calculate the moment Δt when the overlapping hyperspheres collide and become tangent using Algorithm 5. c .
[0124] S030, Calculation time Δt c After that, {B0} i The array of coordinates of the inner center of the sphere [X0] i×n =[X0] i×n +[V0] i×n Δt c .
[0125] S031. Calculate the velocities of the overlapping hyperspheres after their collision using Algorithm 6, and then use the position index array {ID}. s Mapped to the original hypersphere set {B0} i In the middle, update the [V0] corresponding to these superspheres. i×n At the specified speed, exit the current loop and jump to step S034.
[0126] S032. Otherwise, if multiple pairs of hyperspheres overlap (q>2), then proceed to step S033.
[0127] S033, shorten the time step Δt = Δt / 2, continue the current loop, and jump to S024.
[0128] S034, End judgment, jump to S006.
[0129] S035, End the loop and execute S036.
[0130] S036. End the filling algorithm and output the coordinates of the center and radius of the currently filled hypersphere.
[0131] Algorithm 2, as described above, involves calculating the hypersphere elements intersecting with the region boundary L and establishing a set of hyperspheres that are periodically symmetric relative to the region boundary L. Specifically, it includes the following steps:
[0132] S101, Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ;
[0133] S102, the boundary of region Ω is x i =x i,min ,x i =x i,max i = 1, 2, ..., n;
[0134] S103. Broadcast the radius array along the column direction (copying it n times) to obtain [R]. i×n ;
[0135] S104, Perform matrix Boolean operations [X] i×n -[R] i×n<[{x 1,min ,x 2,min ,…,x n,min}] i×n This yields a Boolean array [O1]. i×n , representing whether the hypersphere exceeds the lower bound of Ω;
[0136] S105, Perform matrix Boolean operations [X] i×n +[R] i×n >[{x 1,max ,x 2,max ,…,x n,max}] i×n This yields a Boolean array [O2]. i×n , indicating whether the hypersphere exceeds the upper bound of Ω;
[0137] S106. Convert the Boolean array [O1] i×n and [O2] i×n Merging along the column direction yields the array [O3]. i×2n ;
[0138] S107, Regarding the Boolean array [O3] i×2n Performing an OR operation in the direction of rows yields a Boolean array [O]. i×1 ,like Figure 1 As shown;
[0139] S108, Obtain [O] i×1 The middle element is an array of row numbers {ID} that is True. j ;
[0140] S109, Therefore {ID} j Let L be the index of the hypersphere element intersecting the region boundary L;
[0141] S110, According to {ID} j From [X] i×n [R] i×1 and [V] i×n Extract a subset from the set to obtain the array [X] of the center coordinates of the spheres that require periodic symmetry. j×n , radius array [R] j×1 Velocity array [V] j×n ;
[0142] S111, Each hypersphere requiring periodic symmetry has 3 possible positions. n -1, such as Figure 2 As shown;
[0143] S112. Obtain the coordinate matrix of the center of a periodic symmetric hypersphere set. radius matrix velocity matrix
[0144] S113. Obtain the periodic symmetric hypersphere corresponding to {B} i index array in a collection
[0145] Algorithm 3 above is: Calculate the hypersphere set {B} i The index of the overlapping elements; specifically including the following steps:
[0146] S201、{B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 , will [X] i×n Each line in the code is considered as a whole and denoted as [{X}]. n ] i×1 ;
[0147] S202, regarding the coordinate array [{X} n ] i×1 Broadcasting in the column direction (copying i times) yields [A]. i×i =[{X} n {X} n …{X} n ] i×i ;
[0148] S203, Calculate the distance matrix [D] i×i =([A]) i×i -[A] T i×i ) 2 ;
[0149] S204, for the radius array [R] i×1 Broadcasting in the column direction (copying i times) yields [B]. i×i =[RR…R] i×i ;
[0150] S205, Calculate the square matrix of the sum of radii [H] i×i =([B]) i×i +[B] T i×i ) 2 An array diagram illustrating the calculation of the distance matrix and the square matrix of the sum of radii is shown below. Figure 3 As shown;
[0151] S206. Since the square of the distance between the centers of the two spheres when they overlap is less than the square of the sum of their radii, therefore [D]... i×i <[H] i×i Obtain the overlapping array [O] i×i This array is a symmetric Boolean array, taking the value [O]. i×iThe column numbers marked as True in the upper triangular section are the overlapping spheres in {B}. i The element index in the, such as Figure 4 As shown;
[0152] S207, A two-dimensional diagram illustrating the determination of hypersphere collisions and the deletion of newly collided spheres is shown below. Figure 5 As shown.
[0153] Algorithm 4 described above involves calculating the velocity vector of the hypersphere upon reflection after encountering the boundary; specifically, it includes the following steps:
[0154] S301, Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ;
[0155] S302, the boundary of region Ω is x i =x i,min ,x i =x i,max i = 1, 2, ..., n;
[0156] S303, For a one-dimensional array {x 1,min ,x 2,min ,…,x n,min} and {x 1,max ,x 2,max ,…,x n,max Broadcast along the row direction (copying i times), resulting in [{x] 1,min ,x 2,min ,…,x n,min}] i×n and [{x 1,max ,x 2,max ,…,x n,max}] i×n ,like Figure 6 As shown;
[0157] S304, Perform matrix Boolean operations [X] i×n <[{x 1,min ,x 2,min ,…,x n,min}] i×n and [X] i×n >[{x 1,max ,x 2,max ,…,x n,max}] i×n This yields a Boolean array [O1]. i×n and [O2] i×n ;
[0158] S305, Regarding the Boolean array [O1] i×n With [O2] i×n Performing the OR operation yields [O]. i×n ;
[0159] S306. Convert the Boolean array [O] i×n In the expression, True is converted to -1.0 and False is converted to 1.0, resulting in the speed update array [C]. i×n ;
[0160] S307. Update the velocity array of the hypersphere after it reflects off the boundary [V]. i×n =[V] i×n *[C] i×n .
[0161] Algorithm 5 above is as follows: Given that two hyperspheres B1 and B2 overlap after a time interval Δt, calculate the collision time of the two hyperspheres; specifically, it includes the following steps:
[0162] S401. Given that at the initial moment of motion, the coordinates of the center of sphere B1 are (x1, x2, ..., x...). n ), with radius r1 and velocity (u1, u2, ..., u n The center coordinates of hypersphere B2 are (y1, y2, ..., y). n A finite element has a radius of r2 and a velocity of (v1, v2, ..., v). n Two-dimensional schematic diagram as follows: Figure 7 As shown;
[0163] S402. Given that hyperspheres B1 and B2 do not overlap at time 0, but overlap after time Δt, the collision must occur within the time interval (0, Δt).
[0164] S403. Let Δt be the time required from the initial moment of motion of B1 and B2 to the collision. c Then Δt c Satisfy the following equations
[0165] [(x1+u1Δt c )-(y1+v1Δt c )] 2 +[(x2+u2Δt c )-(y2+v2Δt c )] 2 +...+[(x n +u n Δt c )-(y n +v n Δt c )] 2 =(r1+r2)2 (1);
[0166] S404, after simplification, we can obtain information about Δt. c The quadratic equation of
[0167] aΔt c 2 +bΔt c +c=0 (2)
[0168] in
[0169]
[0170]
[0171]
[0172] S405. Solve equation (2) to obtain two roots Δt. c1 and Δt c2 The root in the interval (0, Δt) is taken as the calculated hypersphere collision time Δt. c .
[0173] Algorithm 6 described above updates the velocity vectors of the two balls after their collision; specifically, it includes the following steps:
[0174] S501. In order to improve computational efficiency, the velocity update algorithm here does not obey the law of conservation of momentum, and only guarantees that the two hyperspheres move away from each other after the velocity is updated.
[0175] S502. The velocities of the two balls after the collision are unit vectors moving away from each other along the line connecting the centers of the two balls.
[0176] The center coordinates of S503, hyperspheres B1 and B2 are {X1} respectively. n and {X2} n ;
[0177] The velocities of S504, superspheres B1 and B2 after the collision are:
[0178] {V1} n =({X1}) n -{X2} n ) / ||{X1} n -{X2} n ||,
[0179] {V2} n =({X2}) n -{X1} n ) / ||{X2} n -{X1} n ||, where ||·|| is the norm operator;
[0180] After the algorithm finishes running, the particle filling effect is as follows: Figure 8 As shown.
[0181] This invention combines the advantages of random filling and molecular dynamics-generated particle-filled composite material models. The particles are randomly filled during the collision process, achieving a high filling volume fraction while satisfying the particle size distribution. The algorithm logic for judging a large number of hypersphere collisions, boundary reflections, and mirror images is based on matrix addition and multiplication, using matrix operations to replace loops, judgments, and scalar algebra operations in traditional algorithms. Matrix operations are very suitable for parallel computing, with rich and mature code libraries and extremely high parallel efficiency. By improving the configuration of computer hardware, rapid modeling of a large number of particle-filled composite materials can be achieved.
[0182] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for modeling composite materials filled with n-dimensional hyperspheres, characterized in that, The main steps include: (1) Define a hypercube region Ω in some n-dimensional Euclidean space. The volume of boundary L and Ω ; (2) Based on probabilistic methods, generate an array of radii to be filled that follows a specified probability distribution [R]. m×1 ; (3) The array of radii to be filled [R] m×1 Sort by size from largest to smallest; (4) Define the set of filled hyperspheres {B0} within the defined region. i {B0} i The array contains i hyperspheres, and its center coordinates are represented by the array [X0]. i×n The velocity array is [V0]. i×n The radius array is [R0]. i×1 The set of hyperspheres {B0} already filled in the computational space. i Volume V within region Ω B ; (5) Determine if V B / V Ω If the target volume fraction is less than the target volume fraction, then k hyperspheres are filled into the region Ω, and the new set of filled hyperspheres is {B1}. k The coordinate array of the sphere's center is generated using a random algorithm as [X1]. k×n The velocity array is [V1] k×n , Radius array [R1] k×1 From the radius array [R], sorted in descending order. (m-i)×1 Take it from the middle; determine if V B / V Ω If the hypersphere's volume fraction is greater than or equal to the target volume fraction, the loop ends, the filling algorithm ends, and the coordinates of the center and radius of the currently filled hypersphere are output. (6) The set of filled hyperspheres {B0} within the computational region. i And the new Superball collection {B1} k For each hypersphere element intersecting the region boundary L, establish a hypersphere set {B0} that is periodically symmetric with respect to the region boundary L. p } s and {B1 p } t ; (7) Calculate {B1} k +{B1 p } t and {B0} i +{B0 p } s The overlapping hypersphere elements correspond to the newly filled hypersphere set {B1} k The array of element indices {ID crash1 } l1 Simultaneously, calculate {B1} k +{B1 p } t The supersphere elements that overlap internally correspond to the newly filled supersphere set {B1}. k The array of element indices {ID crash2 } l2 Then, merge {ID} crash1 } l1 and {ID crash2 } l2 And remove duplicate elements to get {ID} crash } l Next, calculate the relationship with {ID}. crash } l The corresponding hypersphere set {B1} crash } l and radius subset [R1 crash ] l×1 ; (8) Update the set of filled hyperspheres {B0} within the region. i+k-l = {B0} i + {B1} k - {B1 crash } l Update the array of center coordinates [X0] within sphere B0. (i+k-l)×n Velocity array [V0] (i+k-l)×n The radius array [R0] (i+k-l)×1 Remove the currently filled radii from the unfilled radius array and update the unfilled radius array [R]. (m-i-k+l)×1 =[R] (m-i)×1 -([R1] k×1 -[R1 crash ] l×1 Update the number of filled hyperspheres i = i + kl, and update the volume fraction V. B / V Ω ; Determine if V B / V Ω If the hypersphere's volume fraction is greater than or equal to the target volume fraction, then exit the current loop, end the current loop, and terminate the filling algorithm. Output the coordinates of the center and radius of the currently filled hypersphere. (9) Determine if V B / V Ω If the target volume fraction is less than the target volume fraction, the filled hypersphere set begins to move, given a time step Δt = Δt0; simultaneously, {B0} is calculated. i When a hypersphere encounters a region boundary L, it will be reflected, and the [V0] corresponding to these hyperspheres will be updated. i×n The speed in the middle; (10) Calculate {B0} i For the hypersphere elements that intersect with the region boundary L, construct a set of hyperspheres {B0} that are periodically symmetric with respect to the region boundary L. p } p Create a temporary set {B2} i+p ={B0} i +{B0 p } p ; (11) After calculating time Δt, {B2} i+p The array of coordinates of the inner center of the sphere [X2] (i+p)×n =[X0] (i+p)×n +[V0] (i+p)×n Δt; (12) Calculate {B2} i+p The supersphere subset {B2} that overlaps internally crash } q And obtain its corresponding original hypersphere set {B0}. i The position index array {ID} in s If no overlap occurs (i.e., q=0), then [X0] i×n =[X2] i×n Exit the current loop, end the loop, and jump to execute step (5) above; (13) Otherwise, if there is one and only one pair of hyperspheres overlapping, i.e., q=2, then calculate the time Δt when the pair of overlapping hyperspheres collide and become tangent. c Calculate time Δt c After that, {B0} i The array of coordinates of the inner center of the sphere [X0] i×n =[X0] i×n +[V0] i×n Δt c ; (14) Calculate the velocities of the pair of overlapping hyperspheres after their collision, using the position index array {ID}. s Mapped to the original hypersphere set {B0} i In the middle, update the [V0] corresponding to these superspheres. i×n If the speed is within the range, exit the current loop, end the judgment, and jump to execute the above step (5); otherwise, if multiple pairs of hyperspheres overlap, i.e., q>2, shorten the time step Δt=Δt / 2, continue the current loop, and execute the above step (11).
2. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that... In step (4), the filled hyperspheres in the region need to meet the following conditions: ① the whole or part of the hypersphere is inside the space, ② there is no overlap between any hyperspheres; At this point, i = 0.
3. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that, The specific steps for calculating the hypersphere elements intersecting with the region boundary L in step (6) and establishing a set of hyperspheres that are periodically symmetric with respect to the region boundary L are as follows: (15.01) Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ; (15.02) The boundary of region Ω is ; (15.03) Broadcast the radius array in the column direction (copying it n times) to obtain [R]. i×n ; (15.04) Perform matrix Boolean operations [X] i×n -[R] i×n <[{x 1,min , x 2,min , …, x n,min }] i×n This yields a Boolean array [O1]. i×n , representing whether the hypersphere exceeds the lower bound of Ω; (15.05) Perform matrix Boolean operations [X] i×n +[R] i×n >[{x 1,max , x 2,max , …, x n,max }] i×n This yields a Boolean array [O2]. i×n , indicating whether the hypersphere exceeds the upper bound of Ω; (15.06) Convert the Boolean array [O1] i×n and [O2] i×n Merging along the column direction yields the array [O3]. i×2n ; (15.07) For the Boolean array [O3] i×2n Performing an OR operation in the direction of rows yields a Boolean array [O]. i×1 ; (15.08) Obtain [O] i×1 The middle element is an array of row numbers {ID} that is True. j ; (15.09) Therefore {ID} j Let L be the index of the hypersphere element intersecting the region boundary L; (15.10) According to {ID} j From [X] i×n [R] i×1 and [V] i×n Extract a subset from the set to obtain the array [X] of the center coordinates of the spheres that require periodic symmetry. j×n , radius array [R] j×1 Velocity array [V] j×n ; (15.11) For each hypersphere requiring periodic symmetry, all possible positions are: indivual; (15.12) Obtain the coordinate matrix [X] of the center of a periodic symmetric hypersphere set. ((3 n -1)×j)×n The radius matrix [R] ((3 n -1)×j)×1 Velocity matrix [V] ((3 n -1)×j)×n ; (15.13) Obtain the periodic symmetric hypersphere corresponding to {B} i The index array [ID] in the collection origin ] ((3 n -1)×j)×1 .
4. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that, In steps (7) and (12), the hypersphere set {B} is calculated. i The specific steps for determining the overlapping element indices are as follows: (16.1) {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 , will [X] i×n Each line in the code is considered as a whole and denoted as [{X}]. n ] i×1 ; (16.2) For the coordinate array [{X} n ] i×1 Broadcasting in the column direction (copying i times) yields [A]. i×i =[{X} n {X} n …{X} n ] i×i ; ( 16.3) Calculate the distance matrix [D] i×i =([A] i×i -[A] T i×i ) 2 ; ( 16.4) For the radius array [R] i×1 Broadcasting in the column direction (copying i times) yields [B]. i×i = [RR…R] i×i ; (16.5) Calculate the square matrix of the sum of radii [H] i×i =([B] i×i +[B] T i×i ) 2 Calculate an array of distance matrices and squared matrices of the sum of radii; (16.6) Since the square of the distance between the centers of the two spheres when they overlap is less than the square of the sum of their radii, therefore, [D] i×i <[H] i×i Obtain the overlapping array [O] i×i This array is a symmetric Boolean array, taking the value [O]. i×i The column numbers marked as True in the upper triangular section indicate the overlapping spheres in {B}. i The element index in the data; (16.7) Two-dimensional diagram of determining hypersphere collision and deleting the new sphere that has collided.
5. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that, The specific steps for calculating the velocity vector of the hypersphere when it reflects off the boundary in step (9) are as follows: (17.1) Given {B} i The array of coordinates of the sphere's center is [X]. i×n The radius array is [R]. i×1 The velocity array is [V] i×n ; (17.2) The boundary of region Ω is ; (17.3) For a one-dimensional array {x 1,min , x 2,min , …, x n,min } and {x 1,max , x 2,max , …, x n,max Broadcast along the row direction (copying i times), respectively obtaining [{x 1,min , x 2,min , …, x n,min }] i×n and [{x 1,max , x 2,max , …,x n,max }] i×n ; (17.4) Perform matrix Boolean operations [X] i×n <[{x 1,min , x 2,min , …, x n,min }] i×n and [X] i×n >[{x 1,max ,x 2,max , …, x n,max }] i×n This yields a Boolean array [O1]. i×n and [O2] i×n ; (17.5) For the Boolean array [O1] i×n With [O2] i×n Performing an OR operation yields [O]. i×n ; (17.6) Convert the Boolean array [O] i×n In the expression, True is converted to -1.0 and False is converted to 1.0, resulting in the speed update array [C]. i×n ; (17.7) Update the velocity array [V] of the hypersphere after it reflects off the boundary. i×n = [V] i×n* [C] i×n .
6. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that, Step (13) calculates the tangent moment Δt when the pair of overlapping hyperspheres collide. c The specific steps are as follows: (18.1) Assume that hyperspheres B1 and B2 overlap after a time interval Δt. It is known that at the initial moment of motion, the coordinates of the center of B1 are (x1, x2, …, x…). n ), with radius r1 and velocity (u1, u2, …, u n The center coordinates of hypersphere B2 are (y1, y2, …, y). n A finite element has a radius of r2 and a velocity of (v1, v2, …, v). n ); (18.2) Given that hyperspheres B1 and B2 do not overlap at time 0, but overlap after time Δt, the collision must occur within the time interval (0, Δt). (18.3) Let Δt be the time required from the initial moment of motion of B1 and B2 to the collision. c Then Δt c Satisfy the following equation: (1); (18.4) After simplification, we can obtain information about Δt. c The quadratic equation of : (2); in ; (18.5) Solve equation (2) to obtain two roots Δt. c1 and Δt c2 The root in the interval (0, Δt) is taken as the calculated hypersphere collision time Δt. c .
7. The method for modeling n-dimensional space hypersphere-filled composite materials as described in claim 1, characterized in that, The specific steps for calculating and updating the velocity vectors of the two balls after the collision in step (14) are as follows: (19.1) In order to improve computational efficiency, the velocity update algorithm here does not obey the law of conservation of momentum, and only guarantees that the two hyperspheres move away from each other after the velocity is updated; (19.2) The velocities of the two balls after the collision are unit vectors moving away from each other along the line connecting their centers; (19.3) The coordinates of the centers of hyperspheres B1 and B2 are {X1} respectively. n and {X2} n ; (19.4) The velocity of superspheres B1 and B2 after the collision {V1} n =({X1} n -{X2} n ) / ||{X1} n -{X2} n ||, {V2} n =({X2} n -{X1} n ) / ||{X2} n -{X1} n ||, where ||·|| is the norm operator.
Citation Information
Patent Citations
Method for generating three-dimensional model of buoyancy material based on random particle filling
CN110838171A
Spherical particle random filling algorithm for three-dimensional cube space
CN114154384A