A two-dimensional block time-continuous contact detection method and system based on algebraic deduction

CN122926523APending Publication Date: 2026-10-16ZHEJIANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611130186.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-28
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

由此,现有技术难以同时兼顾接触检测的准确性、稳定性及计算效率

Benefits of technology

[0065] First, this invention establishes and solves the vertex-edge contact detection equation with the block's movement time as the only unknown, directly determining the actual contact time without relying on adjacent discrete detection times to approximate the contact process. This method can identify contacts occurring between adjacent time steps, preventing the block from crossing the actual contact area within a single time step without being detected, fundamentally eliminating the inherent missed and false detection problems of time-discrete detection methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122926523A_ABST
    Figure CN122926523A_ABST
Patent Text Reader

Abstract

The application discloses a two-dimensional block time continuous contact detection method and system based on algebraic deduction, and is applied to rock engineering discrete element numerical simulation. The method comprises the following steps: obtaining geometric and motion information of potential contact blocks, calculating block centroids by using simplex integration, and establishing vertex motion equations and boundary edge motion equations containing translation and rotation; determining a possible contact time interval according to the overlapping relationship of the circumscribed circles of two blocks, constructing and solving vertex and edge contact detection equations with motion time as the only unknown quantity in the interval; eliminating false solutions according to projection parameters and Euclidean distance, selecting the earliest effective intersection time, and determining the contact point, contact geometric elements and contact type. The method continuously tracks the motion process of blocks, avoids the missing detection and false detection problems caused by time-discrete detection, can balance the detection accuracy and calculation efficiency without continuously reducing the time step and adjusting the search radius, and is suitable for contact detection of complex block systems in rock engineering.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of numerical simulation technology for discontinuous media mechanics in rock engineering, and in particular to a two-dimensional block time-continuous contact detection method and system based on algebraic deduction. Background Technology

[0002] Rock masses are typically composed of intact rock blocks and discontinuous structural surfaces such as joints, fissures, and faults. During processes such as slope instability, rockfall, underground excavation, and rock mass failure, rock blocks may separate, slide, collide, and re-contact. Discrete element method, discontinuous deformation analysis methods, and other discontinuous media mechanics methods can directly describe the relative motion and contact behavior between blocks and have been widely applied in numerical analysis of rock engineering.

[0003] Contact handling is a fundamental step in numerical computation of discontinuous media mechanics, typically including contact detection, contact action calculation, and updating of the block's motion state. Contact detection determines whether contact has occurred between the blocks and obtains the contact time, contact location, participating geometric elements, and contact type. The contact detection results directly affect subsequent contact action calculations and integration of the equations of motion; therefore, the accuracy of the contact detection results has a significant impact on the overall numerical simulation results.

[0004] Existing two-dimensional block contact detection methods typically employ a time-discrete detection approach, meaning that calculations are performed according to a preset time step, and the geometric relationship between blocks is determined only at each discrete calculation moment. Since the block motion is continuous in time, but contact detection is only performed at adjacent discrete moments, actual contact may occur between two detection moments.

[0005] When a block crosses a real contact location within a time step, existing methods may fail to detect the contact event, resulting in missed detections; they may also detect contact vertices, edges, or types inconsistent with the actual contact, leading to false detections. These problems are exacerbated when the block shape is complex, the movement speed is high, the block size varies significantly, or the number of blocks is large. Furthermore, the results of existing time-discrete detection methods are also affected by factors such as the time step size, search radius, and block geometry, making it difficult to guarantee detection accuracy under different computational conditions using a uniform set of parameters.

[0006] Reducing the time step can increase the number of detection moments and decrease the probability of missed detection to some extent, but it will significantly increase the number of contact searches and computation time. Expanding the search radius can increase the detectable area, but it may introduce incorrect contact geometry elements. Therefore, existing technologies struggle to simultaneously achieve accuracy, stability, and computational efficiency in contact detection.

[0007] Therefore, it is necessary to propose a two-dimensional block time-continuous contact detection method and system that does not rely on discrete detection times to approximate the actual contact, and can directly obtain the contact time, contact geometry elements and contact type within the complete motion time range. Summary of the Invention

[0008] To address the shortcomings of existing technologies, this invention provides a method and system for detecting continuous temporal contact in two-dimensional blocks based on algebraic deduction.

[0009] To achieve the above-mentioned objectives, the technical solution adopted by the present invention is as follows:

[0010] A two-dimensional block time-continuous contact detection method based on algebraic derivation, characterized by its application in numerical simulation of discontinuous media mechanics in rock engineering, executed on a computer, and comprising the following steps:

[0011] S1: During the discrete element numerical simulation of rock engineering executed by computer, the geometric information, motion information, and time interval to be detected of potential contact block A and potential contact block B are obtained; the geometric information includes at least the vertex coordinates and vertex connection relationships of the blocks, and the motion information includes at least the translational velocity and angular velocity of the blocks;

[0012] S2: Unify the vertex arrangement direction of potential contact block A and potential contact block B, so that the adjacent vertices of each block are connected in the same counterclockwise direction to form block boundary edges with a defined direction;

[0013] S3: Based on the vertex coordinates of potential contact block A and potential contact block B, the centroids of the two potential contact blocks are calculated using the simplex integral method, and the radius of the circumcircle that can enclose all vertices of the corresponding block is calculated with the centroid as the center.

[0014] S4: Based on the centroid motion relationship and circumcircle radius of the two potential contacting blocks, establish a distance equation between the two circumcircles, solve the distance equation, and determine the possible contact time interval in which the two circumcircles overlap within the detection time interval; if there is no possible contact time interval, it is determined that the two potential contacting blocks do not contact each other within the detection time interval.

[0015] S5: Establish the time-continuous motion equations for each vertex of potential contact block A and potential contact block B respectively, and establish the time-continuous motion equations for the boundary edges based on the time-continuous motion equations for the two endpoints of each block boundary edge; the time-continuous motion equations are constructed based on the rigid body planar kinematics laws and include translation and rotation terms.

