Contact search method, device and storage medium

By calculating the contact gap and relative motion amount to expand the surface block, the problem of high computational complexity of the contact search method is solved, and the contact search efficiency in the finite element simulation process is improved.

CN120180838BActive Publication Date: 2025-08-22HUNAN MAIXI SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510664085.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-22
Publication Date
2025-08-22
Estimated Expiration
2045-05-22

AI Technical Summary

Technical Problem

In the prior art, the high computational complexity and low efficiency of contact search methods limit the overall efficiency improvement in the finite element simulation process.

Method used

By calculating the contact gap and relative motion amount, the extended surface block searches for penetrating contact points within the contact domain, and updates the coordinate parameters of the contact points during the iteration process, improving the efficiency of contact search.

Benefits of technology

It reduces the number of iterations of global search and improves the computing efficiency of the contact search link during the finite element simulation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120180838B_ABST
    Figure CN120180838B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of contact collision analysis, and discloses a contact search method, device and storage medium. The method includes: determining all contact points and surface blocks involved in contact in the model to be searched; calculating the contact gap based on the reference gap parameter and thickness parameter of the contact point; calculating the maximum relative motion of the contact domain; when the maximum relative motion is not less than the contact margin, expanding the surface block based on the contact gap and contact margin, and searching for penetrating contact points in the contact domain; when the maximum relative motion is less than the contact margin or after searching for penetrating contact points in the contact domain, searching for contact pairs based on the penetration between the penetrating contact point and the surface block; updating the coordinate parameters of the contact point to determine whether the iteration end condition is met; if not, returning to the step of calculating the maximum relative motion of the contact domain; if so, outputting the contact pair. The embodiment of the present application can improve the computational efficiency of the contact search link in the finite element simulation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of contact collision analysis, and in particular to a contact search method, device, and storage medium. Background Art

[0002] In a typical finite element simulation process, the calculation time of the contact search phase accounts for about 40% of the total simulation time. Optimizing the contact search phase is of decisive significance for improving the overall simulation efficiency.

[0003] In related technologies, contact search methods can be mainly divided into direct methods and spatial partitioning methods. The direct method adopts a global traversal strategy to directly determine the contact relationship by calculating the penetration between each contact point and the surface block in the contact domain. This method has the disadvantages of high computational complexity and low computational efficiency. The spatial partitioning method adopts a spatial segmentation strategy to discretize the contact domain into several subdomains, so that each surface block only needs to perform contact judgment with the contact points in its local subdomain. This method still needs to re-execute the contact search in each numerical iteration step to update the test block information of the contact point, which restricts the further improvement of contact calculation efficiency. Summary of the Invention

[0004] The purpose of this application is to provide a contact search method, device and storage medium, aiming to improve the computational efficiency of the contact search link in the finite element simulation process.

[0005] The present invention provides a contact search method, including:

[0006] Determine all contact points and surface blocks involved in contact in the model to be searched;

[0007] Calculating the contact gap based on the reference gap parameter and the thickness parameter of the contact point;

[0008] Calculate the maximum relative motion of the contact domain;

[0009] When the maximum relative motion is not less than the contact margin, the surface block is expanded according to the contact gap and the contact margin, and a penetrating contact point is searched within the contact domain; the penetrating contact point is a contact point that penetrates the expanded surface block;

[0010] When the maximum relative motion amount is less than the contact margin or after searching for the penetrating contact point within the contact domain, searching for a contact pair based on the penetration amount between the penetrating contact point and the surface block, and updating the coordinate parameters of the contact point; the contact pair consists of the penetrating contact point and the surface block with the largest penetration amount between the penetrating contact point and the surface block;

[0011] After updating the coordinate parameters of the contact point, determining whether an iteration end condition is satisfied;

[0012] If not, return to the step of calculating the maximum relative motion of the contact domain;

[0013] If so, output the contact pair.

[0014] In one embodiment, the contact gap is the largest of a maximum reference gap parameter and a maximum thickness parameter of the contact point.

