Volume grid modeling method and device

Through the body mesh modeling method, the plane mesh and insertion nodes in the surface mesh model are redetermined, which solves the problem of low accuracy of the body mesh model in the prior art, and achieves higher quality body mesh models and more accurate simulation analysis results.

CN119850868APending Publication Date: 2025-04-18HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311350548.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-18
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In the prior art, the accuracy of generating a tetrahedral mesh model based on the surface mesh model is not high, resulting in low accuracy of simulation analysis results.

Method used

Through the body mesh modeling method, the first mesh modeling device of the target entity is obtained by using the body mesh modeling device, the reference size of its plane mesh is determined, the plane mesh is redetermined, and the node is inserted to generate the body mesh model, improving the accuracy of the body mesh model.

Benefits of technology

The accuracy of the body mesh modeling process is improved, the quality of the generated body mesh model is improved, and the accuracy of the simulation analysis results is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119850868A_ABST
    Figure CN119850868A_ABST
Patent Text Reader

Abstract

The invention discloses a volume mesh modeling method and device, and the device can determine the reference size of a plane mesh included in an initially obtained first surface mesh model, for example, the reference size can be the geometric adaptive size of the plane mesh, and the reference size can be the geometric adaptive size of the plane mesh. The plane grids in the first surface grid model can be re-determined according to the reference size, the second surface grid model is obtained, the matching degree between the size of each plane grid in the second surface grid model and the surface features of the target entity can be higher, the quality of the plane grids in the surface grid model is optimized, and the accuracy of the target entity is improved. Therefore, each planar mesh can describe the surface features of the target entity more accurately, and the quality of the volume mesh model constructed according to the second surface mesh model subsequently is correspondingly improved. By adopting the method provided by the invention, the volume mesh model with relatively high quality can be generated even for some complex structures.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a volume mesh modeling method and device. Background Art

[0002] Simulation analysis related to semiconductor devices, such as process simulation or device simulation of semiconductor devices, requires the use of finite element calculation technology. The tetrahedral mesh model is a simulation model of semiconductor devices. Finite element simulation analysis of semiconductor devices is to analyze the tetrahedral mesh model to determine the physical properties of semiconductor devices. Therefore, the quality of the tetrahedral mesh model directly affects the accuracy of simulation analysis.

[0003] Process simulation is often performed after designing a new process or new structure for semiconductor devices. However, due to the evolutionary characteristics and uncertainty of the geometric morphology of semiconductor devices formed by processes such as etching and deposition, it is difficult to describe the geometric morphology of semiconductor devices through computer-aided design (CAD) models. Therefore, the process simulation process usually uses reverse modeling techniques such as interface reconstruction based on voxel (the smallest description unit in three-dimensional space) data to reconstruct the solid model of the semiconductor device. The reconstructed solid model of the semiconductor device is a surface mesh model represented by a triangular mesh. The surface mesh model only contains the surface features of the semiconductor device and cannot be directly applied to finite element simulation analysis. It is necessary to generate a tetrahedral mesh model represented by a three-dimensional mesh based on the surface mesh model before finite element simulation analysis can be performed.

[0004] However, the current method of generating a tetrahedral mesh model based on a surface mesh model does not generate a high precision tetrahedral mesh model, resulting in low accuracy of simulation analysis results. Summary of the invention

[0005] The embodiments of the present application provide a volume mesh modeling method and device for improving the accuracy of the volume mesh modeling process and enhancing the quality of the volume mesh model obtained by modeling.

[0006] In a first aspect, an embodiment of the present application provides a volume mesh modeling method, which can be performed by a volume mesh modeling device. In this method, the volume mesh modeling device can obtain a first surface mesh model of a target entity, and the first surface mesh model includes a plane mesh for describing the surface features of the target entity. Wherein, the target entity is an object to be volume mesh modeled. The volume mesh modeling device determines the reference size of some or all of the plane meshes in the first surface mesh model. The volume mesh modeling device re-determines the plane mesh in the first surface mesh model based on the reference size of some or all of the plane meshes, and obtains a second surface mesh model, and the size of the plane mesh in the second surface mesh model matches the surface features of the target entity. The volume mesh modeling device inserts a plurality of nodes inside the cavity of the second surface mesh model, and obtains a volume mesh model of the target entity based on the plurality of nodes and the nodes of the second surface mesh model, and the volume mesh model includes a three-dimensional mesh for describing the three-dimensional features of the target entity, wherein some or all of the vertices of each three-dimensional mesh are nodes inserted inside the cavity.

[0007] Through the above method, for the first surface mesh model initially obtained, the volume mesh modeling device can determine the reference size of the plane mesh contained therein, for example, the reference size can be the geometric adaptive size of the plane mesh. The volume mesh modeling device can redetermine the plane mesh in the first surface mesh model according to the reference size to obtain the second surface mesh model. The size of each plane mesh in the second surface mesh model can be more closely matched with the surface features of the target entity, thereby optimizing the quality of the plane mesh in the surface mesh model, so that each plane mesh can more accurately describe the surface features of the target entity, thereby correspondingly improving the accuracy of the subsequent volume mesh model constructed according to the second surface mesh model, thereby improving the accuracy of the simulation analysis results. Using the method provided in the embodiment of the present application, a high-quality volume mesh model can be generated even for some complex structures. For example, for complex non-manifold curved surface structures such as semiconductor devices, the plane mesh model can also be optimized by the process of redetermining the plane mesh, and finally a more accurate volume mesh model can be obtained.

[0008] In a possible implementation, when the volume mesh modeling device determines the reference size of some or all of the plane meshes in the first surface mesh model, two size calculation methods can be performed for each node in the first surface mesh model, one is a method of calculating the reference size based on curvature, and the other is a method of calculating the reference size based on proximity. According to the results of these two size calculation methods, the reference size of each node can be determined, and according to the reference size of the node in the first surface mesh model, the reference size of some or all of the plane meshes can be determined. Among them, the vertices of each plane mesh in the first surface mesh model are nodes in the first surface mesh model, that is, each plane mesh is connected by multiple nodes.

[0009] Optionally, the volume mesh modeling device performs the following operations for each node in the first surface mesh model: the volume mesh modeling device determines the size of the first region according to the curvature of the location of each node, wherein the size of the first region is in negative proportion to the curvature. The first region includes the aforementioned nodes, for example, it may only include the aforementioned nodes, or a local curved surface region including the aforementioned nodes; the volume mesh modeling device determines the size of the second region according to the distance between each node and the first central axis, and the first central axis is the shape central axis of the discrete curved surface where each node is located. The size of the second region represents the proximity relationship of the nodes, and the second region also includes the aforementioned nodes, for example, it may only include the aforementioned nodes, or a local curved surface region including the aforementioned nodes. The second region may be the same as or different from the first region; the volume mesh modeling device determines the reference size of each node according to the size of the first region and the size of the second region; the volume mesh modeling device determines the reference size of part or all of the plane mesh according to the reference size of the nodes in the first surface mesh model.

[0010] Through the above method, the volume mesh modeling device determines the reference size of each node according to the curvature and the neighboring relationship. The curvature value directly reflects the degree of curvature of the node, and the neighboring relationship can characterize the fineness of the local feature area, such as the thickness and whether it is a sharp corner area. Therefore, when calculating the reference size, the curvature and the neighboring relationship can be considered at the same time, ensuring that the final reference size can match the surface features of the target size. For example, when subsequently re-dividing the plane mesh, a smaller mesh size can be used in high curvature and small local feature areas to ensure the accuracy of the plane mesh.

[0011] In a possible implementation, before determining the size of the second region according to the distance between each node and the first central axis, the volume mesh modeling device may also perform constrained Delaunay triangulation on the nodes in the first surface mesh model to obtain a triangular mesh set corresponding to the first surface mesh model. Then, when the volume mesh modeling device determines the size of the second region according to the distance between each node and the first central axis, the radius of the minimum circumscribed circle of the triangular mesh containing each node may be determined from the triangular mesh set, and the radius may be directly used as the distance between each node and the first central axis, thereby determining the size of the second region according to the distance between each node and the first central axis.

[0012] Through the above method, when the volume mesh modeling device is actually calculating, the minimum radius of the circumscribed circle of the Delaunay triangulated mesh containing the node is replaced by the distance from the node to the first central axis, thereby eliminating the need to use complex calculation methods to calculate the distance from the node to the central axis of the shape, thereby reducing the calculation complexity and improving the efficiency of volume mesh modeling.

[0013] In one possible implementation, when determining the reference size, the volume mesh modeling device needs to comprehensively consider multiple factors that may affect the descriptive ability of the target entity, such as the fact that the plane mesh is very easy to be distorted at the curvature and small local features, and then select the appropriate size according to the importance of various factors. For example, considering the complexity of modeling, select a size that can satisfy as many factors as possible, or select a size that is compatible with multiple factors.

[0014] Exemplarily, when determining the reference size of each node according to the size of the first region and the size of the second region, the volume mesh modeling apparatus may determine the smaller value between the size of the first region and the size of the second region as the reference size of each node.

[0015] Through the above method, the volume mesh modeling device selects the smaller value of the size of the first area and the size of the second area as the final reference size, which helps to better accommodate the curvature and the mesh size of small local features, improve the quality of the optimized plane mesh, and ultimately improve the modeling effect of the volume mesh model.

[0016] In a possible implementation, each plane mesh in the first surface mesh model includes a plurality of mesh edges, each mesh edge being a line between two nodes. The volume mesh modeling device may re-determine the plane mesh in the first surface mesh model according to the reference size of part or all of the plane meshes to obtain the second surface mesh model through the following steps:

[0017] Initialize the first surface mesh model; adjust the size of the mesh edge in the initialized first surface mesh model according to the reference size of part or all of the plane meshes to obtain the third surface mesh model; determine a set of plane meshes that meet the edge exchange condition from the third surface mesh model, and perform an edge exchange operation on each of the plane mesh sets to obtain the fourth surface mesh model; each plane mesh set includes two adjacent plane meshes, and the edge exchange condition includes: the angle of the minimum internal angle of the two plane meshes increases after the edge exchange; adjust the position of each node according to the position of the neighboring node of each node in the fourth surface mesh model to obtain the fifth surface mesh model; if the fifth surface mesh model meets the iteration termination condition, determine the fifth surface mesh model as the second surface mesh model, otherwise continue to redetermine the plane mesh in the first surface mesh model according to the reference size of part or all of the plane meshes and the fifth surface mesh model.

[0018] Through the above method, the volume mesh modeling device continuously re-determines the plane meshes in the surface mesh model through the above steps in a cyclic iteration manner, so that each plane mesh in the surface mesh model is closer to the reference size, and a more appropriate plane mesh size is generated. In addition, the distribution of the plane meshes can be made more reasonable, ensuring the quality and accuracy of the plane meshes in the final second surface mesh model, laying the foundation for the volume mesh construction process, and improving the quality of the final volume mesh model. In addition, the above iterative optimization process can make the method of the embodiment of the present application also applicable when facing complex structures, such as the aforementioned complex non-manifold curved surface structures such as semiconductor devices, thereby improving the scope of application of the solution.

[0019] In a possible implementation, the volume mesh modeling device can adjust the mesh edge size in the initialized first surface mesh model according to the reference size of part or all of the plane meshes, determine the first mesh edge from the initialized first surface mesh model, the actual size of the first mesh edge is larger than the reference size of the first mesh edge, insert at least one node in the first mesh edge, and redetermine the plane mesh of the initialized first surface mesh model according to the at least one node to obtain the sixth surface mesh model. That is, the mesh edge larger than the reference size is split to achieve encryption of the plane mesh.

[0020] After edge splitting is achieved, the second mesh edge is determined from the obtained sixth-surface mesh model, and the actual size of the second mesh edge is smaller than the reference size of the second mesh edge; two nodes of the second mesh edge are merged to obtain a new node, and the plane mesh of the sixth-surface mesh model is re-determined based on the new node to obtain the third-surface mesh model. That is, the mesh edge that is smaller than the reference size is subjected to edge collapse operation to achieve coarsening of the plane mesh.

[0021] Through the above method, the volume mesh modeling device makes the plane mesh in the surface mesh model closer to the reference size through edge splitting operations and edge collapse operations. That is to say, the plane mesh is encrypted in the area where the mesh should be densely distributed, and the plane mesh is coarsened in the area where the mesh should be sparse. This makes the surface mesh model more accurate in describing the target entity, improves the quality and accuracy of the plane mesh in the surface mesh model, and ultimately improves the accuracy of the volume mesh model.

[0022] In a possible implementation, when the volume mesh modeling device determines the second mesh edge from the sixth surface mesh model, it can determine a first edge set from the mesh edges in the sixth surface mesh model. The first edge set includes multiple mesh edges, any two mesh edges in the first edge set are not adjacent to each other, and in the plane mesh containing the vertices of any two mesh edges, no intersection exists between any two plane meshes. Then, the second mesh edge is determined from the first edge set.

[0023] Through the above method, the volume mesh modeling device can first determine the first edge set that meets the above conditions when performing the edge collapse operation, that is, the mesh edges in the first edge set will not affect each other when performing the edge collapse operation, so that the edge collapse operation can be performed on the mesh edges in the first edge set in parallel, thereby improving the efficiency of the edge collapse operation.

[0024] In a possible implementation, when the volume mesh modeling device merges two nodes of the second mesh edge to obtain a new node, it is necessary to determine whether the first distance is less than or equal to the first distance threshold, and when it is determined that the first distance is less than or equal to the first distance threshold, the two nodes of the second mesh edge are merged to obtain a new node. The first distance is the maximum change distance between the plane mesh where the two nodes of the second mesh edge are located before the merger and the plane mesh where the new node is located after the merger.

[0025] Through the above method, the volume mesh modeling device will determine whether the change distance of the plane mesh before and after the edge collapse is greater than the first distance threshold that destroys the initial surface geometry of the target entity. Only when the change distance is less than or equal to the first distance threshold will the edge collapse operation be performed to ensure that the edge collapse process will not destroy the initial surface geometry.

[0026] In a possible implementation, when the volume mesh modeling device adjusts the position of each node according to the position information of the neighboring nodes of each node in the fourth surface mesh model to obtain the fifth surface mesh model, the adjusted target position of each node can be determined according to the position information of the neighboring nodes of each node in the fourth surface mesh model. After the position of each node is adjusted, if the direction of the normal vector of the plane mesh where each node is located does not reverse, each node is adjusted to the target position.

[0027] Through the above method, the volume mesh modeling device can use the position adjustment conditions to limit the process of adjusting the position of each node, avoid the reversal of the normal vector direction of the plane mesh before and after the node adjustment, thereby avoiding the generation of self-intersecting plane meshes and reducing the probability of distortion of the plane mesh model.