[0016] S6: Substitute the vertex motion equation of potential contact block A into the boundary edge motion equation of potential contact block B, and substitute the vertex motion equation of potential contact block B into the boundary edge motion equation of potential contact block A to construct the vertex and edge contact detection equation with block motion time as the only unknown.

[0017] S7: Solve the contact detection equation between each vertex and edge within the possible contact time interval to obtain the candidate intersection time and the vertex and boundary edge corresponding to each candidate intersection time, and store the candidate intersection time and its corresponding contact geometry element into the candidate contact result set;

[0018] S8: Calculate the projection parameters corresponding to each candidate intersection time, and determine whether the corresponding vertex is within the finite line segment range of the corresponding boundary edge based on the projection parameters. Filter out the first type of pseudo-solutions generated when the vertex only intersects with the extension line of the line where the boundary edge is located.

[0019] S9: Calculate the Euclidean distance between the vertex and the corresponding boundary edge at each candidate intersection time that has been retained. Based on the preset distance threshold, filter out the second type of pseudo-solutions that are generated when the vertex and the boundary edge do not actually intersect, and obtain the set of effective contact results.

[0020] S10: Select the earliest effective intersection time from the set of effective contact results as the actual contact time of potential contact block A and potential contact block B, and determine the contact point position and contact type according to the contact geometry elements and projection parameters corresponding to the actual contact time; the contact type includes vertex-edge contact, vertex-vertex contact and edge-edge contact; calculate the contact force and torque acting on block A and block B according to the actual contact time, contact point position and contact type, and update the motion state of the two blocks to realize the iterative advancement of numerical simulation of discontinuous media mechanics in rock engineering.

[0021] Further, the method for unifying the orientation of the block vertices in step S2 is as follows: A reference point O in the two-dimensional coordinate system is selected, and the reference point O is connected to each vertex of the block, forming a direction vector pointing from the reference point O to each vertex; the polar angle between each direction vector and the positive x-axis of the two-dimensional coordinate system is calculated, and the polar angle corresponding to the i-th vertex is denoted as... ,in When the calculated polar angle is less than zero, add 2 to the polar angle. This ensures that the polar angles corresponding to each vertex are all located in the interval [0, 2]. Within the block, the vertices are reordered in ascending order of their corresponding polar angles, so that the reordered vertices are arranged in a counter-clockwise direction.

[0022] Furthermore, when using the simplex integral method to calculate the mass center and circumcircle radius of the block, a reference point is selected. It will consist of n vertices The resulting two-dimensional polygonal blocks are divided into The nth triangular simplex, the nth A triangular simplex is defined by a reference point. ,vertex and the apex Composition, in which ;No. The directed area of ​​a triangular simplex The centroid coordinate vector is half the absolute value of the determinant. The average of the coordinates of the three vertices; the coordinate vector of the mass center of the block. The coordinates of the centroids of the directed area-weighted average of the simplex triangles are: [coordinates of the centroids of the simplex triangles]; [radius of the circumcircle of the block]. This represents the maximum Euclidean distance from the centroid to each vertex.

[0023] No. The directed area of ​​a triangular simplex for:

[0024]

[0025] No. The centroid coordinate vector of a triangular simplex for:

[0026]

[0027] The centroid coordinate vector of the two-dimensional polygonal block for:

[0028]

[0029] The circumcircle radius of the two-dimensional polygonal block for:

[0030]

[0031] In the formula, For a two-dimensional polygon block, the first The coordinate vector of each vertex. ; with the centroid coordinate vector The corresponding position is the center of the circle, with the radius of the circumcircle as the reference point. Construct a circumcircle of the block for the radius.

[0032] Furthermore, the equation for the distance between the two circumcircles is: ,in and The centroids of potential contact blocks A and B, respectively, in time... The location, and Let A and B be the circumcircles of potential contact blocks A and B, respectively; solve the distance equation, and combine it with the two endpoints of the time interval to be detected to determine the conditions that satisfy the equation. The time interval is taken as the possible contact time interval.

[0033] Furthermore, the equation of continuous time motion for any vertex of a volume is: ,in Rotation matrix , For the first The initial coordinates of the vertices, The initial centroid coordinates of the block are given. The translational velocity of the block. The angular velocity of the block; from adjacent vertices and The first The time-continuous motion equations of the boundary edges are expressed in two-point form.

[0034] The two endpoints during motion time The coordinates at time are as follows:

[0035]

[0036]

[0037] The first The equations of continuous motion of the boundary edge in time are expressed in two-point form as follows:

[0038]

[0039] In the formula, For the first The coordinates of any point on the straight line containing the boundary edge, and when season .

[0040] Furthermore, the method for constructing the vertex-edge contact detection equation is as follows: The vertex to be detected is time-... The coordinates of the location are Let the coordinates of the two endpoints of the corresponding boundary edge at time t be denoted as follows: and The formula is as follows:

[0041]

[0042]

[0043]

[0044] Based on the geometric condition that the vertex to be detected is collinear with the line containing the boundary edge, the contact detection equation is established: The contact detection equation contains only one unknown, namely the block movement time. .

[0045] Furthermore, when filtering out first-type spurious solutions, the projection parameters of the vertex to be detected on the corresponding boundary edge are calculated according to the following formula. ;when or When the vertex to be detected is determined to be located on the extension line of the straight line containing the boundary edge, the corresponding candidate intersection time is determined to be a first-type pseudo-solution and deleted; when When the time is equal to the time of intersection of the corresponding candidates, retain the time of intersection.

[0046] Furthermore, when filtering out second-type spurious solutions, the Euclidean distance between the vertex and the corresponding boundary edge is calculated according to the following formula. Set distance threshold ,when When the corresponding candidate intersection time is determined to be a pseudo-solution of the second type, it is deleted; when The corresponding candidate intersection time and its corresponding contact geometry element are stored in the effective contact result set; the distance threshold Not greater than Positive numbers.