[0015] In one embodiment, the calculating the maximum relative motion of the contact domain includes:

[0016] Calculate a maximum coordinate offset and a minimum coordinate offset; the maximum coordinate offset is the maximum contact point iterative coordinate offset, the minimum coordinate offset is the minimum contact point iterative coordinate offset, and the contact point iterative coordinate offset is the offset between the current coordinate parameter and the historical coordinate parameter of the contact point;

[0017] The maximum relative motion of the contact domain is calculated according to the maximum coordinate offset and the minimum coordinate offset.

[0018] In one embodiment, the step of expanding the surface block according to the contact gap and the contact margin and searching for penetrating contact points within the contact domain includes:

[0019] Determining the spatial range of the contact domain according to the coordinate parameters of the contact point;

[0020] Dividing the spatial range of the contact domain into a plurality of contact subdomains;

[0021] Expanding the surface block according to the contact gap and the contact margin to obtain the expanded surface block;

[0022] Searching for a target contact subdomain, and searching for a target contact point within the target contact subdomain; the target contact subdomain is the contact subdomain passed by the expanded surface block, and the target contact point is the contact point that falls into both the expanded surface block and the target contact subdomain;

[0023] A penetration evaluation is performed on the target contact point and the expanded surface block to obtain the penetration contact point.

[0024] In one embodiment, the expanding the surface block according to the contact gap and the contact margin comprises:

[0025] determining a contact extension amount according to the contact gap and the contact margin;

[0026] The surface block is expanded using the contact expansion amount in a first direction, a second direction, and a third direction to obtain the expanded surface block; the first direction, the second direction, and the third direction are perpendicular to each other.

[0027] In one embodiment, after searching for the penetrating contact point in the contact domain, searching for a contact pair according to the penetration amount between the penetrating contact point and the surface block includes:

[0028] Search for the surface block with the largest penetration amount between the currently searched penetration contact point, and when the search is obtained, use the currently searched penetration contact point and the surface block with the largest penetration amount between the currently searched penetration contact point to form the contact pair.

[0029] In one embodiment, when the maximum relative motion amount is less than the contact margin, searching for a contact pair based on the penetration amount between the penetrating contact point and the surface block includes:

[0030] When the contact pair is not formed in the previous search, searching for a surface block with the largest penetration amount between the surface block and the penetrating contact point obtained in the previous iterative search, and forming the contact pair by using the penetrating contact point obtained in the previous iterative search and the surface block with the largest penetration amount between the surface block and the penetrating contact point obtained in the previous iterative search when the contact pair is formed;

[0031] When searching to form the contact pair in the last time, the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search is searched, and when the search is obtained, the penetrating contact point obtained in the last iterative search and the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search are used to form the contact pair; the adjacent surface block is a surface block adjacent to the surface block where the penetrating contact point obtained in the last iterative search is located.

[0032] The present application also provides a contact search device, including:

[0033] The first module is used to determine all contact points and surface blocks involved in contact in the model to be searched;

[0034] A second module is used to calculate the contact gap based on the reference gap parameter and thickness parameter of the contact point;

[0035] The third module is used to calculate the maximum relative motion of the contact domain;

[0036] A fourth module is configured to, when the maximum relative motion is not less than the contact margin, expand the surface block according to the contact gap and the contact margin, and search for a penetrating contact point within the contact domain; the penetrating contact point is a contact point that penetrates the expanded surface block;

[0037] A fifth module is configured to search for a contact pair based on the penetration amount between the penetration contact point and the surface block when the maximum relative motion amount is less than the contact margin or after searching for the penetration contact point within the contact domain, and update the coordinate parameters of the contact point; the contact pair consists of the penetration contact point and the surface block with the largest penetration amount between the penetration contact point and the surface block;

[0038] The sixth module is used to determine whether the iteration end condition is met after the coordinate parameters of the contact point are updated; if not, return to the step of calculating the maximum relative motion of the contact domain; if so, output the contact pair.

[0039] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the above-mentioned contact search method when executing the computer program.