[0028] In a possible implementation, when the volume mesh modeling device adjusts the position of each node according to the position information of the neighboring nodes of each node in the fourth surface mesh model to obtain the fifth surface mesh model, it can also adjust the position of each node according to the position information of the neighboring nodes of each node in the fourth surface mesh model to obtain the seventh surface mesh model, and further determine the point closest to some or all of the nodes in the seventh surface mesh model from the original first surface mesh model, and move some or all of the nodes to the position of the closest point to obtain the fifth surface mesh model. The point closest to each node in the seventh surface mesh model is a node in the first surface mesh model or a point in the plane mesh.

[0029] Through the above method, the volume mesh modeling device can further back-project the nodes in the seventh surface mesh model into the initial surface mesh model to reduce the distance error caused by the plane mesh redetermination process and improve the accuracy of the final surface mesh model in describing the surface features of the target entity.

[0030] In a possible implementation, when a volume mesh modeling device inserts a plurality of nodes into the cavity of a second surface mesh model and obtains a volume mesh model of a target entity based on the plurality of nodes and the nodes of the second surface mesh model, it includes: performing region segmentation on the second surface mesh model to obtain a plurality of surface mesh sub-models, each surface mesh sub-model including a portion of a plane mesh in the second surface mesh model. For each of the plurality of surface mesh sub-models, the following operations are performed respectively: inserting at least one node into the cavity of each surface mesh sub-model, and obtaining a volume mesh sub-model corresponding to each surface mesh sub-model based on the at least one node and the nodes of each surface mesh sub-model. Furthermore, the volume mesh sub-models corresponding to the plurality of surface mesh sub-models are merged to obtain a volume mesh model of the target entity.

[0031] Through the above method, the volume mesh modeling device uses the region segmentation of the second surface mesh model, and the node insertion process can be performed independently and in parallel between the segmented surface mesh sub-models, thereby improving the parallelism of the volume mesh model construction process, thereby improving the efficiency of the volume mesh model construction process and reducing the time consumption of the volume mesh construction process.

[0032] In a possible implementation, a volume mesh modeling device merges volume mesh sub-models corresponding to a plurality of surface mesh sub-models to obtain a volume mesh model of a target entity, including: merging volume mesh sub-models corresponding to a plurality of surface mesh sub-models to obtain a first volume mesh model. The first volume mesh model includes a plurality of first three-dimensional meshes, wherein each first three-dimensional mesh includes at least one first plane, and the first plane is located on the surface of the first volume mesh model, that is, the first three-dimensional mesh is a three-dimensional mesh on the surface of the first volume mesh model. Furthermore, according to the plane mesh in the second surface mesh model, the position of the first plane in the first volume mesh model is adjusted to obtain a volume mesh model of the target entity; each plane mesh corresponds one-to-one to a first plane.

[0033] Through the above method, after merging the first volume mesh model, the volume mesh modeling device will also adjust the position of the corresponding first plane in the first volume mesh model one by one according to the plane mesh in the second surface mesh model, to ensure that the surface features of the volume mesh model of the target entity are consistent or approximately consistent with the surface features of the second surface mesh model, thereby improving the accuracy of the volume mesh model of the target entity.

[0034] In a possible implementation, when the volume mesh modeling device adjusts the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the volume mesh model of the target entity, the volume mesh modeling device can adjust the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the second volume mesh model. Furthermore, the reference size of some or all of the three-dimensional meshes in the second volume mesh model can be determined according to the reference size of some or all of the plane meshes, so as to re-determine the three-dimensional meshes in the second volume mesh model according to the reference size of some or all of the three-dimensional meshes to obtain the volume mesh model of the target entity.

[0035] Through the above method, the volume mesh modeling device can also use the reference size of the plane mesh to establish a three-dimensional size field about the second volume mesh model, and then use it to re-divide the three-dimensional mesh of the second volume mesh model, further improving the accuracy of the three-dimensional mesh of the second volume mesh model, so as to improve the accuracy of the volume mesh model of the target entity.

[0036] In one possible implementation, the first surface mesh model obtained by the volume mesh modeling device may also include material information of the plane mesh. After the volume mesh modeling device obtains the volume mesh model of the target entity based on multiple nodes and nodes of the second surface mesh model, the volume mesh modeling device may also determine the material information of each three-dimensional mesh in the volume mesh model of the target entity based on the positional relationship between the plane mesh and the three-dimensional mesh.

[0037] Through the above method, the volume mesh modeling device can automatically assign material information to the generated three-dimensional mesh, thereby providing material information for the subsequent physical simulation process, avoiding manual input of material information, and improving the efficiency of the physical simulation process.

[0038] In a possible implementation, the volume mesh modeling device may obtain the first surface mesh model by means of different implementation forms, and the different implementation forms may be determined based on actual usage scenarios.

[0039] In the first implementation, the volume mesh modeling device can obtain the simulation parameters of the target entity generated after executing the process simulation step, and determine the first surface mesh model according to the simulation parameters. This implementation can be applied to the process simulation scenario of the target entity, such as the semiconductor device process simulation scenario, and can effectively construct a surface mesh model based on the voxel data of the target entity obtained by the process simulation, and construct a volume mesh model based on the surface mesh model, and apply it to the subsequent physical simulation scenario.

[0040] In a second implementation, the volume mesh modeling device can determine the first surface mesh model according to the CAD modeling parameters of the target entity. This implementation can be applied to the device simulation scene of the target entity, such as the device simulation scene of a semiconductor device, so as to use the CAD modeling parameters to construct the geometric shape to obtain the surface mesh model, and then construct the volume mesh model based on the surface mesh model, and apply it to the subsequent physical simulation scene.

[0041] In the second aspect, the embodiment of the present application also provides a volume mesh modeling device, which has the function of implementing the behavior in the method embodiment of the first aspect above. The beneficial effects can be found in the description of the first aspect, which will not be repeated here. The functions implemented by the volume mesh modeling device can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. In one possible design, the volume mesh modeling device includes an input module, a size determination module, a mesh re-division module, and a volume mesh construction module. These modules can perform the corresponding functions in the method example of the first aspect above. Please refer to the detailed description in the method example for details, which will not be repeated here.

[0042] For example, an input module is used to obtain a first surface mesh model of a target entity, wherein the first surface mesh model includes a plane mesh for describing the surface features of the target entity. The target entity is an object to be volume meshed. A size determination module is used to determine the reference size of some or all of the plane meshes in the first surface mesh model. A mesh redivision module is used to redetermine the plane meshes in the first surface mesh model based on the reference size of some or all of the plane meshes to obtain a second surface mesh model, wherein the size of the plane meshes in the second surface mesh model matches the surface features of the target entity. A volume mesh construction module is used to insert a plurality of nodes inside the cavity of the second surface mesh model, and obtain a volume mesh model of the target entity based on the plurality of nodes and the nodes of the second surface mesh model, wherein the volume mesh model includes a three-dimensional mesh for describing the three-dimensional features of the target entity, wherein some or all of the vertices of each three-dimensional mesh are nodes inserted inside the cavity.

[0043] Through the above device, the plane mesh in the first surface mesh model can be re-determined according to the reference size to obtain the second surface mesh model. The size of each plane mesh in the second surface mesh model can be more closely matched with the surface features of the target entity, thereby optimizing the quality of the plane mesh in the surface mesh model, so that each plane mesh can more accurately describe the surface features of the target entity, thereby correspondingly improving the accuracy of the subsequent volume mesh model constructed according to the second surface mesh model, thereby improving the accuracy of the simulation analysis results.

[0044] In a third aspect, the present application also provides a computer device, the computer device includes a processor and a memory, and may also include a communication interface, the processor executes the program instructions in the memory to execute the method provided by the first aspect or any possible implementation of the first aspect. The memory is coupled to the processor, which stores the necessary program instructions and data in the process of determining the volume mesh modeling. The communication interface is used to communicate with other devices, such as receiving the model data of the first face mesh model of the target entity, or returning the model data of the volume mesh model of the target entity obtained by the final modeling.

[0045] In a fourth aspect, the present application provides a computer system, the computer system comprising at least one computer device, wherein each computing device comprises a memory and a processor. The processor of at least one computer device is used to access the code in the memory to execute the method provided by the first aspect or any possible implementation of the first aspect.

[0046] In a fifth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, wherein the computer-executable instructions are used to cause a computer device to execute the method provided in the aforementioned first aspect or any possible implementation of the first aspect. The storage medium includes but is not limited to a volatile memory, such as a random access memory, a non-volatile memory, such as a flash memory, a hard disk drive (HDD), and a solid state drive (SSD).

[0047] In a sixth aspect, the present application provides a computer program product, the computer program product comprising computer instructions, when the computer instructions are executed by a computer device, the computer device executes the method provided in the aforementioned first aspect or any possible implementation of the first aspect. The computer program product may be a software installation package, and when it is necessary to use the method provided in the aforementioned first aspect or any possible implementation of the first aspect, the computer program product may be downloaded and executed on a computer device.

[0048] In a seventh aspect, the present application also provides a chip system, comprising a processor and an interface, wherein the processor is used to call and execute instructions from the interface so that the chip system implements the methods of the above aspects.

[0049] The beneficial effects of the third to seventh aspects and their implementations can refer to the description of the beneficial effects of the first aspect and any one of its implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1A to Figure 1F An example diagram of generating a volume mesh model for a surface mesh model;

[0051] Figure 2 A schematic diagram of a flow chart of a volume mesh modeling method provided in an embodiment of the present application;

[0052] Figure 3 A schematic diagram of a local model of a first surface mesh model provided in an embodiment of the present application;

[0053] Figure 4A and Figure 4B A schematic diagram of a process for determining a reference size provided in an embodiment of the present application;

[0054] Figure 5 A flowchart of the re-division process provided in an embodiment of the present application;

[0055] Figure 6A to Figure 6D A schematic diagram of a size adjustment process provided in an embodiment of the present application;

[0056] Figure 7 A schematic diagram of an edge exchange operation provided in an embodiment of the present application;

[0057] Figure 8 A schematic diagram of a smoothing operation provided by an embodiment of the present application;

[0058] Figures 9A to 9C A schematic diagram of a volume mesh generation process provided in an embodiment of the present application;

[0059] Fig.10 A schematic diagram of a process for generating a tetrahedral mesh model based on a triangular mesh model provided in an embodiment of the present application;

[0060] FIG. 11A to FIG. 11D A schematic diagram of a process of generating a volume mesh for a semiconductor device process simulation according to an embodiment of the present application;

[0061] FIG. 12A to FIG. 12D A schematic diagram of a device simulation volume mesh generation process for a semiconductor device provided in an embodiment of the present application;

[0062] Fig.13 A schematic diagram of the structure of a volume mesh modeling device provided in an embodiment of the present application;

[0063] Fig.14 A schematic structural diagram of another volume mesh modeling device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0064] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0065] In the embodiments of the present application, the number of nouns, unless otherwise specified, means "singular noun or plural noun", that is, "one or more". "At least one" means one or more, and "plural" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, c can be single or multiple.

[0066] The ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the size, content, order, timing, priority or importance of multiple objects. For example, the first surface mesh model and the second surface mesh model can be the same surface mesh model or different surface mesh models. In addition, the numbering of the steps in the various embodiments introduced in the present application is only to distinguish different steps, and is not used to limit the order between the steps.

[0067] Before introducing the specific solutions provided by the embodiments of the present application, some terms or concepts in the present application are explained to facilitate understanding by those skilled in the art.

[0068] (1) Surface features and three-dimensional features.

[0069] Surface features can include features such as the surface structure and geometric morphology of the target entity, and can also be called the geometric boundary features of the target entity. A simple understanding is that for a non-transparent entity, the geometric morphology of the entity that can be seen, the surface connection relationship between the components of the entity, etc. can all be considered surface features. Alternatively, surface features can be used to describe the interface between the target entity and the outside world. For example, for a three-dimensional sphere, its surface features are used to describe the spherical surface of the three-dimensional sphere; for a cylinder, its surface features are used to describe the outer surface of the cylinder and the bottom surface of the cylinder; for a cube, its surface features are used to describe the eight outer surfaces of the cube.

[0070] In addition to the surface features of the target entity, three-dimensional features also include the internal structural features of the target entity, that is, the connection relationship between the internal components of the entity that cannot be directly seen and the geometric shape of the internal components.

[0071] A simple understanding is that the target entity represented by surface features can be understood as a solid structure with a cavity inside, which cannot be used for physical numerical analysis of the target entity, while the target entity represented by three-dimensional features can be understood as a solid structure, which can be used for physical numerical analysis of the target entity, such as thermal stress analysis.

[0072] (2) Plane mesh, surface mesh model, solid mesh and volume mesh model.

[0073] Mesh plays a vital role in numerical calculations. Common numerical simulation methods such as finite element, finite volume, boundary element and other methods all use mesh as the calculation object. Therefore, the quality of the mesh directly determines whether the simulation calculation can be successful, as well as the correctness and accuracy of the simulation calculation. The goal of mesh division is to use the least mesh to most realistically reflect the change law of physical quantities. In the embodiment of the present application, it is to reflect the surface characteristics and three-dimensional characteristics of a given target entity as realistically as possible.

[0074] A plane mesh refers to a mesh represented by a two-dimensional (2D) plane geometric shape, such as a triangle mesh or a quadrilateral mesh.

[0075] A three-dimensional grid refers to a grid represented by a three-dimensional (3D) planar structure, such as a tetrahedron grid, a hexahedron grid, a pyramid grid, or a wedge grid.

[0076] A surface mesh model refers to a three-dimensional model composed of plane meshes as components, which is used to describe the surface features of the target entity. A volume mesh model refers to a three-dimensional model composed of three-dimensional meshes as components, which is used to describe the three-dimensional features of the target entity.

[0077] (3) Reference dimensions.

[0078] In the embodiments of the present application, the reference size is used to guide the process of redivision of a plane grid or a three-dimensional grid. For a plane grid or a three-dimensional grid, the reference size refers to its more reasonable size in the model. The distribution between the plane grids or the three-dimensional grids in the model obtained based on the reference size is more reasonable.

[0079] In one embodiment, the reference size may be, for example, a geometrically adaptive size. Geometric adaptation means that the size and distribution of the grid can match the geometric model features of the entity. Therefore, the plane grid or three-dimensional grid optimized based on the geometrically adaptive size can match the geometric model features of the entity. One understanding is that a smaller grid is used for expression where the grid size should be small, such as a high curvature area or a local tiny area, so as to better fit the surface changes of the entity, and a larger grid is used for expression where the grid size should be large, such as a plane area, so as to reduce the number of grids in the model and reduce the data processing burden of the subsequent simulation process.

[0080] (4) Delaunay triangulation.

[0081] Triangulation refers to the process of generating a set of triangles for a given set of plane points. The triangulation process can be expressed as: for a plane point set P = {p1, ..., p n}, and hope to obtain a triangle set T = {t1, ..., t m}, and the following conditions are met:

[0082] a. The endpoints of all triangles form exactly the set P.

[0083] b. The sides of any two triangles do not intersect, that is, they either overlap or have no intersection.

[0084] c. The set of all triangles forms the convex hull of P.

