Block contact search method based on multi-coverage proximity search and local block entry
By adopting the method of multi-coverage adjacent search and local entry into the block in block contact search, the problems of block contact search accuracy and efficiency in the prior art are solved, and efficient and accurate contact search is achieved.
Patent Information
- Application Number
- CN202411544440.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-18
Smart Images

Figure CN119476427A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of block systems, and in particular to a block contact search method based on multi-coverage proximity search and local entry into blocks. Background Art
[0002] The research object of rock engineering is the block system cut by discontinuous surfaces, and involves large deformation problems such as slip, opening and dislocation between blocks. Numerical methods based on the discontinuous assumption are effective tools for analyzing such problems. Among them, discontinuous deformation analysis (DDA) uses blocks cut by real discontinuous surfaces as basic units, and the displacement and deformation of blocks as unknown quantities. It establishes the connection between blocks through the penalty function method, and establishes the overall equation of the block system based on the principle of minimum potential energy, and simulates the static and dynamic mechanical behavior of the block system. In the more than 30 years since DDA was proposed, many researchers have verified the correctness and effectiveness of DDA, and it has been applied in a large number of rock engineering projects such as landslides, rockfalls, earthquakes, and rock cracking and failure.
[0003] One of the core issues facing discontinuous numerical methods is contact search between blocks. In DDA, contact search includes two stages: the first is the coarse search stage, which aims to efficiently identify adjacent blocks. The main methods include grid search method and block approximate coverage method; the second is the fine search stage, which aims to determine the specific contact force application point and contact surface. The main methods include common surface (CP) method and direct search method. The CP method will produce results that are inconsistent with reality when facing a large number of concave bodies in rock engineering. The direct search method may have erroneous contact and contact disappearance problems when facing irregular blocks due to the use of local assumptions and contact type assumptions.
[0004] In response to the contact problem between blocks, Dr. Shi Genhua (2015) proposed the contact theory, which provides rigorous theoretical proofs in mathematics and topology. Different from other contact search algorithms, the contact theory proposes a general method to solve the contact problem, which transforms the contact problem between two blocks into a positional relationship between a reference point and an entry block. However, since the generation of an entry block between blocks in the contact theory requires non-overlap judgment of all point-edge pairs between the two blocks and the generation of contact coverage, it consumes a lot of computing time, limiting the direct application of the contact theory.
[0005] Traditional algorithms such as the CP method and direct search method do not meet the accuracy requirements of rock mass engineering in complex situations, and the contact search algorithm based on contact theory faces the limitation of low computational efficiency. Therefore, it is necessary to develop an efficient contact search algorithm that can meet the accuracy requirements to solve the above problems. Summary of the invention
[0006] The purpose of the present invention is to overcome the defects of the above-mentioned prior art and to provide a block contact search method based on multi-coverage proximity search and local entry into the block that is efficient and can meet the accuracy requirements.
[0007] The purpose of the present invention can be achieved by the following technical solutions:
[0008] A block contact search method based on multi-coverage proximity search and local entry into blocks comprises the following steps:
[0009] Obtain the two-dimensional block system to be searched, sort the vertices of each block in the two-dimensional block system in the same clockwise direction, and set each edge as a directed line segment between adjacent vertices; set the contact judgment tolerance;
[0010] Traversing any two blocks in the two-dimensional block system, using a multi-coverage proximity search method and judging whether the two blocks are adjacent based on the contact judgment tolerance, and if so, determining adjacent geometric elements between the two blocks;
[0011] For adjacent blocks, select reference points in the corresponding adjacent geometric elements and generate local entry blocks;
[0012] Whether the two blocks are in contact is determined based on the positional relationship between the reference point and the local entry block. If they are in contact, the contact force application point and contact surface are determined to complete the contact search.
[0013] Furthermore, the calculation expression of the contact judgment tolerance is:
[0014] d0=αl min
[0015] Where d0 is the contact judgment tolerance, l min is the shortest side length of all blocks in the two-dimensional block system, and α is the tolerance adjustment coefficient.
[0016] Furthermore, the process of using the multi-coverage proximity search method to determine whether two blocks are adjacent to each other specifically includes:
[0017] Generate a local approximate cover for each vertex of each block;
[0018] The local approximate covers of the two blocks are traversed in turn, and whether the two blocks intersect is determined by the intersection of the local approximate covers. If they intersect, the two blocks are judged to be adjacent.
[0019] Furthermore, the process of generating a local approximate cover for each vertex of each block specifically includes:
[0020] For vertex a1 of block A, calculate the coordinates of the midpoints M1 and M2 of edge a3a1 and edge a1a2;
[0021] The maximum x-coordinate value xMaxa1, the maximum y-coordinate value yMaxa1, the minimum x-coordinate value xMina1 and the minimum y-coordinate value yMina1 in vertices a1, M1 and M2 are recorded respectively to form a local approximate coverage of the rectangle of vertex a1 of block A.
[0022] Furthermore, the process of determining whether the two blocks intersect includes:
[0023] For vertex a of block A i The local approximate cover and vertex b of block B i If all the corresponding judgment conditions are not met, blocks A and B are recorded as adjacent blocks; vertex a of block A is i 、side a i-1 a i and side a i a i+1 Vertex b of block B i , side b i-1 b i and side b i b i+1 Denote as the corresponding adjacent geometric element; the expression of the judgment condition is:
[0024]
[0025] In the formula, yMaxa i ,yMaxa i 、xMina i andyMina i Vertex a i The maximum x-coordinate value, maximum y-coordinate value, minimum x-coordinate value, and minimum y-coordinate value in the local approximate cover, xMaxb j ,yMaxb j 、xMinb j and yMinb j Vertex b j The maximum x coordinate value, maximum y coordinate value, minimum x coordinate value and minimum y coordinate value in the local approximate coverage, and d0 is the contact judgment tolerance.
[0026] Furthermore, the generation process of the local entry block includes:
[0027] For all adjacent vertices of block A and edges of block B, select vertex-edge pairs that meet the non-overlapping condition and calculate the contact coverage C(0,1);
[0028] For all adjacent vertices of block B and edges of block A, select vertex-edge pairs that meet the non-overlapping condition and calculate the contact coverage C(1,0);
[0029] The contact coverage C(0,1) and the contact coverage C(1,0) are combined to form a local entry block between blocks. Further, the expression of the non-overlap condition is:
[0030] e i ·n j >-sin(θ Overlap )
[0031] In the formula, e i is the direction vector of all edges connecting the vertices, n j is the direction of the outer normal of the edge, θ Overlap To allow overlap angle.
[0032] Furthermore, the calculation expression of the contact coverage C(0,1) is:
[0033]
[0034] In the formula, 0 and 1 represent the vertex and edge of the block respectively, a i represents the vertex of block A, b j b j+1 represents the edge of block B, b j and b j+1 are the starting point and end point of the edge respectively, E(a i ,b j b j+1 ) represents the vertex a of block A i and edge b of block B j b j+1 The sub-contact coverage formed, i and j are serial numbers;
[0035] The calculation expression of the contact coverage C(1,0) is:
[0036]
[0037] In the formula, a i a i+1 represents the edge of block A, a i and a i+1 are the starting point and end point of the edge, respectively, j represents the vertex of block B, E(a i a i+1 ,b j ) represents the sub-contact cover formed by the vertices of block B and the edges of block A.
[0038] Furthermore, the process of determining whether the two blocks are in contact includes:
[0039] Calculate the distance d from the reference point a0 to all contact covers C(0,1) and C(1,0). When the reference point a0 is located on the left side of the corresponding contact covers C(0,1) and C(1,0) directed line segments, d>0; when a0 is located on the right side of the corresponding contact covers C(0,1) and C(1,0) directed line segments, d<0;
[0040] If the distance from the reference point a0 to all contact coverages C(0,1) and C(1,0) is less than or equal to the tolerance d0, then block A is in contact with block B, and the edge with the largest corresponding distance d is the contact edge; if there is a distance from the reference point a0 to the contact coverage greater than d0, then block A and block B are not in contact, and the contact search ends.
[0041] Furthermore, the method is applied to a two-dimensional block system of a convex or concave body.
[0042] Compared with the prior art, the present invention has the following advantages:
[0043] (1) The present invention is based on a contact search method based on multi-coverage proximity search and local entry blocks. The present invention uses a multi-coverage proximity search coupled with a coarse search and a fine search in two stages. On the basis of contact theory, the multi-coverage proximity search method is first used to identify adjacent blocks and adjacent set elements, and then only a local entry block is formed between adjacent geometric elements, thereby accelerating the contact search based on contact theory while retaining accuracy.
[0044] The present invention proposes a new concept of local entry into a block, which only utilizes part of the block's geometric information to participate in the contact search, thereby significantly shortening the contact search time while ensuring the calculation accuracy.
[0045] (2) The present invention inherits the advantages of contact theory and can provide a unified solution method for contact search in complex situations such as arbitrary concave and convex bodies. Since only some geometric elements are used in the contact search, the efficiency of the contact search is greatly improved. This method is not only applicable to DDA, but also can provide accurate and efficient contact judgment for other non-continuous numerical simulation methods, computer graphics, robotics and other fields. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 A schematic diagram of a block vertex order and line segment direction definition provided in an embodiment of the present invention;
[0047] Figure 2 A schematic flow chart of a contact search method based on multi-coverage proximity search and local entry into a block provided in an embodiment of the present invention;
[0048] Figure 3 A multi-coverage proximity search flow chart provided in an embodiment of the present invention;
[0049] Figure 4 A schematic diagram of local approximate coverage provided in an embodiment of the present invention;
[0050] Figure 5 A schematic diagram of judging adjacent blocks and adjacent geometric elements provided in an embodiment of the present invention;
[0051] Figure 6 A local entry block generation flow chart provided in an embodiment of the present invention;
[0052] Figure 7 A schematic diagram of a non-overlapping condition provided in an embodiment of the present invention;
[0053] Figure 8 A schematic diagram of a partial entry block provided in an embodiment of the present invention;
[0054] Fig. 9 A schematic diagram of the distance between a point and a directed line segment provided in an embodiment of the present invention;
[0055] Fig.10 A schematic diagram of contact relationship determination provided in an embodiment of the present invention;
[0056] Fig.11 A schematic diagram of a masonry wall collapse solution example provided in an embodiment of the present invention
[0057] Fig.12 This is a verification result diagram of a masonry wall collapse solution example provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings here can be arranged and designed in various different configurations.
[0059] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention claimed for protection, but merely represents selected embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0060] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, further definition and explanation thereof is not required in subsequent drawings.
[0061] Example 1
[0062] This embodiment provides a block contact search method based on multi-coverage proximity search and local entry into the block, including the following steps:
[0063] For a two-dimensional DDA bulk system, for any bulk A in the bulk system, if Figure 1 As shown, the vertex a of the block element i and b i Sort counterclockwise, side a i a i+1 For a i Start from point A i+1 Directed line segments of points, such as Figure 2 As shown, the contact search process is as follows:
[0064] Step 1: Calculate the tolerance d0 of contact judgment.
[0065] In this embodiment, the calculation method of the contact judgment tolerance d0 is: d0 = αl min , where l min It is the shortest side length of all blocks. The parameter α is selected according to needs and can be 0.1.
[0066] Step 2: Traverse any two blocks in the two-dimensional block system, use the multi-coverage proximity search method and determine whether the two blocks are adjacent based on the contact judgment tolerance. If they are adjacent, determine the adjacent geometric elements between the two blocks (such as Figure 3 The specific steps are as follows:
[0067] Step 2-1: Traverse all vertices of all blocks as follows:
[0068] a) For vertex a1 of block A, calculate the coordinates of the midpoints M1 and M2 of edge a3a1 and edge d1a2;
[0069] b) Record the maximum x-coordinate value, y-coordinate value and the minimum x-coordinate value, y-coordinate value of points a1, M1 and M2 as xMaxa1, yMaxa1, xMina1, yMina1, respectively, representing the local approximate coverage of block A based on vertex a1.
[0070] like Figure 4 As shown, xMaxa1, yMaxa1, xMina1, and yMina1 form a rectangular approximate cover involving vertex a1, edge a3a1, and edge a1a2 of block A, and participate in the subsequent contact search.
[0071] Step 2-2: Traverse the local approximate covers of blocks A and B in turn. For vertex a of block A i The local approximate cover and vertex b of block B iLocal approximate coverage of , assuming that none of the following conditions are met:
[0072]
[0073] Then blocks A and B are recorded as adjacent blocks, where the vertex a of block A is i 、side a i-1 a i and side a i a i+1 Vertex b of block B i , side b i-1 b i and side b i b i+1 are recorded as adjacent geometric elements; otherwise, blocks A and B are non-adjacent blocks.
[0074] like Figure 5 As shown, the local approximate cover of vertex a1 of block A and the local approximate cover of vertex b3 of block B meet the conditions, then blocks A and B are adjacent, and the involved geometric elements vertex a1, edge a3a1 and edge a1a2 are adjacent to vertex b3, edge b2b3 and edge b3b1 of block B.
[0075] Step 3: For the adjacent blocks, select reference points in the corresponding adjacent geometric elements and generate local entry blocks, such as Figure 6 As shown in the figure, the corresponding process is as follows:
[0076] Step 3-1: For adjacent blocks A and B, select a reference point a0 in block A. In this embodiment, the centroid of block A is selected as the reference point;
[0077] Step 3-2: For all adjacent vertices of block i and edges of block j, select vertex-edge pairs that meet the non-overlapping condition and calculate the contact coverage C(0,1). The calculation formula is:
[0078]
[0079] In the formula, 0 and 1 represent the vertex and edge of the block respectively, a i represents the vertex of block A, b j b j+1 represents the edge of block B, b j and b j+1 are the starting point and end point of the edge respectively, E(a i ,b j b j+1 ) represents the sub-contact cover formed by the vertices of block A and the edges of block B.
[0080] Step 3-3: For all adjacent vertices of block j and edges of block i, select vertex-edge pairs that meet the non-overlapping condition and calculate the contact coverage C(1,0). The calculation formula is:
[0081]
[0082] In the formula, a i a i+1 represents the edge of block A, a i and a i+1 are the starting point and end point of the edge, respectively, j represents the vertex of block B, E(a i a i+1 ,b j ) represents the sub-contact cover formed by the vertices of block B and the edges of block A.
[0083] Among them, in step 3-2, for vertex a i and side b j b j+1 The non-overlapping conditions must meet:
[0084] e i ·n j >-sin(θ Overlap )
[0085] In the formula, e i To connect vertex a i The direction vectors of all sides, n j For edge b j b j+1 The external normal direction, θ overlap is the allowed overlap angle. Figure 7 As shown, the two edges a1a2 and a2a3 connecting vertex a2 both point to the outside of edge b1b2, satisfying the no-overlap condition.
[0086] according to: The two contact coverage combinations can form local entry blocks between blocks for subsequent contact relationship judgment. Figure 8 Shows the local entry into the block formed by adjacent geometric elements between blocks A and B.
[0087] Step 4: Determine whether the two blocks are in contact based on the positional relationship between the reference point and the local entry block. If they are in contact, determine the contact force application point and contact surface to complete the contact search.
[0088] Step 4-1: Calculate the distance d from the reference point a0 to all contact covers C(0,1) and C(1,0), and define that d>0 when a0 is on the left side of the directed line segment, and d<0 when a0 is on the right side of the directed line segment. Fig. 9As shown, point P1 is located on the left side of directed line segment P2P3, so the distance d>0; point P4 is located on the right side of directed line segment P2P3, so the distance d<0.
[0089] Step 4-2: If Fig.10 As shown, assuming that the distance from the reference point a0 to all contact coverage is less than or equal to the tolerance d0, block A is in contact with block B, and the edge with the largest corresponding distance f is the contact edge. If there is a distance from the reference point a0 to the contact coverage greater than d0, block A and block B are not in contact, and the contact search ends.
[0090] exist Figure 7 In the embodiment shown, reference point a c The distance to all contact coverage is less than or equal to the tolerance d0, and the maximum distance is a ∑ When the sub-sub contact coverage E(a1,b3b1) is reached, it can be determined that the vertex a1 of block A is in contact with the edge b3b1 of block B.
[0091] This scheme was integrated into the DDA program and a case study was carried out to verify the collapse of a masonry wall consisting of 412 blocks. Fig.11 shown. Fig.12 The calculation time comparison between the traditional contact search algorithm based on contact theory and the present invention is shown. The results show that the method proposed by the present invention can greatly improve the calculation efficiency while ensuring accuracy. The present invention uses partial geometric information of the block to participate in the contact search, which can be applied to various complex situations such as convex bodies and concave bodies, and the calculation efficiency is significantly higher than the traditional method. This method is not only applicable to the fields of DDA and geotechnical engineering, but also can provide accurate and efficient contact judgment for other non-continuous numerical simulation methods, computer graphics, robotics and other fields.
[0092] The preferred specific embodiments of the present invention are described in detail above. It should be understood that a person skilled in the art can make many modifications and changes based on the concept of the present invention without creative work. Therefore, any technical solution that can be obtained by a person skilled in the art through logical analysis, reasoning or limited experiments based on the concept of the present invention on the basis of the prior art should be within the scope of protection determined by the claims.
Claims
1. A block contact search method based on multi-coverage proximity search and local entry into the block, characterized in that: The following steps are involved: Obtain the two-dimensional block system to be searched, sort the vertices of each block in the two-dimensional block system in the same clockwise direction, and set each edge as a directed line segment between adjacent vertices; set the contact judgment tolerance; Traversing any two blocks in the two-dimensional block system, using a multi-coverage proximity search method and judging whether the two blocks are adjacent based on the contact judgment tolerance, and if so, determining adjacent geometric elements between the two blocks; For adjacent blocks, select reference points in the corresponding adjacent geometric elements and generate local entry blocks; Whether the two blocks are in contact is determined based on the positional relationship between the reference point and the local entry block. If they are in contact, the contact force application point and contact surface are determined to complete the contact search.
2. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 1, characterized in that: The calculation expression of the contact judgment tolerance is: d0=αl min Where d0 is the contact judgment tolerance, l min is the shortest side length of all blocks in the two-dimensional block system, and α is the tolerance adjustment coefficient.
3. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 1, characterized in that: The process of using the multi-coverage proximity search method to determine whether two blocks are adjacent to each other specifically includes: Generate a local approximate cover for each vertex of each block; The local approximate covers of the two blocks are traversed in turn, and whether the two blocks intersect is determined by the intersection of the local approximate covers. If they intersect, the two blocks are judged to be adjacent.
4. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 3, characterized in that: The process of generating a local approximate cover for each vertex of each block specifically includes: For vertex a1 of block A, calculate the coordinates of the midpoints M1 and M2 of edge a3a1 and edge a1a2; The maximum x-coordinate value xMaxa1, the maximum y-coordinate value yMaxa1, the minimum x-coordinate value xMina1 and the minimum y-coordinate value yMina1 in vertices a1, M1 and M2 are recorded respectively to form a local approximate coverage of the rectangle of vertex a1 of block A.
5. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 4, characterized in that: The process of judging whether the two blocks intersect includes: For vertex a of block A i The local approximate cover and vertex b of block B i If all the corresponding judgment conditions are not met, blocks A and B are recorded as adjacent blocks; vertex a of block A is i 、side a i-1 a i and side a i a i+1 Vertex b of block B i , side b i-1 b i and side b i b i+1 Denote as the corresponding adjacent geometric element; the expression of the judgment condition is: Where xMaxa i ,yMaxa i 、xMina i andyMina i Vertex a i The maximum x-coordinate value, maximum y-coordinate value, minimum x-coordinate value, and minimum y-coordinate value in the local approximate cover, xMaxb j ,yMaxb j 、xMinb j and yMinb j Vertex b j The maximum x coordinate value, maximum y coordinate value, minimum x coordinate value and minimum y coordinate value in the local approximate coverage, and d0 is the contact judgment tolerance.
6. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 1, characterized in that: The generation process of the local entry block includes: For all adjacent vertices of block A and edges of block B, select vertex-edge pairs that meet the non-overlap condition and calculate the contact coverage C(0, 1); For all adjacent vertices of block B and edges of block A, select vertex-edge pairs that meet the non-overlapping condition and calculate the contact coverage C(1,0); The contact coverage C(0, 1) and the contact coverage C(1, 0) are combined to form a local entry block between blocks.
7. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 6, characterized in that: The expression of the no-overlap condition is: e i ·n j >-sin(θ Overlap ) In the formula, e i is the direction vector of all edges connecting the vertices, n j is the direction of the outer normal of the edge, θ Overlap To allow overlap angle.
8. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 6, characterized in that: The calculation expression of the contact coverage C(0,1) is: In the formula, 0 and 1 represent the vertex and edge of the block respectively, a i represents the vertex of block A, b j b j+1 represents the edge of block B, b j and b j+1 are the starting point and end point of the edge respectively, E(a i , b j b j+1 ) represents the vertex a of block A i and edge b of block B j b j+1 The sub-contact coverage formed, i and j are serial numbers; The calculation expression of the contact coverage C(1,0) is: In the formula, a i a i+1 represents the edge of block A, a i and a i+1 are the starting point and end point of the edge, respectively, j represents the vertex of block B, E(a i a i+1 , b j ) represents the sub-contact cover formed by the vertices of block B and the edges of block A.
9. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 1, characterized in that: The process of determining whether two blocks are in contact includes: Calculate the distance d from the reference point a0 to all contact covers C(0, 1) and C(1, 0). When the reference point a0 is located on the left side of the corresponding contact covers C(0, 1) and C(1, 0) directed line segments, d>0; when a0 is located on the right side of the corresponding contact covers C(0, 1) and C(1, 0) directed line segments, di<0; If the distance from the reference point a0 to all contact coverages C(0, 1) and C(1, 0) is less than or equal to the tolerance d0, then block A is in contact with block B, and the edge with the largest corresponding distance d is the contact edge; if there is a distance from the reference point a0 to the contact coverage greater than d0, then block A and block B are not in contact, and the contact search ends.
10. The block contact search method based on multi-coverage proximity search and local entry into the block according to claim 1, characterized in that: The method is used for two-dimensional bulk systems of convex or concave bodies.