[0040] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned contact search method is implemented.

[0041] The beneficial effects of the present application are as follows: the contact gap is calculated based on the reference gap parameter and thickness parameter of the contact point and an adaptive iterative search process is performed; during the iterative process, when the maximum relative motion of the contact domain is not less than the contact margin, the surface block is expanded based on the contact gap and contact margin and a penetrating contact point is searched within the contact domain; during the iterative process, when the maximum relative motion is less than the contact margin or after searching for a penetrating contact point within the contact domain, a contact pair is searched based on the penetration amount between the penetrating contact point and the surface block, and the contact pair obtained by the search is output at the end of the iteration. Since the surface block is expanded by using the contact gap calculated based on the reference gap parameter and thickness parameter of the contact point, the expanded surface block extends outward within the contact domain, the block range of the surface block is expanded and the probability of the expanded surface block penetrating with more contact points is increased, the number of contact points searched in each global search is increased, the number of iterations of the global search is reduced, and the computational efficiency of the contact search link in the finite element simulation process is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 This is an optional flowchart of the contact search method provided in an embodiment of the present application.

[0043] Figure 2 It is a flowchart of the specific method of step S102 provided in an embodiment of the present application.

[0044] Figure 33 is a schematic diagram of an experimental comparison of the computational efficiency of the contact search method provided in the embodiment of the present application and the contact search method of the prior art.

[0045] Figure 4 It is a structural diagram of the contact search device provided in an embodiment of the present application.

[0046] Figure 5 This is a schematic diagram of the hardware structure of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0048] It should be noted that although the device schematics illustrate functional module divisions and the flowcharts illustrate logical sequences, in certain circumstances, the steps illustrated may be performed in a sequence that differs from the module divisions in the device or the sequence in the flowcharts. Terms such as "first" and "second" in the specification, claims, and drawings are used to distinguish similar items and are not intended to describe a specific sequence or precedence.