[0085] Delaunay triangulation is a special kind of triangulation. The triangulation in which the circumscribed circles of all triangles satisfy the empty circle property is called Delaunay triangulation. The empty circle property means that the circumscribed circle of a triangle (or edge) does not contain any vertex in the point set P (except the boundary).

[0086] (4) Semiconductor process simulation and device simulation tools (technology computer aided design, TCAD).

[0087] TCAD software can be divided into three modules according to its functions. The bottom layer is the process simulation module, which is used to determine the device structure at the material level under the standard process. The standard processes include oxidation, diffusion, ion implantation, dry and wet etching, and photolithography. Some newer TCAD software also includes chemical mechanical polishing (CMP). The main factors considered in process simulation include impurity diffusion, acoustic models of impurities and lattice effects, various thermal budgets, stress under mechanical forces, and material anisotropy. Then there is the device simulation module, which calculates the electrical behavior based on the device structure obtained from the previous process simulation. The top layer is the parameter extraction module, which extracts device parameters that meet the BSIM (berkeley short-channel IGFET model) standard from the electrical simulation results, and is used for simulation of integrated circuits using the simulation program with integrated circuit emphasis (SPICE).

[0088] (5) Discrete surface (DS) model and parametric surface (PS) model.

[0089] A discrete surface model refers to a model in which the surface features of the target entity are described by discrete surfaces. Usually, models generated by inverse modeling techniques such as interface reconstruction based on voxel data are discrete surface models. Common discrete surface models are composed of discrete surfaces represented by triangular meshes, which can also be called triangular facets. For example, a discrete surface model can be a stereolithography language (STL) model. STL is a file format used for stereolithography computer-aided design (CAD) software, and is commonly used in rapid prototyping, 3D printing, and computer-aided manufacturing (CAM) scenarios. STL files only describe the surface geometry of three-dimensional objects and can usually only be used to represent closed faces or bodies.

[0090] The surface mesh model involved in the embodiments of the present application is a discrete surface model.

[0091] A parametric surface model is a model described by a parametric surface. A parametric surface is a surface expressed parametrically, and each surface has a strict mathematical definition. For example, the geometric model constructed by CAD software is usually a continuous surface expressed by non-uniform rational b-spline (NURBS), and this type of surface is a parametric surface.

[0092] Currently, the methods for generating tetrahedral mesh models based on surface mesh models can be divided into the following two categories:

[0093] (1) Indirect method: This method converts the surface mesh model into a parametric surface model by parameterization, and then uses a volume mesh generation method suitable for the parametric surface model to generate a tetrahedral mesh model based on the parametric surface model.

[0094] See also Figure 1A to Figure 1C As shown in the figure, it is an example of a volume mesh model generated by parameterization, where Figure 1A An example of a surface mesh model is shown. It can be seen that the surface mesh model uses a triangular mesh to represent the surface features. Figure 1A It cannot be seen directly, but the surface mesh model only contains surface features, and the internal features cannot be perceived through the surface mesh model. When performing parameterization, the usual method is to first detect the characteristic edges of the surface mesh model, use the characteristic edges as boundaries, divide the surface mesh model into multiple surfaces, and then calculate the curvature tensor of each vertex in each surface. The parametric expression of each surface is obtained through the parametric method, thus obtaining a boundary representation (BREP) model composed of multiple parametric surfaces, see Figure 1B As shown, the surfaces that can smoothly transition are all expressed by parametric surfaces. Then, the BREP model can be used for volume mesh modeling. The final volume mesh model is shown in 1C, which is composed of multiple three-dimensional meshes. Similarly, Figure 1C Although you cannot directly see the internal situation, you need to know that there are still many three-dimensional grids inside the volume grid model.

[0095] However, the parameterization process will inevitably lead to a loss of accuracy, affecting the quality of the tetrahedral mesh model. In addition, the parametric surface model requires a strict mathematical definition. For semiconductor devices with complex morphology, not only a large number of parameterized surfaces are required to achieve morphological description, but the parameterization process is also very expensive. In addition, complex morphology is prone to surface distortion, dirty geometry, and other phenomena, which ultimately lead to the failure of tetrahedral mesh modeling. For an example of a complex device shape parameterization conversion failure, see Figure 1DAs shown, it can be seen that the lower half of the entity has been successfully converted into a three-dimensional mesh expression model, but due to the complexity of the shape of the upper half, parameterization failed, resulting in the failure to successfully generate a complete volume mesh model.

[0096] (2) Direct method: This method directly uses the plane mesh in the input surface mesh model as the boundary constraint to generate a tetrahedral mesh model. However, the quality of the tetrahedral mesh generated is highly dependent on the quality of the surface mesh model. Therefore, if the surface mesh model is of poor quality, it is impossible to obtain a high-quality tetrahedral mesh model that can meet the needs of finite element simulation analysis. In particular, for complex structures containing non-manifold surfaces such as semiconductor devices, the surface mesh model obtained by inverse modeling is difficult to accurately express its surface features, and thus it is impossible to generate a high-quality volume mesh model.

[0097] See also Figure 1E and Figure 1F As shown in the figure, it is an example of volume mesh generation directly based on the surface mesh model. Figure 1E It can be seen that in some plane areas, sparse grids can be used for representation, but the resulting grid is very dense, and there is a problem of uneven distribution of grid encryption areas. Figure 1F In the example above, there is a situation where the grid size is seriously unreasonable.

[0098] Therefore, the method of the embodiment of the present application aims to directly generate a high-quality volume mesh model based on a discrete surface model, while ensuring the accuracy of the volume mesh model, avoiding the additional overhead brought by the parameterization process, and avoiding the loss of accuracy caused by the parameterization process.

[0099] Based on this, an embodiment of the present application provides a volume mesh modeling method, in which a volume mesh modeling device directly constructs a volume mesh based on an input first surface mesh model without converting it into a parametric surface model, thereby avoiding the accuracy loss and overhead caused by the parameterization process and improving the success rate of volume mesh construction. Specifically, the method redefines the plane mesh by reference size, and the size of each plane mesh after redetermination can match the surface features of the target entity more accurately, so that each plane mesh can more accurately describe the surface features of the target entity, thereby correspondingly improving the accuracy of the subsequent volume mesh model constructed based on the second surface mesh model. Using the method of the embodiment of the present application, a high-quality volume mesh model can be generated even for some complex structures. For example, for complex non-manifold surface structures such as semiconductor devices, the quality of the plane mesh model can also be optimized by the process of redetermining the plane mesh, and finally a more accurate volume mesh model is obtained.

[0100] It can be understood that, compared to the aforementioned "indirect method", the volume mesh modeling method provided in the embodiment of the present application abandons the parameterization process of converting the surface mesh model into a parametric surface model to avoid the computational overhead caused by the parameterization process. In addition, the parameterization process changes the model description method of the target entity. This process is bound to result in a loss of precision in the model description. Eliminating the parameterization process also avoids the precision loss it brings, such as geometric distortion, etc., making the volume mesh model construction success rate higher. Compared to the aforementioned "direct method", the volume mesh modeling method provided in the embodiment of the present application, by redetermining the plane mesh of the input first surface mesh model based on the reference size, makes the size of each plane mesh after redetermination match the surface features of the target entity more accurately, thereby improving the accuracy of the second surface mesh model, and thus the accuracy of the volume mesh model constructed based on the second surface mesh model is relatively higher.

[0101] The volume mesh model generated by the volume mesh modeling method provided in the embodiment of the present application can be applied to downstream application scenarios. For example, the volume mesh model can be used in a variety of subsequent physical field simulation scenarios, such as thermal stress and electrical parasitic parameters (such as parasitic resistance R and parasitic capacitance C) extraction and other applications. The high-quality and efficient volume mesh modeling method helps to ensure the efficiency and accuracy of physical field simulation.

[0102] The volume mesh modeling method provided in the embodiment of the present application can be executed by a computer device, and the computer device includes the above-mentioned volume mesh modeling device. The computer device can be but is not limited to a server, a personal computer, a portable computer, an intelligent terminal, a desktop computer or an all-in-one computer.

[0103] This application embodiment provides a volume mesh modeling method, please refer to Figure 2 , which is a flow chart of the method.

[0104] Step 201: Obtain a first surface mesh model of a target entity, wherein the first surface mesh model includes a plane mesh for describing surface features of the target entity.

[0105] The target entity refers to the object that needs to be modeled by volume mesh. The target entity can be a physical entity in the real scene, such as semiconductor devices, human body, organs, and automobile parts; or it can also refer to a virtual entity in the virtual scene, such as 3D game models, simulated semiconductor devices, simulated organs, and simulated automobile parts.

[0106] The first surface mesh model is a 3D model composed of plane meshes. The first surface mesh model contains the geometric boundary features of the target entity, that is, the geometric features of the intersection of the target entity and the outside. The interior of the first surface mesh model is a cavity and does not have the expression of the internal connection structure features. For example, the first surface mesh model can be a discrete surface model, and the plane mesh contained therein can be any plane mesh form, such as a triangular mesh or a quadrilateral mesh.

[0107] The present application does not limit the manner in which the volume mesh modeling device obtains the first surface mesh model of the target entity, and several possible manners are listed below.

[0108] In some implementations, the first surface mesh model may be constructed based on input modeling data.

[0109] For example, in a process simulation scenario, the simulation parameters of the target entity generated after executing the process simulation steps can be collected, and then the first surface mesh model can be determined based on the simulation parameters. That is, in a process simulation scenario, the input modeling data is the simulation parameters of the target entity. The simulation parameters can be, for example, the simulation results output by the process simulation software, or voxel data obtained by scanning the simulation results through 3D scanning technology. Voxel is the abbreviation of volume pixel. A solid containing voxels can be expressed by stereo rendering or extracting polygonal isosurfaces with a given threshold contour. Voxel is the smallest unit of digital data in three-dimensional space segmentation, and is often used in fields such as three-dimensional imaging, scientific data, and medical imaging.

[0110] Exemplarily, this method can be applied in the process simulation scenario of semiconductor devices. By using TCAD software, the number of experiments can be reduced and the R&D time can be shortened, thereby effectively reducing production and design costs. For semiconductor process simulation, especially the design of new processes and new structures, due to the evolution characteristics and uncertainty of the device geometry during etching, deposition and other processes, the geometry of the model can usually be obtained by 3D scanning technology to obtain voxel data, and reverse modeling is performed based on the voxel data to obtain the first surface mesh model of the semiconductor device. The obtained first surface mesh model can be a discrete surface represented by triangular facets.

[0111] For another example, in a medical scenario, a target entity such as a human body or an organ can be scanned by 3D scanning technology to obtain corresponding voxel data, and then a reverse modeling technology based on voxel data can be used to generate a first surface mesh model of the target entity. Alternatively, a first surface mesh model can be obtained by modeling based on 2D or 3D medical imaging data.

[0112] For another example, in a device simulation scenario, the first surface mesh model can be determined according to the CAD modeling parameters of the target entity. That is, the geometric shape of the target entity can be constructed using CAD software to obtain a discrete surface model, which is used as the first surface mesh model.

[0113] In some embodiments, the first surface mesh model may be pre-constructed, and its model data may be directly input into a volume mesh modeling device to perform a subsequent volume mesh modeling process.

[0114] Exemplarily, the volume mesh modeling device may be software that can execute the volume mesh modeling method, and the software may provide a user interface (UI) to the user, so that the user can select a model data file of a first surface mesh model that has been constructed through the UI, and the software loads the model data file to obtain the first surface mesh model of the target entity.

[0115] See also Figure 3 FIG. 1 is a schematic diagram of a local model of a first surface mesh model provided in an embodiment of the present application, wherein Figure 3 In the figure, the first surface mesh model is represented by a triangular mesh. Of course, in practical applications, other plane mesh forms may also be used, and the embodiment of the present application does not limit this.

[0116] For the first surface mesh model, its main components include the following:

[0117] (1) Node, see Figure 3 As shown in , v1 to v16 are nodes in the first surface mesh model, and a node is a vertex of a plane mesh in the first surface mesh model. Usually, multiple plane meshes share a vertex. The nodes in the model can be determined according to the geometric shape changes of the target entity. For example, these nodes can be key points used to describe the surface features of the target entity.

[0118] (2) Mesh edge: The edge connecting two nodes is a mesh edge. Figure 3 The edge connecting the midpoints v1 and v2 is represented as (v1, v2), which is a mesh edge. Each mesh edge is a component edge of a plane mesh. Usually, multiple plane meshes share a mesh edge.

[0119] (3) Plane mesh: A geometric figure formed by connecting multiple mesh edges is a plane mesh. Figure 3 For example, each triangle mesh is connected by three mesh edges and contains three nodes. Figure 3The midpoints v1, v2, and v5 form mesh edges (v1, v2), (v1, v5), and (v2, v5), respectively, and these three mesh edges form a triangular mesh.

[0120] Step 202: Determine reference sizes of part or all of the plane meshes in the first surface mesh model.

[0121] In the embodiment of the present application, the reference size is used to guide the subsequent flat mesh redetermination process. During the flat mesh redetermination process, the size of some or all of the plane meshes will be adjusted to optimize the quality of the surface mesh model. Generally speaking, the degree of conformity between the surface mesh model and the morphology of the target entity is one of the measures of the quality of the surface mesh model. Therefore, the reference size can also refer to a size that is more consistent with the surface morphology size of the target entity, or a size that can more accurately express the surface features of the target entity.

[0122] In the embodiment of the present application, the reference size in the first surface mesh model may also be referred to as the reference size field of the first surface mesh model, and the reference size field includes the reference size of part or all of the plane meshes in the first surface mesh model.

[0123] When the size field includes the reference size of some plane meshes, the part of the plane meshes may refer to plane meshes that have a high influence on the representation of surface features, or plane meshes in surface areas where parameterization is prone to fail, such as plane meshes located in areas with large curvature or in slit areas formed by different geometric bodies. When the size field includes the reference size of all plane meshes, the reference size needs to be calculated for each plane mesh in the first surface mesh model.

[0124] In some embodiments, the reference size of some or all of the plane meshes may be a size value that is the minimum value that can satisfy the expression of the surface features of all parts of the target entity. In other words, the surface features of all regions of the target entity can be represented by one or more plane meshes of this size value, including complex feature regions such as high curvature regions of the target entity and local tiny geometric adjacent regions, as well as simple feature regions such as large planes. Then, the reference size can be calculated based on regions such as high curvature regions and geometric adjacent regions, and the final optimized second surface mesh model should be a uniform mesh with substantially the same size everywhere.

[0125] In some embodiments, the level of the reference size can also be set according to the complexity of the surface features of the target entity. Surface areas of the same level can use the same reference size. The more complex the surface area, the smaller the reference size is used, that is, a denser plane grid is used to accurately describe the surface features, and the simpler the surface area, the larger the reference size is used, that is, a sparser plane grid is used to describe the surface features, thereby reducing the number of grids.

[0126] In some embodiments, if a uniform grid with substantially the same size is generated, more unnecessary small-sized plane grids will often be generated in simple feature areas, and increasing the number of model grids will greatly reduce the time and space efficiency of subsequent processes. Therefore, it is very necessary to ensure a good transition of grid sizes while reflecting the surface features of the model.