[0047] Furthermore, the method for determining the contact type is as follows:

[0048] When the actual contact corresponds to the projection parameters, it satisfies Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When the vertex is in contact with the edge, it is determined that the vertex is in contact with the edge.

[0049] When the actual contact corresponds to the projection parameters, it satisfies or Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When this occurs, it is determined that the vertices are in contact with each other;

[0050] When the actual contact corresponds to the projection parameters, it satisfies Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. When this occurs, it is determined that the edges are in contact with each other;

[0051] When the actual contact corresponds to the projection parameters, it satisfies or Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. When the actual contact point points to the other vertices, a first vector is calculated, and a second vector is calculated, pointing from the actual contact point to the other endpoint of the contact boundary edge. When the dot product of the first vector and the second vector is less than zero, it is determined that the vertices are in contact with each other. When the dot product of the first vector and the second vector is greater than zero, it is determined that the edges are in contact with each other.

[0052] This invention also discloses a two-dimensional block time-continuous contact detection system based on algebraic derivation, applied in numerical simulation of discontinuous media mechanics in rock engineering, executed on a computer, including:

[0053] The information acquisition module is used to acquire the geometric information, motion information, and time interval to be detected of potential contact block A and potential contact block B during the discrete element numerical simulation of rock engineering executed by the computer; the geometric information includes at least the vertex coordinates and vertex connection relationships of the blocks, and the motion information includes at least the translational velocity and angular velocity of the blocks;

[0054] The vertex sorting module is used to unify the vertex arrangement direction of potential contact block A and potential contact block B, so that the adjacent vertices of each block are connected in the same counterclockwise direction to form block boundary edges with a defined direction.

[0055] The centroid and circumcircle calculation module is used to calculate the centroid of the two potential contact blocks A and B respectively using the simplex integral method based on the vertex coordinates of the two potential contact blocks A and B, and to calculate the radius of the circumcircle that can enclose all vertices of the corresponding block with the centroid as the center.

[0056] The contact time interval screening module is used to establish a distance equation between two circumcircles based on the centroid motion relationship and circumcircle radius of two potential contact blocks, solve the distance equation, and determine the possible contact time interval in which the two circumcircles overlap within the time interval to be detected; if no possible contact time interval exists, it is determined that the two potential contact blocks do not contact each other within the time interval to be detected.

[0057] The motion equation construction module is used to establish the time-continuous motion equations of each vertex of potential contact block A and potential contact block B, and to establish the time-continuous motion equations of the boundary edges based on the time-continuous motion equations of the two endpoints of each block boundary edge; the time-continuous motion equations are constructed based on the rigid body planar kinematics laws and include translation and rotation terms.

[0058] The contact detection equation construction module is used to substitute the vertex motion equation of potential contact block A into the boundary edge motion equation of potential contact block B, and substitute the vertex motion equation of potential contact block B into the boundary edge motion equation of potential contact block A, so as to construct the vertex and edge contact detection equation with the block motion time as the only unknown.

[0059] The candidate result acquisition module is used to solve the contact detection equation between each vertex and edge within the possible contact time interval, obtain the candidate intersection time and the vertex and boundary edge corresponding to each candidate intersection time, and store the candidate intersection time and its corresponding contact geometry element into the candidate contact result set.

[0060] The first pseudo-solution elimination module is used to calculate the projection parameters corresponding to the intersection time of each candidate, and determine whether the corresponding vertex is located within the finite line segment range of the corresponding boundary edge based on the projection parameters, and eliminate the first type of pseudo-solutions generated when the vertex only intersects with the extension line of the line where the boundary edge is located.

[0061] The second pseudo-solution filtering module is used to calculate the Euclidean distance between the vertex and the corresponding boundary edge at each candidate intersection time after retention, and filter out the second type of pseudo-solutions generated when the vertex and the boundary edge do not actually intersect according to the preset distance threshold, so as to obtain the set of effective contact results.

[0062] The actual contact determination module is used to select the earliest effective intersection time from the set of effective contact results as the actual contact time between potential contact blocks A and B, and to determine the contact point location and contact type based on the contact geometry elements and projection parameters corresponding to the actual contact time; the contact type includes vertex-edge contact, vertex-vertex contact, and edge-edge contact; and

[0063] The motion state update module is used to calculate the contact force and torque acting on block A and block B based on the actual contact time, contact point location and contact type, and update the motion state of the two blocks to realize the iterative advancement of numerical simulation of discontinuous media mechanics in rock engineering.

[0064] Compared with the prior art, the advantages of the present invention are as follows:

[0065] First, this invention establishes and solves the vertex-edge contact detection equation with the block's movement time as the only unknown, directly determining the actual contact time without relying on adjacent discrete detection times to approximate the contact process. This method can identify contacts occurring between adjacent time steps, preventing the block from crossing the actual contact area within a single time step without being detected, fundamentally eliminating the inherent missed and false detection problems of time-discrete detection methods.

[0066] Secondly, this invention establishes a unified motion equation and contact detection equation based on the block vertices and boundary edges, which does not depend on the regular block shape and is applicable to convex polygons, non-convex polygons and any two-dimensional block with complex geometry, and has good versatility and adaptability.

[0067] Third, this invention uses the circumscribed circle of the block to initially screen possible contact times, and uses projection parameters and Euclidean distance to batch-screen out two types of spurious solutions, reducing unnecessary equation solving and result judgment, and significantly improving computational efficiency while ensuring detection accuracy. Numerical experiments show that the contact detection deviation of the method of this invention can reach the order of magnitude of computer floating-point rounding error, and the computational efficiency is far higher than that of time-discrete detection methods with the same accuracy requirements, demonstrating significant advantages in both detection accuracy and computational efficiency.