[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.

[0050] Figure 1 This is a flow chart of the contact search method provided by the embodiment of the present application. Figure 1 In one embodiment, the method includes but is not limited to steps S101 to S107.

[0051] Step S101: determine all contact points and surface blocks involved in contact in the model to be searched.

[0052] The search model refers to a structural model that requires contact search during contact collision analysis. For example, a vehicle crash box requires contact search during contact collision analysis of the vehicle crash box's crushing process. A contact point refers to the geometric location where two objects in the search model actually physically come into contact during the contact process. For example, when two cubes collide with each other, the contact point may be their edges or corners. A surface patch refers to a local surface area identified as a possible contact area during the contact search process. A surface patch represents a local geometric area, such as a triangular patch, a quadrilateral element, and a parameterized surface.

[0053] Determine all contact points and surface blocks involved in contact in the model to be searched. This can be done by determining the contact surfaces of each component in the model to be searched, and extracting all contact points and surface blocks involved in contact from each contact surface. The contact points can be accurately calculated using a geometric algorithm (GJK / CPP) based on the initialized provided position, normal vector, and penetration depth. The surface blocks can be obtained by accelerating the contact search through discretization and spatial indexing.

[0054] Step S102 : calculating the contact gap according to the reference gap parameter and the thickness parameter of the contact point.

[0055] The contact gap is a parameter calculated from the reference gap parameter and thickness parameter of the contact point. The value of the contact gap is positively correlated with the reference gap parameter and the thickness parameter, respectively. It is used to expand the spatial subdomain occupied by the surface block so that the expanded surface block can cover more contact points.

[0056] In one embodiment, the contact gap is the largest of the maximum reference gap parameter and the maximum thickness parameter of the contact point. By iterating through the reference gap parameters and thickness parameters of each contact point, the maximum reference gap parameter and the maximum thickness parameter are selected, and then the largest of the maximum reference gap parameter and the maximum thickness parameter is selected as the contact gap.

[0057] The calculation formula of contact gap is:

[0058] ,

[0059] in, is the contact gap, is the maximum thickness parameter at each contact point, is the maximum reference gap parameter among all contact points.

[0060] Step S103, calculating the maximum relative motion of the contact domain. If the maximum relative motion is not less than the contact margin, step S104 is executed; if the maximum relative motion is less than the contact margin, step S105 is executed.

[0061] The maximum relative motion of a contact domain is the maximum relative displacement between two contacting surfaces within the contact domain. It describes the limit of the relative displacement or relative velocity between two contacting bodies within the contact region. The maximum relative motion of a contact domain can be calculated by calculating the maximum normal relative motion and the maximum tangential relative motion.

[0062] In one embodiment, calculating the maximum relative motion of the contact domain includes: calculating a maximum coordinate offset and a minimum coordinate offset; and calculating the maximum relative motion of the contact domain based on the maximum coordinate offset and the minimum coordinate offset. The maximum coordinate offset is the maximum iterative coordinate offset of the contact point, the minimum coordinate offset is the minimum iterative coordinate offset of the contact point, and the iterative coordinate offset of the contact point is the offset between the current coordinate parameter and the historical coordinate parameter of the contact point.

[0063] Specifically, the calculation formula for the maximum relative motion of the contact area is:

[0064] ,

[0065] ,

[0066] in, is the maximum relative motion of the contact domain, Iterative coordinate offset for the contact point, is the maximum coordinate offset, is the minimum coordinate offset, is the current coordinate parameter vector of the contact point, is the historical coordinate parameter vector of the contact point.

[0067] Step S104 : expanding the surface block according to the contact gap and the contact margin, and searching for penetrating contact points in the contact domain.

[0068] The penetration contact point is the contact point that penetrates the expanded surface block.

[0069] When the maximum relative motion is not less than the contact margin, the global search phase begins, and penetrating contact points are searched within the contact domain. All surface blocks associated with each penetrating contact point are counted and pre-stored. Specifically, the surface block is expanded based on the contact gap and contact margin, so that the expanded surface block extends outward within the contact domain to expand the block range of the surface block and increase the probability of the expanded surface block penetrating with more contact points. The contact point is searched within the contact domain, and a penetration evaluation is performed on the searched contact point and the expanded surface block domain. If the contact point is evaluated to have penetrated the expanded surface block, it is marked as a penetrating contact point. Then, all surface blocks associated with each penetrating contact point are counted and pre-stored for the penetrating contact point, including but not limited to the surface block where the penetrating contact point is located and the surface blocks adjacent to the surface block where the penetrating contact point is located.

[0070] Figure 2 This is a flowchart of the specific method of step S102 provided in the embodiment of the present application. Figure 2 In one embodiment, step S104 may specifically include but is not limited to steps S201 to S205.

[0071] Step S201: determining the spatial range of the contact domain according to the coordinate parameters of the contact point.

[0072] Specifically, all contact points and their coordinate parameters are traversed to calculate the spatial range of the contact domain composed of the contact points. The formula for calculating the spatial range of the contact domain is:

[0073] ,

[0074] ,

[0075] ,

[0076] ,

[0077] ,

[0078] ,

[0079] ,

[0080] ,

[0081] ,

[0082] in, 、 and are the maximum coordinate values ​​of the contact domain in the X, Y and Z dimensions, 、 and are the minimum coordinate values ​​of the contact domain in the X, Y and Z dimensions respectively, 、 and are the lengths of the contact domain in the X, Y and Z dimensions, is a positive integer, , is the total number of contact points.

[0083] Step S202: dividing the spatial range of the contact domain into a plurality of contact subdomains.

[0084] Specifically, within the spatial range of the contact domain, the number of contact subdomains and the spatial range of the contact subdomains are determined according to the size of the contact domain and the number of contact points. The formula for calculating the number of contact subdomains and the spatial range is:

[0085] ,

[0086] ,

[0087] ,

[0088] ,

[0089] ,

[0090] ,

[0091] ,

[0092] in, is the quantity coefficient, 、 and are the number of contact subdomains in the X, Y and Z dimensions respectively, 、 and are the lengths of the contact subdomain in the X, Y, and Z dimensions respectively.

[0093] Step S203 : Expand the surface block according to the contact gap and the contact margin to obtain an expanded surface block.

[0094] In one embodiment, expanding the surface block based on the contact gap and the contact margin includes: determining a contact expansion amount based on the contact gap and the contact margin; and expanding the surface block using the contact expansion amount in a first direction, a second direction, and a third direction to obtain an expanded surface block. The first direction, the second direction, and the third direction are perpendicular to each other.

[0095] Specifically, the expression for expanding the surface block is:

[0096] ,

[0097] ,

[0098] ,

[0099] ,

[0100] ,

[0101] ,

[0102] ,

[0103] in, is the contact extension, is the surface block thickness, is the contact margin, is the minimum coordinate value of the expanded surface block in the X dimension (i.e. the first direction), is the maximum coordinate value of the expanded surface block in the X dimension (i.e. the first direction), is the minimum coordinate value of the expanded surface block in the Y dimension (i.e., the second direction), is the maximum coordinate value of the expanded surface block in the Y dimension (i.e., the second direction), is the minimum coordinate value of the expanded surface block in the Z dimension (i.e., the third direction), is the maximum coordinate value of the expanded surface block in the Z dimension (ie, the third direction).

[0104] Step S204: searching the target contact subdomain, and searching the target contact point in the target contact subdomain.

[0105] The target contact subdomain is the contact subdomain that the expanded surface block passes through, and the target contact point is the contact point that falls into both the expanded surface block and the target contact subdomain.

[0106] Specifically, the contact subdomains passed by the expanded surface block are searched to obtain several target contact subdomains, and contact points falling into both the expanded surface block and the target contact subdomains are searched within the spatial range of the target contact subdomains to obtain target contact points.

[0107] Step S205 , performing penetration evaluation on the target contact point and the expanded surface block to obtain a penetration contact point.

[0108] Specifically, the projection point of the target contact point on the expanded surface patch is first determined. Then, the projection length of the line vector between the target contact point and the projection point in the normal direction of the expanded surface patch is calculated. If the projection length is less than the contact thickness between the target contact point and the expanded surface patch, the target contact point is evaluated as a penetrating contact point. After traversing all target contact points, the surface patch where the penetrating contact point is located and the surface patches adjacent to the surface patch where the penetrating contact point is located are stored.

[0109] Step S105 , searching for contact pairs based on the penetration amount between the penetrating contact point and the surface block, and updating the coordinate parameters of the contact point.

[0110] A contact pair consists of a penetration contact point and the surface patch with the largest penetration between it and the penetration contact point.

[0111] When the maximum relative motion is less than the contact margin or after searching for the penetration contact point within the contact domain, the local search phase begins, traversing each penetration contact point. Based on information such as the motion direction of the penetration contact point and the projection position of the penetration contact point on the surface block, the penetration amount between the penetration contact point and the surface block is accurately calculated. The surface block with the largest penetration amount is selected as the contact block of the current penetration contact point to form a contact pair, and then the coordinate parameters of each contact point are updated.

[0112] In one embodiment, after searching for a penetration contact point within the contact domain, a contact pair is searched based on the penetration amount between the penetration contact point and the surface block, including: searching for the surface block with the largest penetration amount between the penetration contact point currently searched, and when the contact pair is found, using the penetration contact point currently searched and the surface block with the largest penetration amount between the penetration contact point currently searched to form a contact pair.

[0113] In one embodiment, when the maximum relative motion is less than the contact margin, a contact pair is searched based on the penetration amount between the penetration contact point and the surface block, including: when no contact pair was formed in the previous search, searching for the surface block with the largest penetration amount between the penetration contact point obtained in the previous iterative search, and when the contact pair is obtained, the penetration contact point obtained in the previous iterative search and the surface block with the largest penetration amount between the penetration contact point obtained in the previous iterative search are used to form a contact pair; when forming a contact pair in the previous search, searching for the adjacent surface block with the largest penetration amount between the penetration contact point obtained in the previous iterative search, and when the contact pair is obtained, the penetration contact point obtained in the previous iterative search and the adjacent surface block with the largest penetration amount between the penetration contact point obtained in the previous iterative search are used to form a contact pair; the adjacent surface block is a surface block adjacent to the surface block where the penetration contact point obtained in the previous iterative search is located.

[0114] Step S106: Determine whether the iteration end condition is met. If not, return to step S103; if so, execute step S107.

[0115] The iteration end condition may be reaching the number of iterations or reaching the iteration duration.

[0116] Step S107: output the contact pair.

[0117] Compared with the contact search method of the prior art, the contact search method provided by the embodiment of the present application can significantly improve the computational efficiency of the contact search link, such as Figure 3 shown.

[0118] In summary, the contact search method provided in the embodiment of the present application calculates the contact gap based on the reference gap parameter and thickness parameter of the contact point and performs an adaptive iterative search process. During the iterative process, when the maximum relative motion of the contact domain is not less than the contact margin, the surface block is expanded based on the contact gap and contact margin and a penetrating contact point is searched within the contact domain. During the iterative process, when the maximum relative motion is less than the contact margin or after searching for a penetrating contact point within the contact domain, a contact pair is searched based on the penetration amount between the penetrating contact point and the surface block, and the contact pair obtained by the search is output at the end of the iteration. Since the surface block is expanded using the contact gap calculated based on the reference gap parameter and thickness parameter of the contact point, the expanded surface block extends outward within the contact domain, expanding the block range of the surface block and increasing the probability of the expanded surface block penetrating with more contact points, thereby increasing the number of contact points searched in each global search, reducing the number of iterations of the global search, and improving the computational efficiency of the contact search link in the finite element simulation process.

[0119] See also Figure 4 The present application also provides a contact search device that can implement the above-mentioned contact search method. The device includes:

[0120] The first module 401 is used to determine all contact points and surface blocks involved in contact in the model to be searched;

[0121] The second module 402 is used to calculate the contact gap based on the reference gap parameter and the thickness parameter of the contact point;

[0122] The third module 403 is used to calculate the maximum relative motion of the contact area;

[0123] The fourth module 404 is configured to expand the surface block according to the contact gap and the contact margin when the maximum relative motion is not less than the contact margin, and search for a penetrating contact point in the contact domain; the penetrating contact point is a contact point that penetrates the expanded surface block;

[0124] The fifth module 405 is configured to search for a contact pair based on the penetration amount between the penetration contact point and the surface block when the maximum relative motion amount is less than the contact margin or after searching for the penetration contact point in the contact domain, and update the coordinate parameters of the contact point; the contact pair consists of the penetration contact point and the surface block with the largest penetration amount between the penetration contact point and the surface block;

[0125] The sixth module 406 is used to determine whether the iteration end condition is met after the coordinate parameters of the contact point are updated; if not, return to the step of calculating the maximum relative motion of the contact domain; if so, output the contact pair.

[0126] The specific implementation of the contact search device is substantially the same as the specific embodiment of the contact search method described above, and will not be described in detail here.

[0127] Figure 5 It is a block diagram of an electronic device according to an exemplary embodiment.

[0128] Refer to the following Figure 5 5 to describe an electronic device 500 according to this embodiment of the present disclosure. Figure 5 The electronic device 500 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0129] like Figure 5 As shown, electronic device 500 is implemented as a general-purpose computing device. Components of electronic device 500 may include, but are not limited to, at least one processing unit 510, at least one storage unit 520, a bus 530 connecting various system components (including storage unit 520 and processing unit 510), a display unit 540, and the like.