[0127] One implementation method is to manually add locally encrypted size control information to a local area. That is, the reference size in the embodiment of the present application may include the size value added to the local area manually, for example, the reference size may be added to complex feature areas such as high curvature areas of the target entity and local tiny geometric adjacent areas, so as to control the use of smaller and denser plane grids in these complex feature areas.

[0128] Another implementation method is to calculate the geometric adaptive size of the target entity and use the geometric adaptive size as the reference size. The reference size field can also be called the geometric adaptive size field. The meaning of geometric adaptation is that the size and distribution of the grid can match the geometric model characteristics of the target entity. For example, a smaller and denser grid is generated in the area with large curvature of the geometric model or the slit area formed by different geometric bodies, and a larger and sparser grid is generated in the area with small curvature or without slits.

[0129] The geometric adaptive size is calculated based on the geometric features of the target entity. The geometric features may include curvature and proximity, etc., and may also include other possible features. The embodiments of the present application do not limit this. Curvature represents the degree to which a curve deviates from a straight line, that is, the rotation rate of the tangent direction angle to the arc length at a certain point on the curve. Curvature is mathematically used to indicate the numerical value of the curvature of a curve at a certain point. The larger the curvature, the greater the curvature of the curve, and the inverse of the curvature is the radius of curvature. The proximity relationship may also be referred to as proximity, which is one of the physical quantities that qualitatively describes the distance relationship between spatial targets, and represents the degree to which the distances between two target objects in space are close. In the embodiments of the present application, the proximity relationship represents the degree of closeness between the geometric elements of the target entity. When the degree of closeness is higher, it indicates that the position belongs to a local micro-area, such as a thin layer or a sharp angle position.

[0130] Here, the geometric features including curvature and proximity relationship are taken as an example. Optionally, the reference size of part or all of the plane meshes in the first surface mesh model can be determined by: Figure 4A This is accomplished by the process shown.

[0131] Step 401: For each node in the first surface mesh model, determine the size of the first region according to the curvature of the location of each node.

[0132] In an embodiment of the present application, the size of the first area where each node is located can be determined by calculating the curvature of the discrete surface represented by the plane grid, which can also be called the curvature adaptive size of the node. The first area includes the node. For example, the first area can include only the node, or it can be a local area including the node, for example, it can be a local area centered on the node and expanded to a certain size.

[0133] Specifically, first, for each node in the first surface mesh model, the curvature of the node is calculated, which can also be called the curvature of the node. The curvature can be any one of the approximate curvature, the principal curvature, the mean curvature or the Gaussian curvature.

[0134] Then, the size of the first region is determined according to the curvature of the node and the preset mapping relationship between the curvature and the size. In the embodiment of the present application, the mapping relationship between the curvature and the size can be a negative proportional relationship, that is, the size of the first region is in a negative proportional relationship with the curvature. When the curvature is larger, the size value should be smaller. On the contrary, when the curvature is smaller, the size value should be larger.

[0135] Step 402: For each node in the first surface mesh model, determine the size of the second region according to the distance between each node and the first central axis.

[0136] In the embodiment of the present application, the first medial axis is the medial axis of the discrete surface where each node is located. That is to say, the embodiment of the present application calculates the distance between each node and the medial axis of the shape as a representation of the proximity relationship of the node, and then determines the size of the second area where each node is located, which can also be called the neighboring adaptive size of the node. Among them, the second area includes each node. Similar to the first area, the second area may only include the node, or it may be a local area including the node, for example, it may be a local area centered on the node and expanded to a certain size. In addition, the first area may be the same area as the second area, or it may be a different area from the second area, and the embodiment of the present application does not limit this.

[0137] In some embodiments, for each node, the geometric position of the central axis of the discrete surface where it is located can be determined, and then the distance between the position of the node and the geometric position of the central axis of the shape can be determined. Then, the size of the second area is determined based on the obtained distance and the mapping relationship between the preset distance and size. In the embodiment of the present application, the mapping relationship between the distance and the size can be a positive proportional relationship, that is, the size of the second area is in a positive proportional relationship with the curvature. When the distance is larger, it represents the lower proximity, and a larger and sparse grid can be used to describe it, so the size value should be larger. On the contrary, when the distance is smaller, it represents the higher proximity, and a smaller and denser grid is required to describe it, so the size value should be smaller.

[0138] In some embodiments, considering that the calculation complexity of the shape's medial axis may be high, the geometric position of the shape's medial axis may not be directly calculated in actual calculations, and other values ​​may be used to approximate the distance from the node to the shape's medial axis. One possible implementation is to use the minimum radius of the circumscribed circle of the Delaunay triangle containing the node to approximate the distance from the vertex to the shape's medial axis.

[0139] Specifically, first, constrained Delaunay triangulation is performed on the nodes in the first surface mesh model to obtain a triangular mesh set corresponding to the first surface mesh model. Then, for each node, the radius of the minimum circumscribed circle of the triangular mesh containing the node can be determined from the triangular mesh set, and the radius is used as the distance between the node and the first central axis, and then the size of the second area is determined according to the distance between the node and the first central axis.

[0140] Step 403: Determine a reference size of each node according to the size of the first area and the size of the second area.

[0141] In some implementations, the average of the size of the first region and the size of the second region may be used as a reference size of the node.

[0142] In some embodiments, the smaller value of the size of the first region and the size of the second region can be determined as the reference size of each node, so as to be compatible with the feature description requirements of regions with high curvature and high proximity, and improve the accuracy of the subsequent mesh model optimization.

[0143] Step 404: Determine the reference size of part or all of the plane meshes according to the reference size of the nodes in the first surface mesh model.

[0144] In an embodiment of the present application, the reference size field in the first surface mesh model can be generated directly with the reference size of the node, that is, the reference size field includes the reference size of each node, and the plane mesh is composed of multiple nodes. Therefore, the reference size of a plane mesh can be obtained by converting the reference sizes of the nodes it contains, so that the reference size field obtained in this way can also be regarded as obtaining the reference size of part or all of the plane mesh; or, the reference size of each plane mesh can be converted based on the reference size of each node. For example, the average of two nodes can be used as the reference size of the mesh edge composed of the two nodes, and then the reference size of a plane mesh can be represented by the reference size of the mesh edge it includes, thereby constructing the corresponding reference size field.

[0145] It should be noted that, in some embodiments, in addition to the reference sizes of the nodes obtained above, the reference size field can also be expanded according to these reference sizes to obtain the reference sizes of more points in the first surface mesh model. For example, the reference sizes of the surrounding points can be interpolated according to the reference sizes. The reference size field obtained can include the reference sizes of most points on the surface of the target entity, and in extreme cases can include the reference sizes of any point on the surface.

[0146] Take the reference dimension as an example, see Figure 4B FIG. 1 is a flow chart of constructing a geometric adaptive size field according to an embodiment of the present application, which includes the following steps:

[0147] Step 405: For each node in the first surface mesh model, execute the following steps 4051 to 4053 to calculate and obtain the geometric adaptive size of each node:

[0148] 4051: Calculate the curvature adaptive size of a node based on its curvature.

[0149] 4052: Calculate the neighboring adaptive size of the node based on the distance from the node to the mid-axis of the shape.

[0150] 4053: The smaller value of the curvature adaptive size and the proximity adaptive size is determined as the geometric adaptive size of the node.

[0151] Step 406: construct a geometric adaptive size field according to the geometric adaptive size of the node.

[0152] In the embodiment of the present application, by calculating the geometric adaptive size field, a smaller and denser grid size is used in complex feature areas such as high curvature and small parts, and a larger and sparser grid size is used in simple feature areas such as larger planes. This ensures the quality of the grid while reducing the complexity of the subsequent optimization and volume mesh modeling process and improving the overall efficiency.

[0153] It should be noted that the above step 405 continues Figure 4A The numbers in the Figure 4A The steps are distinguished, not limited Figure 4B Step 405 in Figure 4A After step 404 in Figure 4B Step 405 in Figure 4A Step 404 in is not essentially related.

[0154] Step 203: Re-determine the plane mesh in the first surface mesh model according to the reference size of part or all of the plane meshes to obtain a second surface mesh model, wherein the size of the plane mesh in the second surface mesh model matches the surface features of the target entity.

[0155] In the embodiment of the present application, the process of re-determining the plane mesh in the first surface mesh model by the reference size field obtained by the above process can also be called re-dividing the first surface mesh model. The re-division can be an iterative process. The first surface mesh model is used as input in the initial iteration, and each subsequent iteration is based on the surface mesh model output by the previous iteration, and the re-division continues until the iteration termination condition is met, and finally the second surface mesh model is output. Through iterative re-division, the plane mesh in the first surface mesh model can be continuously optimized according to the reference size field, so that the size of the plane mesh in the second surface mesh model finally obtained matches the surface features of the target entity. In short, the plane mesh of the second surface mesh model can better describe the surface features of the target entity, and the mesh size and distribution are more reasonable. In other words, the second surface mesh model presented can be more consistent with the target entity. In extreme cases, the surface effect presented by the second surface mesh model can be approximately considered to be the same as the surface of the target entity, and the degree of restoration of the target entity is higher.

[0156] Since the process of each iteration is similar, the following mainly introduces the first iteration process. Figure 5 The figure is a flow chart of the repartitioning process provided in the embodiment of the present application.

[0157] Step 501: Initialize the first surface mesh model.

[0158] It should be noted that the process of step 2031 can be performed in each iteration, that is, an initialization process is performed in each iteration; or, the initialization process can be performed only in the initial iteration process, so that it can also be understood that the initialization process is performed before the entire redivision process.

[0159] In some embodiments, the initialization process uses the first surface mesh model as input, that is, the first surface mesh model is used as the input model of the redivision process, and subsequent processes are performed based on the first surface mesh model.

[0160] In some embodiments, in order to facilitate the processing of plane meshes in the subsequent optimization process, some universal data structures can be used, so the process of initializing the first surface mesh model can be the process of converting it into a specific data structure. For example, the specific data structure can be a surface-based data structure, which is a simple but universal data structure with higher universality. Compared with some complex data structures, such as half-edge data structures, it may have advantages in data storage, but it is not conducive to the processing of non-manifold surface meshes, and can only be applied to the plane mesh processing of manifold surfaces. The semiconductor device model is generally composed of multiple materials and multiple components, and the intersection of the material and the edge of the material area is a non-manifold edge, so the mesh formed is a non-manifold mesh, and these data structures cannot be well applied. The embodiment of the present application adopts a surface-based data structure, which can better be compatible with the processing of plane meshes of manifold and non-manifold surfaces, so that the scheme of the embodiment of the present application can also have a good effect on the modeling of structures such as semiconductor devices.

[0161] Specifically, the entire surface mesh model is described by using a surface-based data structure to store node coordinates and node numbers. For example, for a surface mesh model using a triangular mesh, a node can be represented by its coordinates (xi, yi, zi), and a triangular mesh can be represented by the numbers of the three nodes it contains, such as (v1k, v2k, v3k), where i represents the number of the i-th node and k represents the k-th triangular mesh. The entire first surface mesh model can then be expressed by such a description.

[0162] In the embodiment of the present application, during initialization, an axis aligned bounding box (AABB) tree structure corresponding to the first face mesh model can also be constructed. The tree structure can realize efficient intersection detection and distance query, and is used for fast distance error measurement and node back-projection operation during subsequent plane mesh redivision.

[0163] Step 502: According to the reference size of part or all of the plane meshes, the size of the mesh edges in the initialized first surface mesh model is adjusted to obtain a third surface mesh model.

[0164] In the first surface mesh model of the embodiment of the present application, each plane mesh includes multiple mesh edges, each mesh edge is a line between two nodes, so the size and sparsity of the plane mesh can also be understood as being determined by the mesh edge. In this step, the size of the mesh edge in the first surface mesh model is adjusted according to the reference size field constructed by the above process, thereby adjusting the size and sparsity of the plane mesh.

[0165] It should be noted that, during the first iteration, the size of the mesh edges in the first surface mesh model is adjusted, while in the subsequent iterative adjustment process, the size of the mesh edges in the surface mesh model output by the previous iteration, or the size of the mesh edges in the surface mesh model after initialization of this iteration, should be adjusted.

[0166] In some embodiments, for each mesh edge in the first surface mesh model, an attempt can be made to adjust the size of the mesh edge based on its corresponding reference size so that the mesh edge approaches the reference size, and confirm whether the adjustment will cause a significant change in the size of other mesh edges. When the size change of other mesh edges exceeds a certain tolerance threshold, the size of the mesh edge may not be adjusted, or the size adjustment gradient of the mesh edge may be reduced.

[0167] In some embodiments, the process of adjusting the size of the mesh edges in the first surface mesh model may include two parts: edge splitting and edge collapse. Edge splitting refers to splitting the mesh edges whose sizes are larger than a reference size, thereby achieving mesh encryption; edge collapse refers to collapsing the mesh edges whose sizes are smaller than a reference size, thereby achieving mesh coarsening.

[0168] See also Fig. 6A FIG. 1 is a flow chart of a size adjustment process provided by an embodiment of the present application. The edge splitting may include the following steps:

[0169] Step 601: determining a first mesh edge from an initialized first surface mesh model, wherein an actual size of the first mesh edge is greater than a reference size of the first mesh edge.

[0170] Among them, the actual size refers to the size of the mesh edge in the first surface mesh model, and the reference size refers to the size in the reference size field obtained previously. In specific implementation, each mesh edge in the first surface mesh model can be parallelly determined to determine whether the actual size of each mesh edge is greater than the reference size; or, a traversal method can be adopted to traverse the mesh edges from the first surface mesh model, and determine whether the actual size of the mesh edge is greater than the reference size during the traversal. When it is determined that the actual size of the mesh edge is greater than the reference size, the mesh edge is determined as the first mesh edge. It should be noted that the first mesh edge refers to a type of mesh edge whose actual size is greater than the reference size, and it is not limited to a specific mesh edge. The specific number needs to be determined according to the actual situation.

[0171] Step 602: insert at least one node into the first mesh edge, and redetermine the plane mesh of the initialized first surface mesh model based on the at least one node to obtain a sixth surface mesh model.

[0172] For the determined first mesh edges, edge splitting operations are performed on them respectively to obtain the sixth face mesh model. The edge splitting operation refers to adding one or more nodes to the first mesh edge, and forming a new plane mesh based on these new nodes, so that the plane mesh near the first mesh edge can become dense. Among them, in actual scenarios, the number of inserted nodes can be one or more, and the specific number can be determined according to the situation. For example, it can be determined based on the difference between the actual size and the reference size. When the difference is larger, more nodes can be inserted, and when the difference is smaller, a small number of nodes can be inserted.

[0173] See also Figure 6B The schematic diagram of edge splitting provided by the embodiment of the present application is shown in the figure. As shown in the figure, the common mesh edge (v1, v2) of the two contained triangular meshes (v1, v2, v3) and (v1, v2, v4) is determined as the first mesh edge. When edge splitting is performed, a new node vm is inserted on (v1, v2), and vm is connected to other surrounding nodes, so that four new plane meshes can be formed, namely (v1, vm, v3), (v1, vm, v4), (v2, vm, v3) and (v2, vm, v4).