[0068] Fourth, the present invention can simultaneously determine the contact time, contact point location, geometric elements involved in the contact, and contact type, providing complete input information for subsequent contact force calculation and block motion state update, and realizing full-chain automated processing from contact detection to motion update.

[0069] In summary, this invention overcomes the shortcomings of existing time-discrete contact detection methods, such as the inability to continuously track the movement of blocks, the susceptibility to missed and false detections, and the significant impact of time step and search radius on detection results. It provides a two-dimensional block time-continuous contact detection method that combines high precision and high efficiency. Attached Figure Description

[0070] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0071] Figure 1 This is a flowchart of the overall process for the two-dimensional block time-continuous contact detection method based on algebraic derivation in Embodiment 1 of the present invention.

[0072] Figure 2 This is a schematic diagram illustrating how the block orientation is ensured by sorting according to the vertex polar angle in Embodiment 1 of the present invention.

[0073] Figure 3 This is a schematic diagram illustrating the calculation of the area of ​​a two-dimensional polygon block using the simplex integral method in Embodiment 1 of the present invention;

[0074] Figure 4 This is a schematic diagram illustrating the preliminary screening of contact time based on the intersection relationship of the circumscribed circles of the block in Embodiment 1 of the present invention;

[0075] Figure 5 This is a schematic diagram of two types of pseudo-solutions and their removal methods during the solution of the contact detection equation in Embodiment 1 of the present invention; where a is a schematic diagram of the two types of pseudo-solutions, and b is a schematic diagram of the principle of the method for eliminating pseudo-solutions based on projection parameters;

[0076] Figure 6 This is a schematic diagram of the determination of vertex-edge contact, vertex-vertex contact and edge-edge contact types in Embodiment 1 of the present invention; where a is a schematic diagram of vertex-edge contact, b is a schematic diagram of vertex-vertex contact, c is a schematic diagram of vertex-vertex contact, d is a schematic diagram of edge-edge contact and e is a schematic diagram of edge-edge contact.

[0077] Figure 7 A schematic diagram of the contact configuration for a numerical example of the preset contact results;

[0078] Figure 8 This is a comparison chart of the detection accuracy and calculation time of the discrete-time contact detection method in Embodiment 1 of the present invention; where a is the detection result chart of the discrete-time contact detection method, b is the efficiency and accuracy comparison chart of the discrete-time contact detection method and the present invention, and c is the contact detection accuracy chart of the present invention. Detailed Implementation

[0079] The technical solutions of the embodiments of the present invention will be clearly and completely described below 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.

[0080] This application proposes a time-continuous contact detection method for two-dimensional blocks based on algebraic derivation. This method decomposes a two-dimensional polygonal block into moving vertices and moving boundary edges. By establishing a vertex-edge contact detection equation with the block's motion time as the only unknown, it solves for contact events during the complete motion of the block. This application refers to this method as the algebraic derivation contact detection method, and its overall process is as follows: Figure 1 As shown.

[0081] Example 1: A method for detecting continuous temporal contact in two-dimensional blocks based on algebraic derivation

[0082] (1) Obtain the geometric and motion information of the potential contact blocks:

[0083] Obtain the vertex coordinates, vertex connection relationships, translational velocity, angular velocity, and detection time interval of potential contact block A and potential contact block B.

[0084] The initial vertex coordinate sets of block A and block B are represented as follows:

[0085]

[0086]

[0087] in, and Let A and B be the number of vertices, respectively; and let B be the translational velocities of block A and block B, respectively. and The angular velocities are respectively expressed as and .

[0088] (2) Unify the vertex arrangement direction of potential contact blocks:

[0089] like Figure 2 As shown, a reference point is selected in the two-dimensional coordinate system. Connect the reference points respectively Calculate the values ​​of each vertex of the block from the reference point. Pointing to the The direction vectors of the vertices and Polar angle between positive directions of the axis :

[0090]

[0091] when season:

[0092]

[0093] Make the polar angles corresponding to each vertex lie within the interval Inside. Reorder the vertices of the block according to their polar angles from smallest to largest, so that the reordered vertices are arranged in a counter-clockwise direction. Connect adjacent vertices according to their reordered vertex numbers, and connect the last vertex to the first vertex to form a closed block boundary with uniform directionality. Perform the above process on block A and block B respectively, so that the vertices of the two potentially contacting blocks are arranged in a counter-clockwise direction.

[0094] (3) The simplex integral method is used to calculate the centroid and circumradius of the block:

[0095] like Figure 3 As shown, for those with A two-dimensional polygonal block with 1 vertex, selecting a reference point. From the reference point , No. vertices Passing the exam vertices Constituting the first There are three triangular simplexes, among which... .

[0096] No. The directed area of ​​a triangular simplex for:

[0097]

[0098] No. The centroid coordinate vector of a triangular simplex for:

[0099]

[0100] The centroid coordinate vector of the two-dimensional polygonal block for:

[0101]

[0102] The circumcircle radius of the two-dimensional polygonal block for:

[0103]

[0104] Calculate the centroid coordinate vectors of block A and block B respectively using the above four formulas. , and the radius of the circumcircle , .

[0105] (4) Preliminary screening of contact time for the two potential contact blocks:

[0106] like Figure 4 As shown, based on the relationship between the centers of mass motion of blocks A and B and the circumradii of their circumcircles, the intersection equation of the circumcircles of the two blocks is established:

[0107]

[0108] In the formula, Let be the movement time of the blocks. Solve the above equation. If the equation has no real solutions within the time interval to be detected, then the circumcircles of the two blocks do not overlap within that time interval, and it is determined that blocks A and B have no possibility of contact, thus ending the contact detection of the pair of potentially contacting blocks. If the equation has two real solutions within the time interval to be detected... and ,and ,but The moment when the two circumcircles begin to intersect. This is the moment when the two circumcircles finally intersect. Block A and block B can only occur within the time interval. Contact occurs internally, therefore, This serves as the solution interval for the contact detection equation.