[0130] The storage unit stores program codes, which can be executed by the processing unit 510 , so that the processing unit 510 executes the steps described in the contact search method section of this specification according to various exemplary embodiments of the present disclosure.

[0131] The storage unit 520 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 5201 and / or a cache memory unit 5202 , and may further include a read-only memory unit (ROM) 5203 .

[0132] The storage unit 520 may also include a program / utility 5204 having a set (at least one) of program modules 5205, such program modules 5205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0133] Bus 530 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0134] The electronic device 500 can also communicate with one or more external devices 500' (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 500, and / or any device that enables the electronic device 500 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 550. Furthermore, the electronic device 500 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 560. The network adapter 560 can communicate with other modules of the electronic device 500 via the bus 530. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the electronic device 500, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0135] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned contact search method is implemented.

[0136] The contact search method, device, and storage medium provided in the embodiments of the present application calculate the contact gap based on the reference gap parameter and thickness parameter of the contact point and perform an adaptive iterative search process. During the iterative process, when the maximum relative motion of the contact domain is not less than the contact margin, the surface block is expanded based on the contact gap and contact margin and a penetrating contact point is searched within the contact domain. During the iterative process, when the maximum relative motion is less than the contact margin or after searching for a penetrating contact point within the contact domain, a contact pair is searched based on the penetration amount between the penetrating contact point and the surface block, and the contact pair obtained by the search is output at the end of the iteration. Since the surface block is expanded using the contact gap calculated based on the reference gap parameter and thickness parameter of the contact point, the expanded surface block extends outward within the contact domain, expanding the block range of the surface block and increasing the probability of the expanded surface block penetrating with more contact points, thereby increasing the number of contact points searched in each global search, reducing the number of iterations of the global search, and improving the computational efficiency of the contact search link in the finite element simulation process.