[0174] It should be noted that Figure 6B The example of inserting a new node at the midpoint is taken here, but in actual application, the embodiment of the present application does not limit the position of the inserted node.

[0175] In some embodiments, the first surface mesh model after the initialization may be represented by a surface-based data structure, so that when performing the edge splitting operation, the process can be easily performed. Figure 6BFor example, the edge splitting process is for the two adjacent triangular meshes (v1, v2, v3) and (v1, v2, v4). The midpoint of the mesh edge (v1, v2) to be split is recorded as vm, and vm is connected to the nodes around it. Then, the implementation method using the face-based data structure is to change the (v1, v2, v3) and (v1, v2, v4) in the original triangular face list to (v1, vm, v3) (v1, vm, v4) respectively, and add two triangular meshes (vm, v2, v3) and (vm, v4, v2) to the mesh list. This data structure makes the edge splitting process more convenient and improves the efficiency of the redivision process.

[0176] Continue to see Fig. 6A As shown, the edge collapse process may include the following steps:

[0177] Step 603: Determine a second mesh edge from the sixth surface mesh model, wherein the actual size of the second mesh edge is smaller than the reference size of the second mesh edge.

[0178] Similar to the edge splitting process, in the specific implementation, the mesh edges in the mesh model of the sixth surface can be traversed, and the actual size of the mesh edge is determined to be greater than the reference size during the traversal. When it is determined that the actual size of the mesh edge is greater than the reference size, the mesh edge is determined as the second mesh edge. It should be noted that the second mesh edge refers to a type of mesh edge whose actual size is greater than the reference size, and is not limited to a specific mesh edge. The specific number needs to be determined according to the actual situation.

[0179] In some implementations, in order to improve the efficiency of the edge collapse process, mesh edges that can be subjected to edge collapse operations in parallel may be extracted from the sixth-face mesh model, so as to facilitate subsequent parallel edge collapse operations on these mesh edges.

[0180] Specifically, the first edge set can be determined from the mesh edges in the sixth face mesh model, and then the second mesh edge can be determined from the first edge set. Among them, any two mesh edges in the first edge set are not adjacent to each other, and in the plane mesh containing the vertices of any two mesh edges, any two plane meshes do not have an intersection. In other words, any two mesh edges do not affect each other when performing edge collapse operations. Therefore, the first edge set can also be called an edge collapse independent set, and each mesh edge in the edge collapse independent set can be collapsed in parallel without affecting each other.

[0181] For example, the independent set of edge collapse can be determined by a coloring algorithm. Figure 6C As shown in FIG. 1 , a schematic diagram of using a coloring algorithm to determine an edge collapse independent set is shown. Figure 6CTake the local face mesh model shown in the figure as an example. First, select the starting mesh edge (v6, v7). The starting mesh edge can be any mesh edge, or you can set a mesh edge that meets some conditions as the starting mesh edge, such as selecting a mesh edge whose actual size is larger than the reference size as the starting mesh edge. In the first coloring, all plane meshes related to the starting mesh edge (v6, v7) are colored, that is, all plane meshes containing nodes v6 and v7. Then, in the second coloring, determine the second mesh edge from other uncolored plane meshes, that is, Figure 6C In the third coloring, the third mesh edge (v2, v4) is determined from the other uncolored plane meshes, that is, Figure 6C The mesh edges (v12, v14) in , and all plane meshes containing these two nodes are colored. And so on, until the entire surface mesh model is colored, the edge collapse independent set can be determined, such as Figure 6C The mesh edges are marked with thick solid lines.

[0182] Step 604: merge the two nodes of the second mesh edge to obtain a new node, and redefine the plane mesh of the sixth surface mesh model according to the new node to obtain the third surface mesh model.

[0183] For the determined second mesh edge, edge collapse operations are performed on them respectively to obtain the sixth face mesh model. The edge collapse operation refers to merging the two nodes of the second mesh edge to obtain a new node, and forming a new plane mesh based on these new nodes, so that the plane mesh near the second mesh edge can be made sparse. Among them, in actual scenarios, the merging process can be to retain one of the two nodes included in the second mesh edge and delete the other node, and the retained node is the aforementioned new node; or, a node completely different from the two nodes can be re-determined based on the positions of the two nodes, for example, a new node can be selected on the second mesh edge.

[0184] See also Fig.6D As shown, it is a schematic diagram of the edge collapse process provided in an embodiment of the present application. Fig.6D Specifically, a local plane grid is used as an example. Before collapse, there are a total of 9 plane grids in the figure, including plane grids A and B. When the grid edge (v6, v8) is determined to be the second grid edge, nodes v6 and v8 can be merged. Fig.6DSpecifically, the example of retaining node v8 and deleting node v6 is used to illustrate this. The node connected to node v6 before collapse is changed to be connected to node v8. Finally, after collapse, plane meshes A and B are deleted, and the number of remaining plane meshes is 7, making the density of plane meshes in the entire model more sparse.

[0185] In some embodiments, the sixth surface mesh model may also be represented by a surface-based data structure, so that when performing edge collapse operations, the process can be easily performed. Fig.6D For example, edge collapse is for two adjacent triangular meshes (v1, v2, v3) and (v1, v2, v4). The midpoint of the mesh edge (v1, v2) to be collapsed is recorded as vm, and v1 and v2 are merged to the vm position. Then, the implementation method using the face-based data structure is to delete (v1, v2, v3) and (v1, v2, v4) in the original triangular mesh list, and change the vertex numbers of v1 and v2 in all triangular meshes containing v1 or v2 in the list to vm. This data structure makes the edge collapse process more convenient and improves the efficiency of the redivision process.

[0186] In the embodiment of the present application, considering that the collapse process will cause the spatial position of the plane grid to change, when the change is too large, there may be a large deviation from the actual morphology of the target entity. Therefore, in order to avoid the collapse process from destroying the initial geometric morphology of the surface grid model, it is necessary to perform the collapse operation only when the grid edge meets the collapse conditions.

[0187] In some embodiments, the collapse condition can be set according to the interface distance of the plane grid before and after collapse. For example, if the interface distance of the plane grid before and after collapse is less than the interface distance error, it is considered that the collapse condition is met. In this way, the interface distance error before and after collapse is used as a constraint condition to ensure that the collapse process does not destroy the initial geometric morphology.

[0188] Specifically, the maximum change distance between the plane mesh where the two nodes of the second mesh edge are located before the merge and the plane mesh where the new node is located after the merge is called the first distance. Only when the first distance is less than or equal to the first distance threshold, the two nodes of the second mesh edge are merged, that is, the collapse operation is performed.

[0189] Among them, since a second mesh edge may involve multiple plane meshes, the change distance before and after collapse can be calculated for each plane mesh, and the largest value can be selected as the first distance. Of course, in addition to the maximum value, the mean value or weighted value can also be selected as the first distance, and the embodiment of the present application does not limit this.

[0190] It is worth noting that although Fig. 6AThe edge splitting followed by the edge collapse process is shown as an example, but in actual implementation, there is no restriction on the order of the edge splitting and edge collapse processes, and the edge splitting process can also be performed after the edge collapse.

[0191] Step 503: determining a plane mesh set that meets the edge exchange condition from the third plane mesh model, and performing an edge exchange operation on each of the plane mesh sets to obtain a fourth plane mesh model.

[0192] Each plane mesh set includes two adjacent plane meshes, and the edge exchange condition is that the minimum inner angle of the two plane meshes increases after the edge exchange. The increase in the minimum inner angle may be that the minimum inner angles of both plane meshes increase, or the minimum inner angle of one of the plane meshes increases.

[0193] In the specific implementation, an edge exchange operation can be attempted on two adjacent plane meshes, and it can be determined whether the minimum inner angle increases after the edge exchange. If it increases, the edge exchange operation can be retained. If it does not increase, the edge exchange operation is canceled, so that after the edge exchange operation is performed on the set of plane meshes that meet the edge exchange conditions, the fourth surface mesh model is obtained.

[0194] See also Figure 7 As shown, it is a schematic diagram of the edge exchange operation provided by the embodiment of the present application. In the figure, the common mesh edge of the two triangular meshes (v1, v2, v3) and (v1, v2, v4) is (v1, v2), and the minimum inner angle of (v1, v2, v3) is α. By performing the edge exchange operation, the common edge of the two triangular meshes is replaced with (v3, v4), and the obtained plane meshes are (v1, v3, v4) and (v2, v3, v4). It can be seen that the position of the minimum inner angle α is changed to the inner angle β of (v1, v3, v4), and the angle is significantly increased.

[0195] In some embodiments, the edge exchange process can also be performed using a face-based data structure. The edge exchange process refers to deleting the common mesh edge (v1, v2) and connecting (v3, v4) for two adjacent triangle meshes (v1, v2, v3) and (v1, v2, v4). The implementation method when using a face-based data structure is to delete (v1, v2, v3) and (v1, v2, v4) in the original triangle face list, and add (v1, v3, v4) and (v2, v3, v4) to the list. This data structure makes the edge collapse process more convenient and improves the efficiency of the redivision process.

[0196] In the embodiment of the present application, by performing edge swap operations on adjacent triangles, edge swap operations that can increase the internal angle of the triangle are retained, thereby achieving the purpose of optimizing the node degree.

[0197] Step 504: adjusting the position of each node according to the position of the neighboring nodes of each node in the fourth surface mesh model to obtain the seventh surface mesh model.

[0198] In an embodiment of the present application, in order to optimize the relative distribution positions between each node so that adjacent plane meshes in the surface mesh model can be smoothly transitioned, after obtaining the fourth surface mesh model through edge exchange, the fourth surface mesh model can also be smoothed to obtain the seventh surface mesh model, and the final fifth surface mesh model of this iteration can be obtained based on the seventh surface mesh model.

[0199] Specifically, the smoothing process means that for each node, the position of the node can be adjusted according to the position information of its neighboring nodes, so that the distribution of the node relative to the neighboring nodes is more reasonable.

[0200] In some implementations, the angle of the internal angle formed by the currently adjusted node can be determined based on the location information of the neighboring nodes, and then the target position of the node to be moved can be determined based on the angle. The target position can be a position where the difference between the angles of the internal angles is within the angle threshold. Figure 8 As shown, for node v8, before smoothing, the difference between the inner angles formed by node v8 and the surrounding nodes is very large, while after smoothing, the difference between the inner angles formed by node v8 and the surrounding nodes is significantly reduced.

[0201] In some implementations, a smoothing algorithm may be used to move the position of the node. For example, the smoothing algorithm may be a Laplace smoothing algorithm, or other possible smoothing algorithms, which are not limited in the present application.

[0202] Laplace smoothing is an algorithm for smoothing polygonal meshes. For each node in the mesh, a new position is selected based on the positions of neighboring nodes, and the node is moved to that position. Specifically, for a node i, the target position after translation is calculated as follows:

[0203]

[0204] Where N is the number of neighbor nodes of node i, x j is the position of the jth neighbor node, x i is the new position of node i, i.e., the target position.

[0205] Considering that the adjustment of the node position will affect the surrounding plane mesh, in some cases it may also cause the plane mesh to be reversed, which may generate self-intersecting triangles and cause errors in the optimized surface mesh model. In order to avoid this situation, the position adjustment that causes the reverse should not be allowed. Therefore, in the embodiment of the present application, a position adjustment condition is set for this purpose to limit the situation where the plane mesh is reversed.

[0206] Among them, one possible position adjustment condition is that the normal vector direction of the plane mesh where the node is located has not been reversed after the position adjustment. This condition measures whether the plane mesh is reversed by the normal vector direction of the plane mesh. When the normal vector direction is reversed, for example, from the positive direction of the X-axis to the negative direction of the X-axis, it indicates that the plane mesh is reversed. Of course, other indicators can also be used to measure whether the plane mesh is reversed, and the embodiments of the present application are not limited to this.

[0207] Then, for each node in the fourth surface mesh model, after determining the adjusted target position of the node based on the position information of the node's neighboring nodes, it is necessary to determine whether moving the node to the target position meets the position adjustment conditions, that is, whether the normal vector direction of the plane mesh where the node is located is reversed. When the normal vector direction of the plane mesh where the node is located does not reverse after the position adjustment, it is determined that the node meets the position adjustment conditions, and each node can be adjusted to the target position.

[0208] In specific implementation, the target position can be calculated in advance, and the normal vector of the plane mesh can be calculated based on the target position and the surrounding neighboring nodes to determine whether the position adjustment conditions are met. When they are met, it is adjusted to the target position. Alternatively, the target position can be tried to be moved, and whether the plane mesh is reversed during the node movement process can be determined. For example, the direction of the normal vector of the plane mesh can be detected. When the normal vector direction is reversed, it is considered that the plane mesh is reversed, and the smooth movement of the node is canceled to avoid the generation of self-intersecting triangles.

[0209] In an embodiment of the present application, the node distribution is optimized through a smoothing process, such as Laplace smoothing based on section constraints to move the node positions.

[0210] Step 505: Determine the node closest to each node in the seventh surface mesh model from the first surface mesh model, and move each node to the location of the node closest to it, to obtain the fifth surface mesh model.

[0211] In an embodiment of the present application, after smoothing is performed to obtain the seventh surface mesh model, in order to reduce the distance error between the current surface mesh model and the original first surface mesh model, a back-projection operation may be performed on the current seventh surface mesh model, and each node in the seventh surface mesh model may be back-projected back to the initial surface. Wherein, for some or all of the nodes in the seventh surface mesh model, the back-projection operation refers to determining the point closest to the node in the original first surface mesh model, and moving the node to the location of the closest point to obtain the final fifth surface mesh model of this iteration. Wherein, the closest point is not limited to the node in the original first surface mesh model. For the nodes in the seventh surface mesh model, the closest point may be a node in the first surface mesh model, or a point in the plane mesh of the first surface mesh model.

[0212] In some embodiments, considering that the AABB tree structure helps to achieve efficient distance query, therefore, in order to improve the speed of the back-projection operation, a fast back-projection operation can be implemented based on the AABB tree structure constructed above, that is, when it is necessary to determine the node that is associated with and closest to the node, a fast query can be implemented through the AABB tree structure to improve the efficiency of the back-projection operation.

[0213] It should be noted that the process of step 505 is an optional step, which can be selected according to specific needs during actual implementation. Figure 5 and when step 505 is not executed, the seventh surface mesh model outputted by step 504 can be determined as the fifth surface mesh model.

[0214] Step 506: Determine whether the fifth surface mesh model satisfies the iteration termination condition.

[0215] The iteration termination conditions may include but are not limited to one or more of the following conditions:

[0216] (1) The number of iterations is greater than or equal to a preset number threshold. For example, when the maximum number of iterations is set to N, and the current number of iterations is the Nth, it can be considered that the iteration termination condition is met.