[0109] (5) Establish the time-continuous motion equations for the vertices and boundary edges of the block:

[0110]

[0111] in:

[0112]

[0113] In the formula, For the first The initial coordinates of the vertices, For the first Each vertex in time The coordinates of the location The initial centroid coordinates of the block are given. The translational velocity of the block. The angular velocity of the block;

[0114] Adjacent vertices of the block and The first A boundary edge, whose two endpoints are in motion time The coordinates at time are as follows:

[0115]

[0116]

[0117] The first The equations of continuous motion of the boundary edge in time are expressed in two-point form as follows:

[0118]

[0119] In the formula, For the first The coordinates of any point on the straight line containing the boundary edge, and when season .

[0120] (6) Construct the vertex-edge contact detection equation:

[0121] Substitute the motion equations of each vertex of block A into the motion equations of each boundary edge of block B, and simultaneously substitute the motion equations of each vertex of block B into the motion equations of each boundary edge of block A, to construct the contact detection equations corresponding to all possible vertex-edge combinations.

[0122] For the vertex to be detected and the boundary edge to be detected The contact detection equation is:

[0123]

[0124] In the formula, For the vertex to be detected in time The coordinate vector at that location; and For the two endpoints of the boundary edge to be detected in time The coordinate vector at the location; the formula only includes the block's motion time. An unknown quantity.

[0125] (7) Solve the contact detection equation and construct the candidate contact result matrix:

[0126] The time interval determined in step (4) Within each vertex-edge contact detection equation constructed in step (6), the candidate intersection time corresponding to each vertex-edge combination is obtained.

[0127] The candidate intersection times and their corresponding geometric elements of block A and block B are used to construct a candidate contact result matrix:

[0128]

[0129] In the formula, To determine the number of candidate intersection events; and The first The geometric elements of block A and block B corresponding to each candidate intersection event; The intersection time of the corresponding candidates.

[0130] (8) Weed out the first type of spurious solutions:

[0131] like Figure 5 As shown, the candidate intersection events obtained from the contact detection equation include the first type of pseudo-solutions where the vertex is located on the extension of the line containing the boundary edge.

[0132] For the Given 1 candidate intersection events, calculate the projection parameters of the vertices on the corresponding boundary edges. :

[0133]

[0134] In the formula, Let be the vertex coordinate vector at the candidate intersection moment; and Let be the coordinate vectors of the two endpoints of the corresponding boundary edge. Adding the projection parameters to the candidate contact result matrix yields:

[0135]

[0136] when When the projection of a vertex lies within a finite range of line segments on the corresponding boundary edge, the corresponding result column is retained; when or When the vertex is located on the extension of the line containing the corresponding boundary edge, delete the corresponding result column.

[0137] (9) Screen out the second type of spurious solutions and determine the actual contact time:

[0138] like Figure 5 As shown, after filtering by projection parameters, the candidate contact results may still contain second-type pseudo-solutions where the vertex and the corresponding boundary edge do not actually coincide.

[0139] Calculate the Euclidean distance between the candidate vertex and its corresponding boundary edge. :

[0140]

[0141] Set distance threshold .when When, retain the corresponding candidate results; when When the false solution is removed, the corresponding candidate result is deleted. After two rounds of spurious solution filtering, the final effective contact result matrix is ​​obtained. Extract the earliest effective intersection time and its corresponding contact geometry elements and projection parameters from the final effective contact result matrix:

[0142]

[0143] In the formula, This represents the actual contact time between block A and block B. and For geometric elements that participate in actual contact; These are the projection parameters corresponding to the actual contact events.

[0144] (10) Determine the contact type of the blocks:

[0145] like Figure 6 As shown, the block contact type is determined based on the projection parameters corresponding to the actual contact event, the distances from other vertices to the contact boundary edge, and the dot product relationship between relevant vectors.

[0146] when Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When this occurs, it is determined that the vertex and edge are in contact.

[0147] when or Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When this occurs, it is determined to be a vertex-to-vertex contact.

[0148] when Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. When this occurs, it is determined to be edge-to-edge contact.

[0149] when or Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. At that time, the other vertices are designated as the second vertex; the first vector pointing from the actual contact point to the second vertex is calculated. And a second vector pointing from the actual contact point to the other end of the contact boundary edge. .when When, it is determined to be vertex-to-vertex contact; when When this occurs, it is determined to be edge-to-edge contact.

[0150] At this point, the continuous contact detection between block A and block B is complete, and the actual contact time, contact point location, geometric elements involved in the contact, and contact type are obtained.

[0151] Experimental Example 1

[0152] Construct two arbitrarily shaped 2D polygonal blocks such that the two blocks are in contact at a specified vertex-edge junction, and translate the preset contact vertex to the origin. The geometric configurations of the two blocks at the preset contact moment are as follows: Figure 7 As shown. To obtain a predetermined numerical experimental model for the contact results, firstly from... Figure 7 Starting from the just-in-contact configuration shown, separate translational and rotational motions are applied to the two blocks respectively, so that the two blocks no longer come into contact during the motion. The parameters of the opposite separation motion of the two blocks are shown in Table 1.

[0153] Table 1. Parameters of the reverse separation motion of the two blocks

[0154]

[0155] The geometric positions at the end of the reverse separation motion of the two blocks are used as the initial geometric configuration for the numerical experiment, and the signs of the translational velocities and angular velocities in Table 1 are reversed as the input motion information for the numerical experiment. Therefore, the input translational velocity of block A is... The input angular velocity is The input translation speed of block B is The input angular velocity is .

[0156] When the two blocks move according to the initial geometric information and input motion information mentioned above, they should be in When contact re-occurs, the preset contact point is the origin of the coordinate system. This construction method ensures that the contact time, contact point, and contact geometry are all predetermined and correct results. The reverse separation time and motion parameters of the two blocks are derived from the corresponding numerical examples in the paper.