[0137] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to execute the above-mentioned method according to the embodiments of the present disclosure.

[0138] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0139] Computer-readable storage media may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0140] Those skilled in the art will appreciate that the modules described above can be distributed in the device according to the description of the embodiment, or can be modified accordingly to be used in one or more devices that are different from the embodiment. The modules of the above embodiment can be combined into one module or further divided into multiple submodules.

[0141] While the exemplary embodiments of the present disclosure have been specifically illustrated and described above, it should be understood that the present disclosure is not limited to the detailed structures, configurations, or implementations described herein; rather, the present disclosure is intended to encompass various modifications and equivalent configurations within the spirit and scope of the appended claims.

Claims

1. A contact search method, characterized in that: include: Determine all contact points and surface blocks involved in contact in the model to be searched; Calculating the contact gap based on the reference gap parameter and the thickness parameter of the contact point; Calculate the maximum relative motion of the contact domain; When the maximum relative motion is not less than the contact margin, the surface block is expanded according to the contact gap and the contact margin, and a penetrating contact point is searched within the contact domain; the penetrating contact point is a contact point that penetrates the expanded surface block; When the maximum relative motion amount is less than the contact margin or after searching for the penetration contact point in the contact domain, searching for a contact pair according to the penetration amount between the penetration contact point and the surface block, and updating the coordinate parameters of the contact point; The contact pair consists of the penetrating contact point and a surface block with the largest penetration amount between the penetrating contact point and the surface block; After updating the coordinate parameters of the contact point, determining whether an iteration end condition is satisfied; If not, return to the step of calculating the maximum relative motion of the contact domain; If so, output the contact pair; When the maximum relative motion amount is less than the contact margin, searching for a contact pair according to the penetration amount between the penetrating contact point and the surface block includes: When the contact pair is not formed in the previous search, searching for a surface block with the largest penetration amount between the penetrating contact point obtained in the previous iterative search, and when the contact pair is found, using the penetrating contact point obtained in the previous iterative search and the surface block with the largest penetration amount between the penetrating contact point obtained in the previous iterative search; When the contact pair is formed in the last search, the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search is searched. When the search is obtained, the contact pair is formed using the penetrating contact point obtained in the last iterative search and the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search; the adjacent surface block is a surface block adjacent to the surface block where the penetrating contact point obtained in the last iterative search is located.