[0217] (2) The difference between the actual size of the mesh edge in the fifth surface mesh model and the reference size is less than or equal to the set difference threshold. In other words, when the actual size in the fifth surface mesh model is close to the reference size, it indicates that the current fifth surface mesh model is more consistent with the actual surface features of the target entity, and it can be considered that the iteration termination condition is met.

[0218] If both of the above conditions are not met, it is considered that the iteration termination condition has not been met.

[0219] Of course, in addition to the two conditions mentioned above, other possible termination conditions may also be included, and the embodiments of the present application do not limit this.

[0220] Step 507: If the judgment result of step 505 is no, that is, if the fifth surface mesh model does not meet the iteration termination condition, continue to redefine the plane mesh in the first surface mesh model according to the reference size of part or all of the plane meshes and the fifth surface mesh model.

[0221] It should be noted that, here, re-determining the plane mesh in the first surface mesh model according to the reference size of some or all plane meshes and the fifth surface mesh model means entering the next iteration process according to the reference size of some or all plane meshes and the fifth surface mesh model, and the input surface mesh model of the next iteration process is the fifth surface mesh model, and the plane mesh is re-divided for the fifth surface mesh model. Alternatively, it can also be understood that the fifth surface mesh model obtained in this iteration is determined as the first surface mesh model, and then the plane mesh in the first surface mesh model is re-determined according to the reference size of some or all plane meshes.

[0222] Step 508: If the judgment result of step 505 is yes, if the fifth surface mesh model meets the iteration termination condition, determine that the fifth surface mesh model is the second surface mesh model.

[0223] That is, the fifth surface mesh model output by this iteration is the surface mesh model finally optimized, that is, the second surface mesh model output by the entire redivision process.

[0224] In the present application embodiment, by Figure 5 The plane mesh re-division process shown in the figure improves the quality of the surface mesh model, thereby laying a foundation for the subsequent volume mesh generation process and reducing the probability of volume mesh generation failure.

[0225] Step 204: insert multiple nodes inside the cavity of the second surface mesh model, and obtain a volume mesh model of the target entity based on the multiple nodes and the nodes of the second surface mesh model, wherein the volume mesh model includes a three-dimensional mesh for describing the three-dimensional features of the target entity, wherein part or all of the vertices of each three-dimensional mesh are nodes inserted inside the cavity.

[0226] In an embodiment of the present application, the second surface mesh model obtained previously is a model that describes the surface features of the target entity, that is, a model that only contains the entity boundary and a cavity inside. These surface features can be used as boundary constraints, multiple nodes can be inserted inside the cavity, and a solid volume mesh model can be obtained by connecting these nodes.

[0227] The volume mesh model is a 3D model composed of three-dimensional meshes. The volume mesh model contains the three-dimensional features of the target entity, that is, in addition to the geometric features of the intersection of the target entity and the outside, it also includes the internal connection structure features of the target entity. For example, the three-dimensional mesh contained in the volume mesh model can be any three-dimensional mesh form, such as a tetrahedral mesh or a hexahedral mesh.

[0228] The three-dimensional meshes included in the volume mesh model can be divided into the following two categories according to whether they are located on the surface:

[0229] (1) One type is a first three-dimensional grid on the surface of a three-dimensional grid model. Each first three-dimensional grid includes at least one first plane, and the first plane is located on the surface of the first volume grid model. That is, at least one plane of this type of three-dimensional grid can be directly seen without perspective.

[0230] The vertices constituting this type of three-dimensional mesh may include nodes in the second surface mesh model, that is, some of its vertices are nodes inserted into the cavity.

[0231] (2) The other type is the second three-dimensional grid inside the three-dimensional grid model. All planes of this type of three-dimensional grid are not located on the model surface.

[0232] Among them, the vertices constituting this type of three-dimensional mesh are all nodes inserted in the second surface mesh model, that is, all of its vertices are nodes inserted inside the cavity.

[0233] In an embodiment of the present application, the process of constructing a volume mesh model of the target entity from the second surface mesh model can be performed using a point-by-point interpolation method. The point-by-point interpolation method can be, for example, a Bowyer-Watson (BW) incremental interpolation method, or other possible interpolation methods, and the embodiment of the present application does not limit this.

[0234] In some implementations, a point-by-point interpolation method may be used to interpolate the entire second surface mesh model to complete the construction of a three-dimensional mesh model.

[0235] In some implementations, the second surface mesh model may be segmented into regions, and the three-dimensional mesh model may be constructed by inserting points in each region using a point-by-point insertion method. Fig.9A The implementation process shown is to obtain:

[0236] Step 901: perform region segmentation on the second surface mesh model to obtain a plurality of surface mesh sub-models, each surface mesh sub-model including a portion of the plane mesh in the second surface mesh model.

[0237] Specifically, a random region segmentation method can be used to differentiate and segment the second surface mesh model to obtain multiple surface mesh sub-models, or a segmentation method based on a space filling curve (such as a Hilbert curve) can be used to differentiate and segment the second surface mesh model to obtain multiple surface mesh sub-models. After segmentation, different sub-models can also be colored by a coloring algorithm, which can also be understood as adding different marks to different sub-models to avoid thread conflicts when inserting points in parallel later.

[0238] Step 902: For each of the multiple surface mesh sub-models, a volume mesh construction process is performed respectively, that is, at least one node is inserted into the cavity of each surface mesh sub-model, and based on the at least one node and the nodes of each surface mesh sub-model, a volume mesh sub-model corresponding to each surface mesh sub-model is obtained.

[0239] Similar to the above-mentioned overall model interpolation, the interpolation of each sub-model can also be performed using a point-by-point interpolation method.

[0240] In the embodiment of the present application, by performing region segmentation, the volume mesh model can be constructed in parallel through different processing threads, which greatly improves the efficiency of volume mesh construction. For example, for a tetrahedral mesh model constructed from a triangular mesh model, the BW incremental interpolation algorithm can be used in parallel to perform Delaunay interpolation to complete the tetrahedron construction, and the processing speed is faster.

[0241] Step 903: Merge the volume mesh sub-models corresponding to the multiple surface mesh sub-models to obtain the volume mesh model of the target entity.

[0242] In the embodiment of the present application, the volume mesh model of the target entity can be obtained by merging the multiple volume mesh sub-models obtained above. For example, the merging can be performed according to the segmentation boundaries during the segmentation; or, the merging can be performed according to the similarity of features.

[0243] In some embodiments, taking into account the difference between a three-dimensional mesh and a plane mesh, the volume mesh model obtained based on the insertion points may be slightly different from the surface of the original second surface mesh model. Therefore, in order to improve the accuracy of the volume mesh model, the embodiment of the present application will merge the volume mesh sub-models corresponding to multiple surface mesh sub-models to obtain a first volume mesh model, and will also perform boundary restoration on the first volume mesh model to ensure that the final generated volume mesh model contains the mesh edges and plane meshes of the plane mesh in the second surface mesh model.

[0244] Specifically, the boundary recovery process can be performed on the first plane of the first solid mesh in the first volume mesh model, that is, on the plane located on the surface of the first volume mesh model. When performing boundary recovery, the position of the first plane in the first volume mesh model can be adjusted according to the plane mesh in the second surface mesh model, so that each plane mesh in the second surface mesh model can correspond one-to-one to a first plane in the first volume mesh model. Fig. 9B In the output mode (1) shown, after boundary recovery, the second volume mesh model obtained after boundary recovery can be output as the volume mesh model of the target entity.

[0245] In some implementations, in order to improve the quality of the volume mesh model, a local operation of the three-dimensional mesh may be performed on the merged volume mesh model or the volume mesh model after boundary restoration to optimize the quality of the three-dimensional mesh. The local operation process of the three-dimensional mesh may also be referred to as a process of re-dividing the three-dimensional mesh, which is similar to the process of re-dividing the plane mesh. Fig. 9B The output (2) method shown, after adjusting the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the second volume mesh model, can also perform a three-dimensional mesh redivision process, and output the third volume mesh model after redivision as the volume mesh model of the target entity.

[0246] Specifically, during the process of re-dividing the solid mesh, the reference size of part or all of the solid meshes in the second volume mesh model can be determined based on the reference size of part or all of the plane meshes, that is, the reference size field obtained for the first surface mesh model, which can also be called the reference size field of the second volume mesh model. Different from the size field of the surface mesh model, the size field of the surface mesh model not only contains the reference size of the surface, but also the internal reference size. For example, the size field established in the process of re-dividing the volume mesh can be obtained by extrapolating and interpolating the reference size field of the surface mesh model. For example, where the surface mesh size field is small, the surrounding volume mesh size field is also small.

[0247] Then, based on the reference size of part or all of the three-dimensional meshes, the three-dimensional mesh in the second volume mesh model is re-determined to obtain the volume mesh model of the target entity. This process is similar to the aforementioned plane mesh re-division process, or in other words, the three-dimensional mesh is still composed of multiple plane meshes, so the three-dimensional mesh re-division process can also be approximately considered as the plane mesh re-division process, that is, it can include edge splitting, edge collapse, edge exchange, smoothing and back projection, so it will not be described here.

[0248] In the embodiment of the present application, the initially input first surface mesh model may also include material information of the plane mesh. For the target entity, when it contains one component, it has only one material, and the material information of all plane meshes is the same; when it contains multiple components, and the multiple components use different materials, the material information can be assigned to each plane mesh according to each component corresponding to the plane mesh in the first surface mesh model. In other words, a component is essentially a bounding volume surrounded by multiple plane meshes, and the materials in the bounding volume are the same, so the plane meshes belonging to the same bounding volume correspond to the same material information. See Fig. 9C As shown, a material schematic diagram of a target entity is shown. The target entity is only for illustration and does not limit the structure of the specific target entity. The target entity includes 3 parts, which are respectively made of material 1, material 2 and material 3. In the first surface mesh model, the plane meshes used to describe each part can be respectively assigned corresponding material information. For example, the plane mesh of the part corresponding to material 1 can be marked as material 1, the plane mesh of the part corresponding to material 2 can be marked as material 2, and so on.

[0249] Then, after obtaining the volume mesh model of the target entity, the material information of each three-dimensional mesh in the volume mesh model of the target entity can be determined according to the positional relationship between the plane mesh and the three-dimensional mesh. That is, according to the material information of the bounding volume (component) to which the plane mesh belongs, the same material information can be added to the three-dimensional mesh belonging to the bounding volume, so that the material properties of these materials can be directly used during the simulation calculation, thereby improving the convenience of the simulation calculation and the accuracy of the results.

[0250] The volume mesh modeling method provided in the embodiment of the present application optimizes the plane mesh quality by remeshing the input discrete surface model, realizes geometric adaptive control of the mesh size, and then performs regional decomposition based on the optimized surface mesh model, and completes the construction of the volume mesh model by parallel insertion. This method can simultaneously support manifold and non-manifold discrete surfaces as input models, and can be used for multi-material and multi-component solid models, such as the construction of volume mesh models of semiconductor device geometric models.

[0251] In one embodiment, the surface mesh model may be a triangular mesh model, and the volume mesh model may be a tetrahedral mesh model. Fig.10 As shown, it is a schematic diagram of the process of generating a tetrahedral mesh model based on a triangular mesh model provided in an embodiment of the present application.

[0252] Step 1001: Input an initial triangular mesh model, which contains material information corresponding to each bounding volume.

[0253] Step 1002: Determine the geometric adaptive size field of the triangular mesh model.

[0254] In the geometric adaptive size field, complex feature areas such as high curvature and small local features (such as thin layers and sharp corners) use smaller mesh sizes, while simple feature areas such as large planes use larger mesh sizes, so as to better describe the surface features of the target entity and improve the quality of the surface mesh model.

[0255] Step 1003: Initialize the triangular mesh model.

[0256] During initialization, a face-based data structure is used to store vertex and triangle patch information. This data structure is a simple but universal data structure, so that the method of the embodiment of the present application can be applied to the processing of manifold and non-manifold surfaces. At the same time, an AABB tree structure of the initial triangular mesh model is constructed. This tree structure can realize efficient intersection detection and distance query, and is used to realize fast distance error measurement and node back-projection operation during subsequent face mesh redivision.

[0257] Furthermore, during initialization, the iteration number variable k=0 is set, and after each subsequent repartitioning process is executed once, k is incremented by one to record the iteration number.

[0258] Step 1004: Iterate the triangular mesh redivision, and perform the following operations in each iteration:

[0259] (1) The edge splitting operation of the triangular mesh is used to split the mesh edges whose actual length is greater than the geometric adaptive size to achieve the encryption of the triangular mesh.

[0260] (2) The edge collapse operation of the triangular mesh is used to collapse the mesh edges whose actual length is smaller than the geometric adaptive size, thereby achieving coarsening of the triangular mesh.

[0261] Among them, the edge collapse independent set can be calculated through the coloring algorithm, the collapse operation can be performed in parallel, and the interface distance error before and after the collapse can be used as a constraint condition to ensure that the collapse process does not destroy the initial geometric morphology.

[0262] (3) Edge exchange operation of the triangular mesh: This step is used to perform edge exchange operations on adjacent triangles, retaining edge exchange operations that can increase the internal angle of the triangle to optimize the node degree.

[0263] (4) Smoothing of the triangular mesh: This step uses the Laplace algorithm with section constraints to smoothly move the node positions, thereby optimizing the node distribution.

[0264] In the process of node movement, it is determined whether a triangle mesh inversion occurs. If inversion occurs, the smooth movement of the node is canceled to avoid the generation of self-intersecting triangles.

[0265] (5) Node back-projection operation: This step is used to quickly back-project the nodes to the initial surface based on the AABB tree to reduce the distance error.

[0266] After completing one iteration, it is necessary to determine whether the iteration termination condition is met, that is, whether the iteration number variable k reaches the preset number, or whether the mesh edge length in the obtained triangular mesh model reaches the convergence condition (for example, the difference with the geometric adaptive size is less than the difference threshold). When the iteration termination condition is met, step 1005 is continued. If the iteration termination condition is not met, k is added by one, that is, k=k+1, and the next iteration is entered to continue the above operations.

[0267] Step 1005: Generate a tetrahedral mesh model in parallel. The process performs the following operations:

[0268] (1) Based on the triangular mesh model obtained after redivision, the Hilbert curve is used to sort and perform region segmentation to obtain multiple triangular mesh sub-models.

[0269] (2) Perform Delaunay interpolation on multiple triangular mesh sub-models in parallel to construct a tetrahedral sub-model corresponding to each triangular mesh sub-model.

[0270] (3) Merge the tetrahedral sub-models and perform boundary restoration on the obtained tetrahedral mesh model to ensure that the generated tetrahedral mesh model contains the edges and triangular faces of the triangular mesh in the initial triangular mesh model.

[0271] (4) Re-divide the tetrahedral mesh model and optimize the mesh quality.

[0272] (5) Based on the material information of the bounding volume, a material label is assigned to the tetrahedral meshes in each bounding volume.

[0273] Step 1006: Output the tetrahedral mesh model.