[0157] The contact detection of the two blocks was performed using the method described in Example 1. The contact time between the two blocks was calculated to be... The coordinates of the contact vertex obtained from the detection are:

[0158]

[0159] The Euclidean distance between the detected contact vertex and the preset contact edge is:

[0160]

[0161] The computation time of the method described in this invention is The detected contact point and the preset contact point The results are basically identical, and the detection error is on the order of computer floating-point rounding error.

[0162] A time-discrete contact detection method was used to compare calculations on the same numerical test model. Separate settings were implemented. , , , , , and There are a total of 7 time steps, and each is set... , , , , , , and There are a total of 8 search radii, forming 56 sets of calculation parameter combinations.

[0163] The detection accuracy and computation time of the method described in this invention are compared with those of the time-discrete contact detection method. Figure 8 As shown, the time-discrete contact detection method exhibits correct detection, incorrect detection, and missed detection under different combinations of time steps and search radii, and the detection results fluctuate significantly with changes in computational parameters.

[0164] When the time step decreases to At that time, the computation time of the discrete-time contact detection method reaches The minimum contact detection deviation it obtained is still 1. In contrast, the contact detection deviation of the method described in this invention is... The calculation time is .

[0165] Experimental results show that the method described in this invention can directly determine the actual contact time between two blocks and accurately identify the contact point and contact geometric elements, without relying on the time step and search radius for contact determination. Compared with time-discrete contact detection methods, this invention can avoid missed detections, false detections, and randomness in contact results caused by discrete detection times, while also possessing higher contact detection accuracy and computational efficiency. Therefore, the method described in this invention is effective and feasible.

[0166] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0167] Example 2: A two-dimensional block time-continuous contact detection system based on algebraic deduction

[0168] This invention also discloses a two-dimensional block time-continuous contact detection system based on algebraic deduction. This system is used to implement the two-dimensional block time-continuous contact detection method based on algebraic deduction described in Example 1, and is applied to numerical simulations of discontinuous media mechanics in rock engineering. The system includes:

[0169] The information acquisition module is used to acquire the geometric information, motion information, and time interval to be detected of potential contact block A and potential contact block B during the discrete element numerical simulation of rock engineering executed by the computer; the geometric information includes at least the vertex coordinates and vertex connection relationships of the blocks, and the motion information includes at least the translational velocity and angular velocity of the blocks;

[0170] The vertex sorting module is used to unify the vertex arrangement direction of potential contact block A and potential contact block B, so that the adjacent vertices of each block are connected in the same counterclockwise direction to form block boundary edges with a defined direction.

[0171] The centroid and circumcircle calculation module is used to calculate the centroid of the two potential contact blocks A and B respectively using the simplex integral method based on the vertex coordinates of the two potential contact blocks A and B, and to calculate the radius of the circumcircle that can enclose all vertices of the corresponding block with the centroid as the center.

[0172] The contact time interval screening module is used to establish a distance equation between two circumcircles based on the centroid motion relationship and circumcircle radius of two potential contact blocks, solve the distance equation, and determine the possible contact time interval in which the two circumcircles overlap within the time interval to be detected; if no possible contact time interval exists, it is determined that the two potential contact blocks do not contact each other within the time interval to be detected.

[0173] The motion equation construction module is used to establish the time-continuous motion equations of each vertex of potential contact block A and potential contact block B, and to establish the time-continuous motion equations of the boundary edges based on the time-continuous motion equations of the two endpoints of each block boundary edge; the time-continuous motion equations are constructed based on the rigid body planar kinematics laws and include translation and rotation terms.

[0174] The contact detection equation construction module is used to substitute the vertex motion equation of potential contact block A into the boundary edge motion equation of potential contact block B, and substitute the vertex motion equation of potential contact block B into the boundary edge motion equation of potential contact block A, so as to construct the vertex and edge contact detection equation with the block motion time as the only unknown.

[0175] The candidate result acquisition module is used to solve the contact detection equation between each vertex and edge within the possible contact time interval, obtain the candidate intersection time and the vertex and boundary edge corresponding to each candidate intersection time, and store the candidate intersection time and its corresponding contact geometry element into the candidate contact result set.

[0176] The first pseudo-solution elimination module is used to calculate the projection parameters corresponding to the intersection time of each candidate, and determine whether the corresponding vertex is located within the finite line segment range of the corresponding boundary edge based on the projection parameters, and eliminate the first type of pseudo-solutions generated when the vertex only intersects with the extension line of the line where the boundary edge is located.

[0177] The second pseudo-solution filtering module is used to calculate the Euclidean distance between the vertex and the corresponding boundary edge at each candidate intersection time after retention, and filter out the second type of pseudo-solutions generated when the vertex and the boundary edge do not actually intersect according to the preset distance threshold, so as to obtain the set of effective contact results.

[0178] The actual contact determination module is used to select the earliest effective intersection time from the set of effective contact results as the actual contact time between potential contact blocks A and B, and to determine the contact point location and contact type based on the contact geometry elements and projection parameters corresponding to the actual contact time; the contact type includes vertex-edge contact, vertex-vertex contact, and edge-edge contact; and

[0179] The motion state update module is used to calculate the contact force and torque acting on block A and block B based on the actual contact time, contact point location and contact type, and update the motion state of the two blocks to realize the iterative advancement of numerical simulation of discontinuous media mechanics in rock engineering.

[0180] Specific limitations regarding the two-dimensional block temporal continuous contact detection system based on algebraic deduction can be found in the limitations of the two-dimensional block temporal continuous contact detection method based on algebraic deduction mentioned above, and will not be repeated here. Each module in the above system can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in hardware or independently of the processor in a computer device, or stored in software in the memory of a computer device, so that the processor can call and execute the corresponding operations of each module.

[0181] Example 3 Terminal Device