2. The contact search method according to claim 1, wherein: The contact gap is the largest of a maximum reference gap parameter and a maximum thickness parameter of the contact point.

3. The contact search method according to claim 1, wherein: The calculation of the maximum relative motion of the contact domain includes: Calculate a maximum coordinate offset and a minimum coordinate offset; the maximum coordinate offset is the maximum contact point iterative coordinate offset, the minimum coordinate offset is the minimum contact point iterative coordinate offset, and the contact point iterative coordinate offset is the offset between the current coordinate parameter and the historical coordinate parameter of the contact point; The maximum relative motion of the contact domain is calculated according to the maximum coordinate offset and the minimum coordinate offset.

4. The contact search method according to claim 1, wherein: The step of expanding the surface block according to the contact gap and the contact margin and searching for a penetrating contact point in the contact domain includes: Determining the spatial range of the contact domain according to the coordinate parameters of the contact point; Dividing the spatial range of the contact domain into a plurality of contact subdomains; Expanding the surface block according to the contact gap and the contact margin to obtain the expanded surface block; Searching for a target contact subdomain, and searching for a target contact point within the target contact subdomain; the target contact subdomain is the contact subdomain passed by the expanded surface block, and the target contact point is the contact point that falls into both the expanded surface block and the target contact subdomain; A penetration evaluation is performed on the target contact point and the expanded surface block to obtain the penetration contact point.