[0274] The specific implementation of the steps involved in the above process can be found in Figure 2 The corresponding parts of the example are not described in detail here. The tetrahedral mesh model obtained through the above process has been optimized many times, and the mesh quality of the tetrahedral mesh model is higher, which can be used in the finite element simulation calculation process to improve the accuracy of the finite element simulation calculation.

[0275] The volume mesh modeling method provided in the embodiment of the present application can be used in most physical simulation scenarios, and the process simulation scenario and device simulation scenario of semiconductor devices are used as examples for introduction. Of course, the above modeling method is also applicable to simulation scenarios of other entities.

[0276] (I) Process simulation scenarios for semiconductor devices

[0277] The process simulation scenario of semiconductor devices is to generate the process simulation volume grid of semiconductor devices, see Fig.11A , which is a flow chart of a process flow of a volume mesh generation process for a semiconductor device process simulation provided by an embodiment of the present application.

[0278] Step 1101: Input a surface mesh model based on a discrete surface.

[0279] In a process simulation scenario of a semiconductor device, the semiconductor device obtained by the process simulation can be reconstructed through an interface based on voxel data to extract discrete surfaces of a geometric model of the semiconductor device, and the discrete surface model represented by the discrete surfaces can be used as an input surface mesh model of an embodiment of the present application.

[0280] See also Fig. 11B As shown, it is an example diagram of the input surface mesh model provided in an embodiment of the present application, wherein the input surface mesh model is specifically shown by taking a triangular mesh model as an example, and the input surface mesh model includes the surface features of the semiconductor device.

[0281] Step 1102: Calculate the geometric adaptive size field.

[0282] based on Fig. 11B It can be seen that due to the presence of a high curvature region and a thin layer structure in the middle part of the semiconductor device, the characteristic size calculated in this area is smaller than that in other areas, and a denser triangular mesh can be generated. Therefore, in the final size field, the flat area outside the model has a larger characteristic size, and the middle area of ​​the model has a smaller characteristic size.

[0283] Step 1103: Initialize the surface mesh model.

[0284] Taking the plane mesh as a triangular mesh as an example, a face-based data structure is used to store vertex coordinates (xi, yi, zi) and triangular meshes (v1i, v2i, v3i) expressed by vertex numbers, and at the same time, an AABB tree corresponding to the face mesh model is constructed.

[0285] Step 1104: Re-mesh the initialized surface mesh model.

[0286] In the process of mesh re-division, the mesh size is controlled and the mesh quality is improved through continuous iterations of edge splitting, edge collapse, edge exchange and smoothing operations to obtain the following: Fig. 11C The surface mesh model shown, Fig. 11C Specifically, it is shown in the cross section of the surface mesh model.

[0287] It can be understood that in the process simulation scenario of semiconductor devices, the mesh in the initialized surface mesh model is often denser, and the mesh redivision often involves a large number of edge collapse processes to achieve the purpose of mesh coarsening. Considering that the edge collapse process at high curvature may cause geometric distortion and lead to excessive deviation from the original surface, the embodiment of the present application will use the AABB tree to calculate the distance between the triangular mesh expected to be generated after the collapse and the original mesh in each step of the collapse operation. If the distance is greater than the threshold, the collapse of the edge will be cancelled, thereby maximizing the original geometric shape.

[0288] from Fig.11A The number of triangle meshes in the initial surface mesh model input is 234546, and the number of triangle meshes after mesh remeshing is 72119, with a coarsening rate of 69%, which helps to greatly reduce the complexity of subsequent volume mesh modeling and the amount of calculation during finite element simulation. Fig. 11B It can also be clearly seen that there are no geometric defects such as self-intersecting triangles and degenerate triangles in the optimized surface mesh model, and the area error compared with the initial surface mesh is only 0.37%, and the mesh quality is obviously higher.

[0289] Step 1105: Based on the re-divided surface mesh, the Hilbert curve is used to perform region segmentation and then generate a parallel volume mesh model.

[0290] Fig.11D This is a cross-section of the final generated volume mesh model. The volume mesh model contains 22 geometric regions belonging to 7 materials. Different materials can present different color grayscales. Fig.11D Specifically, as shown here, or other special marks may be used to distinguish them, the total number of tetrahedrons contained in the volume mesh model is 540105, and the tetrahedrons with an aspect ratio less than 5 account for 99.64%. The corresponding tetrahedral mesh is successfully generated in each geometric region. It can be seen that the volume mesh modeling method provided in the embodiment of the present application has a high modeling success rate.

[0291] The specific implementation of the steps involved in the above process can be found in Figure 2 The introduction of the corresponding parts in the example will not be repeated here.

[0292] (II) Device simulation scenarios for semiconductor devices

[0293] The device simulation scenario for semiconductor devices is to generate device simulation meshes. Fig. 12A , which is a schematic flow chart of a device simulation body mesh generation process for a semiconductor device provided in an embodiment of the present application.

[0294] Step 1201: Input a surface mesh model based on a discrete surface.

[0295] Different from process simulation scenarios where reverse modeling can usually only be performed based on voxel data, in device simulation scenarios of semiconductor devices, CAD software can usually be used to construct the geometric shape of the semiconductor device to obtain a discrete surface model, and the discrete surface is used as the input model of this embodiment.

[0296] See also Fig. 12B , which is an example diagram of an input surface mesh model provided in an embodiment of the present application, wherein the input surface mesh model is specifically shown as a triangular mesh model, and the input surface mesh model includes the surface features of the semiconductor device. Moreover, it can be seen that the triangular mesh in the discrete surface model created based on the CAD software is very sparse.

[0297] Unlike traditional STL discrete surfaces, the model input in the embodiment of the present application also includes material information of each triangular mesh. In addition, the input model may also include user-specified contact surface area information, which can be used in subsequent physical simulations. For example, after defining the contact surface between metals in a semiconductor device, when performing physical simulation, the boundary conditions of the physical simulation can be applied to the contact surface, making the physical simulation process more convenient.

[0298] Step 1202: Calculate the geometric adaptive size field. In the size field finally constructed, the flat area outside the model has a larger characteristic size, and the middle area of ​​the model has a smaller characteristic size.

[0299] Step 1203: Initialize the surface mesh model.

[0300] Step 1204: Re-mesh the initialized surface mesh model.

[0301] In the process of mesh re-division, the mesh size is controlled and the mesh quality is improved through continuous iterations of edge splitting, edge collapse, edge exchange and smoothing operations to obtain the following: Fig. 12C The surface mesh model after redivision is shown.

[0302] It can be seen that the mesh in the initial surface mesh model is sparse, so for this initial surface mesh model, the operation to control the mesh size during mesh redivision is mainly the edge splitting operation to achieve mesh encryption. According to the geometric adaptive size field, the edge splitting operations at characteristic structures such as corners and thin layers are more than those in other flat areas, achieving geometric adaptive encryption.

[0303] Step 1205: Based on the re-divided surface mesh, perform region segmentation using the Hilbert curve and then generate a parallel volume mesh.

[0304] Fig.12DThis is a schematic diagram of the final generated volume mesh model, which includes 8 geometric regions belonging to 8 materials, and 2 user-defined geometric surface contact regions. Tetrahedrons with an aspect ratio less than 5 account for 100%, and a corresponding tetrahedral mesh is successfully generated for each geometric region. It can be seen that the volume mesh modeling method provided in the embodiment of the present application has a high modeling success rate.

[0305] The specific implementation of the steps involved in the above process can be found in Figure 2 as well as Fig.10 The introduction of the corresponding parts in the example will not be repeated here.

[0306] In summary, the volume mesh modeling method provided in the embodiment of the present application can generate corresponding volume mesh models based on discrete surface models of complex components such as semiconductor devices and discrete surface models generated by reverse modeling such as medical imaging and 3D scanning of automotive parts, and is suitable for processing meshes of device models with multiple materials and components, and used in subsequent finite element simulation calculations.

[0307] This method eliminates the process of converting discrete surfaces into parametric surfaces. It is directly based on discrete surfaces and uses a parallel method to re-divide the plane mesh and generate the volume mesh. It also optimizes the mesh quality of the plane mesh and the solid mesh, effectively improving the mesh generation speed and quality. It also maintains the regional, boundary characteristics and material information throughout the process, and can achieve geometric adaptive meshing and automatic assignment of material labels, reducing the complexity and workload caused by manual intervention.

[0308] The results of numerical experiments show that when generating volume meshes of the order of one hundred thousand to ten million, the acceleration ratio is generally 2 to 10 times or more compared with methods such as Tetgen. When the number of volume meshes is the same, the volume meshes generated by the solution of the embodiment of the present application are of higher quality than those generated by methods such as Tetgen, and the proportion of tetrahedrons with an aspect ratio of less than 5 reaches more than 99%.

[0309] Based on the same technical concept as the above method embodiment, the present application embodiment also provides a modeling device, which is used to execute the module of the volume mesh modeling method in the above method embodiment. Fig.13 As shown, the modeling device 130 includes an input module 1301, a size determination module 1302, a mesh re-division module 1303 and a volume mesh construction module 1304. Specifically, in the modeling device 130, each module is connected via a communication path.

[0310] The input module 1301 is used to obtain a first surface mesh model of a target entity, wherein the first surface mesh model includes a plane mesh for describing the surface features of the target entity, wherein the target entity is an object to be volume mesh modeled.

[0311] The size determination module 1302 is used to determine the reference size of part or all of the plane meshes in the first surface mesh model.

[0312] The mesh re-division module 1303 is used to redefine the plane mesh in the first surface mesh model according to the reference size of part or all of the plane meshes to obtain a second surface mesh model, wherein the size of the plane mesh in the second surface mesh model matches the surface features of the target entity.

[0313] The volume mesh construction module 1304 is used to insert multiple nodes inside the cavity of the second surface mesh model, and obtain a volume mesh model of the target entity based on the multiple nodes and the nodes of the second surface mesh model. The volume mesh model includes a three-dimensional mesh for describing the three-dimensional features of the target entity, wherein part or all of the vertices of each three-dimensional mesh are nodes inserted inside the cavity.

[0314] As a possible implementation, the vertex of each plane mesh in the first surface mesh model is a node in the first surface mesh model. Then, when determining the reference size of some or all plane meshes in the first surface mesh model, the size determination module 1302 performs the following operations for each node in the first surface mesh model: determining the size of the first region according to the curvature of the position of each node, the first region includes each node, wherein the size of the first region is in a negative proportional relationship with the curvature; determining the size of the second region according to the distance between each node and the first central axis, the second region includes each node, and the first central axis is the shape central axis of the discrete surface where each node is located; determining the reference size of each node according to the size of the first region and the size of the second region. Further, the size determination module 1302 determines the reference size of some or all plane meshes according to the reference size of the nodes in the first surface mesh model.

[0315] As a possible implementation, before determining the size of the second region according to the distance between each node and the first central axis, the size determination module 1302 also performs constrained Delaunay triangulation on the nodes in the first surface mesh model to obtain a triangular mesh set corresponding to the first surface mesh model. When the size determination module 1302 determines the size of the second region according to the distance between each node and the first central axis, the radius of the minimum circumscribed circle of the triangular mesh containing each node is determined from the triangular mesh set, and the radius is used as the distance between each node and the first central axis; then, the size of the second region is determined according to the distance between each node and the first central axis.

[0316] As a possible implementation, when the size determination module 1302 determines the reference size of each node according to the size of the first area and the size of the second area, the smaller value of the size of the first area and the size of the second area is determined as the reference size of each node.

[0317] As a possible implementation, each plane mesh in the first surface mesh model includes a plurality of mesh edges, and each mesh edge is a line between two nodes. Then the mesh re-division module 1303 re-determines the plane mesh in the first surface mesh model according to the reference size of some or all plane meshes, and when obtaining the second surface mesh model, initializes the first surface mesh model; adjusts the size of the mesh edge in the initialized first surface mesh model according to the reference size of some or all plane meshes, and obtains the third surface mesh model; determines a plane mesh set that meets the edge exchange condition from the third surface mesh model, and performs an edge exchange operation on each of the plane mesh sets, and obtains the fourth surface mesh model; each plane mesh set includes two adjacent plane meshes, and the edge exchange condition includes: the angle of the minimum inner angle of the two plane meshes increases after the edge exchange; adjusts the position of each node according to the position of the neighboring node of each node in the fourth surface mesh model, and obtains the fifth surface mesh model; if the fifth surface mesh model meets the iteration termination condition, determines the fifth surface mesh model as the second surface mesh model, otherwise continues to re-determine the plane mesh in the first surface mesh model according to the reference size of some or all plane meshes and the fifth surface mesh model.

[0318] As a possible implementation, the mesh redivision module 1303 adjusts the mesh edge size in the initialized first surface mesh model according to the reference size of part or all of the plane meshes, and when obtaining the third surface mesh model, determines the first mesh edge from the initialized first surface mesh model, and the actual size of the first mesh edge is larger than the reference size of the first mesh edge; inserts at least one node into the first mesh edge, and redetermines the plane mesh of the initialized first surface mesh model based on the at least one node to obtain the sixth surface mesh model; determines the second mesh edge from the sixth surface mesh model, and the actual size of the second mesh edge is smaller than the reference size of the second mesh edge; merges two nodes of the second mesh edge to obtain a new node, and redetermines the plane mesh of the sixth surface mesh model based on the new node to obtain the third surface mesh model.

[0319] As a possible implementation, when the mesh redivision module 1303 determines the second mesh edge from the sixth surface mesh model, a first edge set is determined from the mesh edges in the sixth surface mesh model, the first edge set includes multiple mesh edges, any two mesh edges in the first edge set are not adjacent, and in the plane mesh containing the vertices of any two mesh edges, no intersection exists between any two plane meshes; thereafter, the second mesh edge is determined from the first edge set.

[0320] As a possible implementation, the grid redivision module 1303 merges the two nodes on the second grid edge to obtain a new node when the first distance is less than or equal to the first distance threshold, wherein the first distance is the maximum change distance between the plane grid where the two nodes on the second grid edge are located before the merger and the plane grid where the new node is located after the merger.

[0321] As a possible implementation, the mesh redivision module 1303 adjusts the position of each node according to the position information of the neighboring nodes of each node in the fourth surface mesh model to obtain the fifth surface mesh model. First, the adjusted target position of each node is determined according to the position information of the neighboring nodes of each node in the fourth surface mesh model; then, after the position of each node is adjusted, if the direction of the normal vector of the plane mesh where each node is located is not reversed, each node is adjusted to the target position.

[0322] As a possible implementation mode, the grid redivision module 1303 adjusts the position of each node according to the position information of the neighboring nodes of each node in the fourth surface grid model to obtain the fifth surface grid model. It can also adjust the position of each node according to the position information of the neighboring nodes of each node in the fourth surface grid model to obtain the seventh surface grid model; then, from the first surface grid model, determine the point closest to some or all of the nodes in the seventh surface grid model; the point closest to each node in the seventh surface grid model is the node in the first surface grid model or the point in the plane grid; move some or all of the nodes to the position of the closest point to obtain the fifth surface grid model.