[0182] A terminal device includes a processor and a memory. The memory stores a computer program, which includes program instructions. The processor executes the program instructions stored in the computer storage medium. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions to achieve a corresponding method flow or function. The processor described in this embodiment can be used in the operation of the two-dimensional block time-continuous contact detection method based on algebraic deduction in Embodiment 1.

[0183] Example 4 Storage Medium

[0184] A storage medium, specifically a computer-readable storage medium (Memory), is a memory device in a terminal device used to store programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the terminal device and extended storage media supported by the terminal device. The computer-readable storage medium provides storage space that stores the terminal's operating system. Furthermore, this storage space also stores one or more instructions suitable for loading and execution by a processor; these instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device.

[0185] One or more instructions stored in a computer-readable storage medium can be loaded and executed by a processor to implement the corresponding steps of the two-dimensional block time continuous contact detection method based on algebraic deduction in Embodiment 1 above; one or more instructions in the computer-readable storage medium are loaded and executed by the processor.

[0186] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. 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 of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.

Claims

1. A method for detecting continuous temporal contact in two-dimensional blocks based on algebraic deduction, characterized in that, Applied to numerical simulations of discontinuous media mechanics in rock engineering, and executed on a computer, it includes the following steps: S1: During the discrete element numerical simulation of rock engineering executed by computer, the geometric information, motion information, and time interval to be detected of potential contact block A and potential contact block B are obtained; the geometric information includes at least the vertex coordinates and vertex connection relationships of the blocks, and the motion information includes at least the translational velocity and angular velocity of the blocks; S2: Unify the vertex arrangement direction of potential contact block A and potential contact block B, so that the adjacent vertices of each block are connected in the same counterclockwise direction to form block boundary edges with a defined direction; S3: Based on the vertex coordinates of potential contact block A and potential contact block B, the centroids of the two potential contact blocks are calculated using the simplex integral method, and the radius of the circumcircle that can enclose all vertices of the corresponding block is calculated with the centroid as the center. S4: Based on the centroid motion relationship and circumcircle radius of the two potential contacting blocks, establish a distance equation between the two circumcircles, solve the distance equation, and determine the possible contact time interval in which the two circumcircles overlap within the detection time interval; if there is no possible contact time interval, it is determined that the two potential contacting blocks do not contact each other within the detection time interval. S5: Establish the time-continuous motion equations for each vertex of potential contact block A and potential contact block B respectively, and establish the time-continuous motion equations for the boundary edges based on the time-continuous motion equations for the two endpoints of each block boundary edge; the time-continuous motion equations are constructed based on the rigid body planar kinematics laws and include translation and rotation terms. S6: Substitute the vertex motion equation of potential contact block A into the boundary edge motion equation of potential contact block B, and substitute the vertex motion equation of potential contact block B into the boundary edge motion equation of potential contact block A to construct the vertex and edge contact detection equation with block motion time as the only unknown. S7: Solve the contact detection equation between each vertex and edge within the possible contact time interval to obtain the candidate intersection time and the vertex and boundary edge corresponding to each candidate intersection time, and store the candidate intersection time and its corresponding contact geometry element into the candidate contact result set; S8: Calculate the projection parameters corresponding to each candidate intersection time, and determine whether the corresponding vertex is within the finite line segment range of the corresponding boundary edge based on the projection parameters. Filter out the first type of pseudo-solutions generated when the vertex only intersects with the extension line of the line where the boundary edge is located. S9: Calculate the Euclidean distance between the vertex and the corresponding boundary edge at each candidate intersection time that has been retained. Based on the preset distance threshold, filter out the second type of pseudo-solutions that are generated when the vertex and the boundary edge do not actually intersect, and obtain the set of effective contact results. S10: Select the earliest effective intersection time from the set of effective contact results as the actual contact time of potential contact block A and potential contact block B, and determine the contact point position and contact type according to the contact geometry elements and projection parameters corresponding to the actual contact time; the contact type includes vertex-edge contact, vertex-vertex contact and edge-edge contact; calculate the contact force and torque acting on block A and block B according to the actual contact time, contact point position and contact type, and update the motion state of the two blocks to realize the iterative advancement of numerical simulation of discontinuous media mechanics in rock engineering.

2. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, The method for unifying the orientation of block vertices in step S2 is as follows: Select a reference point O in the two-dimensional coordinate system, and connect the reference point O to each vertex of the block to form a direction vector pointing from the reference point O to each vertex; calculate the polar angle between each direction vector and the positive x-axis of the two-dimensional coordinate system, and denote the polar angle corresponding to the i-th vertex as . ,in When the calculated polar angle is less than zero, add 2 to the polar angle. This ensures that the polar angles corresponding to each vertex are all located in the interval [0, 2]. Within the block, the vertices are reordered in ascending order of their corresponding polar angles, so that the reordered vertices are arranged in a counter-clockwise direction.

3. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, When using the simplex integral method to calculate the centroid and circumcircle radius of a block, a reference point is selected. , will be vertices The resulting two-dimensional polygonal blocks are divided into The nth triangular simplex, the nth A triangular simplex is defined by a reference point. ,vertex and the apex Composition, in which The directed area of ​​the k-th triangular simplex The centroid coordinate vector is half the absolute value of the determinant. The average of the coordinates of the three vertices; the coordinate vector of the mass center of the block. The coordinates of the centroids of the directed area-weighted average of the simplex triangles are: [coordinates of the centroids of the simplex triangles]; [radius of the circumcircle of the block]. This represents the maximum Euclidean distance from the centroid to each vertex.

4. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, The equation for the distance between the two circumcircles is: ,in and The centroids of potential contact blocks A and B, respectively, in time... The location, and Let A and B be the circumcircles of potential contact blocks A and B, respectively; solve the distance equation, and combine it with the two endpoints of the time interval to be detected to determine the conditions that satisfy the equation. The time interval is taken as the possible contact time interval.

5. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, The equation of continuous motion of any vertex of a block is as follows ,in For rotation matrix, For the first The initial coordinates of the vertices, The initial centroid coordinates of the block are given. The translational velocity of the block. The angular velocity of the block; from adjacent vertices and The first The time-continuous motion equations of the boundary edges are expressed in two-point form.

6. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, The method for constructing the vertex-edge contact detection equation is as follows: The vertex to be detected is time-... The coordinates of the location are Let the coordinates of the two endpoints of the corresponding boundary edge at time t be denoted as follows: and ; Based on the geometric condition that the vertex to be detected is collinear with the line containing the boundary edge, the contact detection equation is established: The contact detection equation contains only one unknown, namely the block movement time. .

7. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, When filtering out first-type spurious solutions, the projection parameters of the vertex to be detected on the corresponding boundary edge are calculated according to the following formula. ;when or When the vertex to be detected is determined to be located on the extension line of the straight line containing the boundary edge, the corresponding candidate intersection time is determined to be a first-type pseudo-solution and deleted; when When the time is equal to the time of intersection of the corresponding candidates, retain the time of intersection.

8. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, When filtering out second-type spurious solutions, the Euclidean distance between the vertex and the corresponding boundary edge is calculated according to the following formula. Set distance threshold ,when When the corresponding candidate intersection time is determined to be a pseudo-solution of the second type, it is deleted; when The corresponding candidate intersection time and its corresponding contact geometry element are stored in the effective contact result set; the distance threshold Not greater than Positive numbers.

9. The two-dimensional block time continuous contact detection method according to claim 1, characterized in that, The method for determining the contact type is as follows: When the actual contact corresponds to the projection parameters, it satisfies Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When the vertex is in contact with the edge, it is determined that the vertex is in contact with the edge. When the actual contact corresponds to the projection parameters, it satisfies or Furthermore, the distances from all other vertices of the block containing the contact vertex to the contact boundary edge are greater than the distance threshold. When this occurs, it is determined that the vertices are in contact with each other; When the actual contact corresponds to the projection parameters, it satisfies Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. When this occurs, it is determined that the edges are in contact with each other; When the actual contact corresponds to the projection parameters, it satisfies or Furthermore, the block containing the contact vertex has at least one other vertex whose distance to the contact boundary edge is not greater than a distance threshold. When the actual contact point points to the other vertices, a first vector is calculated, and a second vector is calculated, pointing from the actual contact point to the other endpoint of the contact boundary edge. When the dot product of the first vector and the second vector is less than zero, it is determined that the vertices are in contact with each other. When the dot product of the first vector and the second vector is greater than zero, it is determined that the edges are in contact with each other.

10. A two-dimensional block time-continuous contact detection system based on algebraic deduction, characterized in that, Applied to numerical simulations of discontinuous media mechanics in rock engineering, and executed on a computer, including: The information acquisition module is used to acquire the geometric information, motion information, and time interval to be detected of potential contact block A and potential contact block B during the discrete element numerical simulation of rock engineering executed by the computer; the geometric information includes at least the vertex coordinates and vertex connection relationships of the blocks, and the motion information includes at least the translational velocity and angular velocity of the blocks; The vertex sorting module is used to unify the vertex arrangement direction of potential contact block A and potential contact block B, so that the adjacent vertices of each block are connected in the same counterclockwise direction to form block boundary edges with a defined direction. The centroid and circumcircle calculation module is used to calculate the centroid of the two potential contact blocks A and B respectively using the simplex integral method based on the vertex coordinates of the two potential contact blocks A and B, and to calculate the radius of the circumcircle that can enclose all vertices of the corresponding block with the centroid as the center. The contact time interval screening module is used to establish a distance equation between two circumcircles based on the centroid motion relationship and circumcircle radius of two potential contact blocks, solve the distance equation, and determine the possible contact time interval in which the two circumcircles overlap within the time interval to be detected; if no possible contact time interval exists, it is determined that the two potential contact blocks do not contact each other within the time interval to be detected. The motion equation construction module is used to establish the time-continuous motion equations of each vertex of potential contact block A and potential contact block B, and to establish the time-continuous motion equations of the boundary edges based on the time-continuous motion equations of the two endpoints of each block boundary edge; the time-continuous motion equations are constructed based on the rigid body planar kinematics laws and include translation and rotation terms. The contact detection equation construction module is used to substitute the vertex motion equation of potential contact block A into the boundary edge motion equation of potential contact block B, and substitute the vertex motion equation of potential contact block B into the boundary edge motion equation of potential contact block A, so as to construct the vertex and edge contact detection equation with the block motion time as the only unknown. The candidate result acquisition module is used to solve the contact detection equation between each vertex and edge within the possible contact time interval, obtain the candidate intersection time and the vertex and boundary edge corresponding to each candidate intersection time, and store the candidate intersection time and its corresponding contact geometry element into the candidate contact result set. The first pseudo-solution elimination module is used to calculate the projection parameters corresponding to the intersection time of each candidate, and determine whether the corresponding vertex is located within the finite line segment range of the corresponding boundary edge based on the projection parameters, and eliminate the first type of pseudo-solutions generated when the vertex only intersects with the extension line of the line where the boundary edge is located. The second pseudo-solution filtering module is used to calculate the Euclidean distance between the vertex and the corresponding boundary edge at each candidate intersection time after retention, and filter out the second type of pseudo-solutions generated when the vertex and the boundary edge do not actually intersect according to the preset distance threshold, so as to obtain the set of effective contact results. The actual contact determination module is used to select the earliest effective intersection time from the set of effective contact results as the actual contact time between potential contact blocks A and B, and to determine the contact point location and contact type based on the contact geometry elements and projection parameters corresponding to the actual contact time; the contact type includes vertex-edge contact, vertex-vertex contact, and edge-edge contact; and The motion state update module is used to calculate the contact force and torque acting on block A and block B based on the actual contact time, contact point location and contact type, and update the motion state of the two blocks to realize the iterative advancement of numerical simulation of discontinuous media mechanics in rock engineering.