5. The contact search method according to claim 4, characterized in that: The expanding the surface block according to the contact gap and the contact margin comprises: determining a contact extension amount according to the contact gap and the contact margin; The surface block is expanded using the contact expansion amount in a first direction, a second direction, and a third direction to obtain the expanded surface block; the first direction, the second direction, and the third direction are perpendicular to each other.

6. The contact search method according to claim 1, wherein: After searching for the penetration contact point in the contact domain, searching for a contact pair according to the penetration amount between the penetration contact point and the surface block includes: Search for the surface block with the largest penetration amount between the currently searched penetration contact point, and when the search is obtained, use the currently searched penetration contact point and the surface block with the largest penetration amount between the currently searched penetration contact point to form the contact pair.

7. A contact search device, characterized in that: include: The first module is used to determine all contact points and surface blocks involved in contact in the model to be searched; A second module is used to calculate the contact gap based on the reference gap parameter and thickness parameter of the contact point; The third module is used to calculate the maximum relative motion of the contact domain; A fourth module is configured to, when the maximum relative motion is not less than the contact margin, expand the surface block according to the contact gap and the contact margin, and search for a penetrating contact point within the contact domain; the penetrating contact point is a contact point that penetrates the expanded surface block; A fifth module is configured to search for a contact pair according to a penetration amount between the penetration contact point and the surface block when the maximum relative motion amount is less than the contact margin or after searching for the penetration contact point in the contact domain, and update the coordinate parameters of the contact point; The contact pair consists of the penetrating contact point and a surface block with the largest penetration amount between the penetrating contact point and the surface block; A sixth module is configured to determine whether an iteration end condition is satisfied after updating the coordinate parameters of the contact point; if not, return to the step of calculating the maximum relative motion of the contact domain; If so, output the contact pair; When the maximum relative motion amount is less than the contact margin, searching for a contact pair according to the penetration amount between the penetrating contact point and the surface block includes: When the contact pair is not formed in the previous search, searching for a surface block with the largest penetration amount between the penetrating contact point obtained in the previous iterative search, and when the contact pair is found, using the penetrating contact point obtained in the previous iterative search and the surface block with the largest penetration amount between the penetrating contact point obtained in the previous iterative search; When the contact pair is formed in the last search, the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search is searched. When the search is obtained, the contact pair is formed using the penetrating contact point obtained in the last iterative search and the adjacent surface block with the largest penetration amount between the penetrating contact point obtained in the last iterative search; the adjacent surface block is a surface block adjacent to the surface block where the penetrating contact point obtained in the last iterative search is located.

8. An electronic device, characterized in that: The electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the contact search method according to any one of claims 1 to 6 when executing the computer program.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the contact search method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Improved contact algorithm-based material point method applied to imprint forming simulation

    CN112507578A

  • Pre-assembly analysis method and device based on contact offset, equipment and medium

    CN117252062A