[0323] As a possible implementation, the volume mesh construction module 1304 inserts multiple nodes inside the cavity of the second surface mesh model, and obtains the volume mesh model of the target entity based on the multiple nodes and the nodes of the second surface mesh model. The second surface mesh model is segmented into regions to obtain multiple surface mesh sub-models, each surface mesh sub-model including a portion of the plane mesh in the second surface mesh model; for each of the multiple surface mesh sub-models, the following operations are performed respectively: at least one node is inserted into the cavity of each surface mesh sub-model, and a volume mesh sub-model corresponding to each surface mesh sub-model is obtained based on the at least one node and the nodes of each surface mesh sub-model; the volume mesh sub-models corresponding to the multiple surface mesh sub-models are merged to obtain the volume mesh model of the target entity.

[0324] As a possible implementation, the volume mesh construction module 1304 merges the volume mesh sub-models corresponding to the multiple surface mesh sub-models, and when obtaining the volume mesh model of the target entity, the volume mesh sub-models corresponding to the multiple surface mesh sub-models are merged to obtain a first volume mesh model; the first volume mesh model includes multiple first three-dimensional meshes, wherein each first three-dimensional mesh includes at least one first plane, and the first plane is located on the surface of the first volume mesh model; according to the plane mesh in the second surface mesh model, the position of the first plane in the first volume mesh model is adjusted to obtain the volume mesh model of the target entity; each plane mesh corresponds one-to-one to a first plane.

[0325] As a possible implementation, the volume mesh construction module 1304 adjusts the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the volume mesh model of the target entity; adjusts the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the second volume mesh model; determines the reference size of part or all of the three-dimensional meshes in the second volume mesh model according to the reference size of part or all of the plane meshes; and re-determines the three-dimensional meshes in the second volume mesh model according to the reference size of part or all of the three-dimensional meshes to obtain the volume mesh model of the target entity.

[0326] As a possible implementation, the first surface mesh model also includes material information of the plane mesh. After obtaining the volume mesh model of the target entity according to the multiple nodes and the nodes of the second surface mesh model, the volume mesh construction module 1304 can also determine the material information of each three-dimensional mesh in the volume mesh model of the target entity according to the positional relationship between the plane mesh and the three-dimensional mesh.

[0327] As a possible implementation, when obtaining the first surface mesh model of the target entity, the input module 1301 can obtain the simulation parameters of the target entity after executing the process simulation, and determine the first surface mesh model according to the simulation parameters; or, determine the first surface mesh model according to the CAD modeling parameters of the target entity.

[0328] The division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.

[0329] If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a terminal device (which can be a personal computer, mobile phone, or network device, etc.) or a processor (processor) to execute all or part of the steps of the method of each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0330] In other embodiments, the structure of the modeling device 140 provided in the embodiment of the present application can be as follows: Fig.14 As shown, it includes a processor 1401 and a memory 1402 connected to the processor 1401. The processor 1401 and the memory 1402 can be interconnected via a bus, and the processor 1401 can serve as the main processor of the modeling device 140, that is, the control core of the modeling device 140. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. The specific connection medium between the above-mentioned processor 1401 and the memory 1402 is not limited in the embodiments of the present application.

[0331] The memory 1402 may include the above-mentioned memory, and the memory 1402 may be a volatile memory, such as a random access memory; the memory may also be a non-volatile memory, such as a read-only memory ROM, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD), or the memory 1402 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1402 may be a combination of the above-mentioned memories. The memory 1402 may be used to store software programs and modules.

[0332] The processor 1401 may include one or more processors. The processor 1401 executes various functional applications and data processing of the electronic device 1400 by running software programs and modules stored in the memory 1402, such as the volume mesh modeling method provided in the embodiment of the present application.

[0333] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the modeling device. In other embodiments of the present application, the electronic device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0334] The method steps in the embodiments of the present application can be implemented by hardware, or by a processor executing a computer program or instruction. The computer program or instruction can constitute a computer program product. The embodiment of the present application also provides a computer program product, including computer executable instructions. In one embodiment, the computer executable instructions are used to enable a computer to perform the functions in the above method embodiments.

[0335] The computer executable instructions may be stored in a computer readable storage medium. The present application also provides a computer readable storage medium, wherein the computer readable storage medium stores the executable instructions. In one embodiment, the computer executable instructions are used to enable a computer to execute the functions in the above method embodiment.

[0336] The computer-readable storage medium provided in the embodiments of the present application may be a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of computer-readable storage medium known in the art.

[0337] Computer executable instructions may be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium. For example, the computer program or instructions may be transferred from one website, computer, server or data center to another website, computer, server or data center by wired or wireless means. The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a digital video disc (DVD); it may also be a semiconductor medium, such as a solid state drive.

[0338] The present application also provides a computer program product, including instructions, which, when executed on a computer, causes the computer to execute Figure 2 The method performed by the medium volume mesh modeling device.

[0339] The embodiment of the present application provides a chip system, including a processor and an interface, wherein the processor is used to call and run instructions from the interface, so that the chip system implements the methods in the above embodiments. The chip system can be composed of a chip, or it can include a chip and other discrete devices.

[0340] The embodiment of the present application also provides a chip, including a processor, for supporting the communication device to implement the functions involved in the volume mesh modeling device in the above method embodiment. In one possible design, the chip is connected to a memory or the chip includes a memory, and the memory is used to store computer programs or instructions and data necessary for the communication device.

[0341] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean 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 application.

[0342] Those of ordinary skill in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0343] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0344] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0345] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0346] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the part of the technical solution of the present application that contributes essentially or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), RAM, magnetic disks or optical disks.

[0347] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A volume mesh modeling method, characterized in that: include: Obtaining a first surface mesh model of a target entity, wherein the first surface mesh model includes a plane mesh for describing surface features of the target entity; Determining reference sizes of part or all of the plane meshes in the first surface mesh model; Re-determining the plane mesh in the first surface mesh model according to the reference size of the part or all of the plane meshes to obtain a second surface mesh model, wherein the size of the plane mesh in the second surface mesh model matches the surface features of the target entity; Insert multiple nodes inside the cavity of the second surface mesh model, and obtain a volume mesh model of the target entity based on the multiple nodes and the nodes of the second surface mesh model, wherein the volume mesh model includes a three-dimensional mesh for describing the three-dimensional features of the target entity, wherein part or all of the vertices of each three-dimensional mesh are nodes inserted inside the cavity.

2. The method according to claim 1, characterized in that The vertex of each plane mesh in the first surface mesh model is a node in the first surface mesh model, and determining the reference size of part or all of the plane meshes in the first surface mesh model includes: For each node in the first surface mesh model, perform the following operations respectively: Determining the size of a first region according to the curvature of the location of each node, the first region including each node, wherein the size of the first region is in negative proportion to the curvature; Determine the size of the second region according to the distance between each node and the first median axis, the second region includes each node, and the first median axis is the median axis of the discrete surface where each node is located; Determining a reference size of each node according to a size of the first area and a size of the second area; The reference size of the part or all of the plane mesh is determined according to the reference size of the nodes in the first surface mesh model.

3. The method according to claim 2, characterized in that Before determining the size of the second area according to the distance between each node and the first central axis, the method further includes: Performing constrained Delaunay triangulation on the nodes in the first surface mesh model to obtain a triangular mesh set corresponding to the first surface mesh model; The step of determining the size of the second area according to the distance between each node and the first central axis comprises: Determine, from the triangular mesh set, the radius of the minimum circumscribed circle of the triangular mesh containing each node, and use the radius as the distance between each node and the first medial axis; The size of the second area is determined according to the distance between each node and the first central axis.

4. The method according to claim 2 or 3, characterized in that: Determining a reference size of each node according to a size of the first area and a size of the second area includes: A smaller value between a size of the first region and a size of the second region is determined as a reference size of each node.

5. The method according to any one of claims 1 to 4, characterized in that: Each plane mesh in the first surface mesh model includes a plurality of mesh edges, each mesh edge being a line between two nodes; then, based on the reference size of the part or all of the plane meshes, the plane mesh in the first surface mesh model is re-determined to obtain a second surface mesh model, including: Initializing the first surface mesh model; According to the reference size of the partial or all plane meshes, the size of the mesh edge in the initialized first surface mesh model is adjusted to obtain a third surface mesh model; Determine a plane mesh set that meets the edge exchange condition from the third plane mesh model, and perform an edge exchange operation on each of the plane mesh sets to obtain a fourth plane mesh model; each plane mesh set includes two adjacent plane meshes, and the edge exchange condition includes: the angle of the minimum inner angle of the two plane meshes increases after the edge exchange; According to the positions of neighboring nodes of each node in the fourth surface mesh model, the position of each node is adjusted to obtain a fifth surface mesh model; If the fifth surface mesh model meets the iteration termination condition, the fifth surface mesh model is determined to be the second surface mesh model; otherwise, the plane mesh in the first surface mesh model is redetermined according to the reference size of the part or all of the plane meshes and the fifth surface mesh model.

6. The method according to claim 5, characterized in that According to the reference size of the partial or all plane meshes, the mesh edge size in the initialized first surface mesh model is adjusted to obtain a third surface mesh model, including: Determine a first mesh edge from the initialized first surface mesh model, wherein an actual size of the first mesh edge is greater than a reference size of the first mesh edge; Inserting at least one node in the first mesh edge, and re-determining the plane mesh of the initialized first surface mesh model according to the at least one node to obtain a sixth surface mesh model; Determining a second mesh edge from the sixth surface mesh model, wherein an actual size of the second mesh edge is smaller than a reference size of the second mesh edge; The two nodes of the second mesh edge are merged to obtain a new node, and the plane mesh of the sixth surface mesh model is re-determined according to the new node to obtain the third surface mesh model.

7. The method according to claim 5 or 6, characterized in that: The step of determining a second mesh edge from the sixth surface mesh model comprises: Determine a first edge set from the mesh edges in the sixth surface mesh model, the first edge set comprising a plurality of mesh edges, any two mesh edges in the first edge set are not adjacent, and in the plane meshes containing the vertices of the any two mesh edges, no intersection exists between any two plane meshes; The second mesh edge is determined from the first edge set.

8. The method according to claim 6 or 7, characterized in that: The step of merging two nodes of the second mesh edge to obtain a new node includes: When the first distance is less than or equal to a first distance threshold, the two nodes of the second mesh edge are merged to obtain a new node, wherein the first distance is a maximum change distance between a plane mesh where the two nodes of the second mesh edge are located before the merge and a plane mesh where the new node is located after the merge.

9. The method according to any one of claims 5 to 8, characterized in that: According to the position information of the neighboring nodes of each node in the fourth surface mesh model, the position of each node is adjusted to obtain the fifth surface mesh model, including: Determining the adjusted target position of each node according to the position information of the neighboring nodes of each node in the fourth surface grid model; After the position of each node is adjusted, if the direction of the normal vector of the plane grid where each node is located does not reverse, each node is adjusted to the target position.

10. The method according to any one of claims 5 to 9, characterized in that: According to the position information of the neighboring nodes of each node in the fourth surface mesh model, the position of each node is adjusted to obtain the fifth surface mesh model, including: According to the position information of the neighboring nodes of each node in the fourth surface mesh model, the position of each node is adjusted to obtain a seventh surface mesh model; Determine, from the first surface mesh model, the point closest to some or all of the nodes in the seventh surface mesh model; the point closest to each node in the seventh surface mesh model is a node in the first surface mesh model or a point in the plane mesh; Move some or all of the nodes to the location of the point closest to the distance, and obtain the fifth surface mesh model.

11. The method according to any one of claims 1 to 4, characterized in that: The inserting a plurality of nodes into the cavity of the second surface mesh model and obtaining a volume mesh model of the target entity according to the plurality of nodes and the nodes of the second surface mesh model comprises: Performing region segmentation on the second surface mesh model to obtain a plurality of surface mesh sub-models, each surface mesh sub-model including a portion of the plane mesh in the second surface mesh model; For each of the plurality of surface mesh sub-models, the following operations are performed respectively: Inserting at least one node inside the cavity of each surface mesh sub-model, and obtaining a volume mesh sub-model corresponding to each surface mesh sub-model according to the at least one node and the nodes of each surface mesh sub-model; The volume mesh sub-models corresponding to the multiple surface mesh sub-models are merged to obtain a volume mesh model of the target entity.

12. The method according to claim 11, characterized in that Merging the volume mesh sub-models corresponding to the multiple surface mesh sub-models to obtain the volume mesh model of the target entity includes: Merging the volume mesh sub-models corresponding to the multiple surface mesh sub-models to obtain a first volume mesh model; the first volume mesh model includes a plurality of first three-dimensional meshes, each of which includes at least one first plane, and the first plane is located on the surface of the first volume mesh model; According to the plane meshes in the second surface mesh model, the position of the first plane in the first volume mesh model is adjusted to obtain the volume mesh model of the target entity; each plane mesh corresponds to a first plane one by one.

13. The method according to claim 12, characterized in that The step of adjusting the position of the first plane in the first volume mesh model according to the plane mesh in the second surface mesh model to obtain the volume mesh model of the target entity includes: According to the plane mesh in the second surface mesh model, adjusting the position of the first plane in the first volume mesh model to obtain a second volume mesh model; Determining reference sizes of part or all of the three-dimensional grids in the second volume grid model according to the reference sizes of part or all of the plane grids; The three-dimensional mesh in the second volume mesh model is re-determined according to the reference size of the part or all of the three-dimensional meshes to obtain the volume mesh model of the target entity.

14. The method according to any one of claims 1 to 13, characterized in that: The first surface mesh model also includes material information of the plane mesh; After obtaining the volume mesh model of the target entity according to the plurality of nodes and the nodes of the second surface mesh model, the method further comprises: According to the positional relationship between the plane mesh and the three-dimensional mesh, material information of each three-dimensional mesh in the volume mesh model of the target entity is determined.

15. The method according to any one of claims 1 to 13, characterized in that: The step of obtaining a first surface mesh model of a target entity comprises: obtaining simulation parameters of the target entity after executing process simulation, and determining the first surface mesh model according to the simulation parameters; or, The first surface mesh model is determined according to the CAD modeling parameters of the target entity.

16. A modeling device, characterized in that: The method comprises modules for executing the method as claimed in any one of claims 1 to 15.

17. A modeling device, characterized in that: comprising a processor and a memory, wherein the memory stores a computer program; The processor is configured to read the computer program stored in the memory to execute the method according to any one of claims 1 to 15.

18. A computer-readable storage medium, characterized in that: Computer executable instructions are stored, and the computer executable instructions are used to make a computer execute the method according to any one of claims 1 to 15.

19. A computer program product, characterized in that The method comprises computer executable instructions, wherein the computer executable instructions are used to make a computer execute the method according to any one of claims 1 to 15.

20. A chip system, characterized in that: It comprises a processor and an interface, wherein the processor is used to call and execute instructions from the interface, so that the chip system implements the method as claimed in any one of claims 1 to 15.