Mesh generation method, device, equipment, medium and product
By analyzing the region boundaries and internal closed regions of the geometric model, a suitable mesh generation strategy is determined, which solves the problem of insufficient quality of quadrilateral mesh generation and improves the accuracy and efficiency of simulation analysis.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-01-23
- Publication Date
- 2026-07-24
AI Technical Summary
In existing technologies, it is difficult to guarantee the quality of mesh generation when using quadrilateral meshes to partition the geometric model, which affects the effectiveness of simulation analysis.
By analyzing the region boundaries and the number of enclosed regions within the geometric model, a matching partitioning strategy is determined. Mesh elements are generated using a mesh generation method, and the quality of the mesh elements is optimized by combining the standard discrete number and detection information.
It improves the quality of mesh cells and the accuracy and efficiency of simulation analysis, reduces local errors, and enhances the stability and reliability of simulation results.
Smart Images

Figure CN122452202A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a grid generation method, apparatus, device, medium, and product. Background Technology
[0002] In the field of computer-aided engineering (CAE) simulation, mesh generation is an important step, which plays a key role in transforming a continuously represented geometric model into discrete elements with finite degrees of freedom. The quality of the mesh directly affects the accuracy of the simulation results and the computational efficiency.
[0003] In related technologies, widely used mesh forms include triangular meshes and quadrilateral meshes. Triangular meshes can be applied to a variety of complex geometric models. Compared with the mesh generation method of performing mesh subdivision on the geometric model using triangular meshes to obtain triangular mesh elements, the mesh generation method of performing mesh subdivision on the geometric model using quadrilateral meshes to obtain quadrilateral mesh elements has higher solution accuracy and helps to obtain more accurate simulation results.
[0004] However, even when using quadrilateral meshes to partition the geometric model, the complex structure of the geometric model can easily lead to problems in ensuring the quality of mesh partitioning, thus affecting the simulation effect of simulation analysis based on mesh elements. Summary of the Invention
[0005] This application provides a mesh generation method, apparatus, device, medium, and product to solve the problems provided by related technologies. The technical solution is as follows.
[0006] Firstly, a mesh generation method is provided, comprising: acquiring a geometric model, the geometric model including a first model surface, the first model surface being a two-dimensional closed surface; determining the region boundary of the closed region included by the first model surface, the closed region being a closed part in the first model surface; determining a partitioning strategy corresponding to the first model surface, the partitioning strategy being the strategy adopted when meshing the first model surface under the constraint of the region boundary; and using the partitioning strategy to partition the first model surface to obtain at least two first mesh elements, the at least two first mesh elements being used to perform simulation analysis on the first model surface.
[0007] For any first model surface included in the geometric model, the meshing strategy corresponding to the first model surface is determined by the region boundary of the closed region included by the first model surface. Under the constraint of the region boundary, the first model surface is meshed to obtain at least two first mesh elements. By analyzing the region boundary that characterizes the geometric features of the model surface, the meshing strategy used when performing meshing on the model surface is analyzed. Thus, a matching meshing strategy is used to perform meshing processing on the corresponding model surface in a targeted manner, improving the element quality of the mesh elements obtained by meshing. This allows for local mesh refinement processing while performing global processing on the model surface, ensuring the stability and controllability of mesh element meshing. Subsequently, it helps to perform more accurate simulation analysis on the model surface through mesh elements, improving the accuracy of the analysis results and the realism of the simulation effect, and also helping to improve the analysis efficiency of simulation analysis based on mesh elements.
[0008] In one optional implementation, the number of first inner rings is obtained, which is used to characterize the number of internal closed regions in the first model surface. The internal closed regions are closed regions located within the first model surface. Based on the number of first inner rings and the region boundaries, the first model surface is analyzed to obtain the partitioning strategy corresponding to the first model surface.
[0009] In determining the partitioning strategy for the first model surface, this application not only analyzes the regional boundaries of closed regions within the first model surface but also considers the number of first inner loops, which characterizes the number of internal closed regions within the first model surface. This allows for fine-grained determination of the partitioning strategy used for model surface subdivision, avoiding the problem of poor model surface segmentation accuracy caused by a large number of first inner loops (i.e., a large number of internal closed regions within the first model surface). By pre-considering the number of inner loops during strategy determination, the accuracy of strategy determination is improved, effectively reducing the negative impact of internal closed regions on segmentation accuracy and enhancing the overall accuracy and efficiency of the segmentation strategy.
[0010] In an optional implementation, when the number of the first inner rings indicates that the first model surface includes at least one internal closed region, the region edges corresponding to at least two closed regions of the first model surface are obtained, and the region edges are boundary line segments that make up the region boundaries; based on the included angle between the region edges, the vertex type of the region vertices connecting the region edges is determined, and the included angle is used to characterize the included angle formed by two adjacent region edges; when the vertex types of the region vertices corresponding to at least two closed regions meet the type conditions, the first partitioning strategy corresponding to the type conditions is used as the partitioning strategy corresponding to the first model surface.
[0011] In the case of an internal closed region on the first model surface, this application analyzes the vertex type of the region vertices by using the included angle between the edges of the region indicated by the region boundary. The vertex type can reflect the topological structure, geometric features, boundary information, and complexity of the closed region, thus facilitating a more comprehensive analysis of the region state, including at least two closed regions, including the external and internal closed regions, by combining the number of the first inner loops and the region boundary, thereby improving the accuracy of the region analysis. When the vertex type meets the type condition, the first partitioning strategy is used to divide multiple internal closed regions before performing the meshing process, thereby achieving a more refined and easier meshing process while avoiding the omission of internal closed regions.
[0012] In one optional implementation, the included angle between the edges of regions within the same internal closed region is determined; based on the included angle, a classification rule is used to determine the vertex type corresponding to the region vertex, and adjacent two region edges are connected through the region vertex.
[0013] This application analyzes the angles between edges within a closed region to determine the vertex type of the region's vertices using pre-defined classification rules. The vertex type reflects information such as the closed region's topology, geometric features, boundary information, and complexity, which helps to provide a more comprehensive and detailed understanding of the closed region's state, such as whether it is a smooth region, an irregular region, or a porous region. The closed region state within the first model plane can help determine a more suitable partitioning strategy for the first model plane, improving the accuracy of strategy determination and enhancing the understanding of the topology. Even in the presence of complex closed regions, efficient and accurate analysis can be performed, improving the overall analysis and decision-making quality of the partitioning strategy.
[0014] In an optional implementation, if the first inner ring quantity indicates that the first model surface includes at least two internal closed regions, the region edges corresponding to the at least two closed regions are obtained respectively, and the at least two closed regions include at least one internal closed region and an external closed region corresponding to the first model surface; if the vertex type of the region vertices corresponding to the at least two closed regions does not meet the type condition, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface, and the second partitioning strategy is used to partition the first model surface using a grid method.
[0015] This application introduces a second partitioning strategy for the first model surface when the vertex type of a region does not meet the type conditions. This process indicates that when there are many internally closed regions but the region boundary analysis is relatively easy, the second partitioning strategy can be used to perform a more efficient meshing process on the first model surface using a raster method, thereby improving the regularity of the mesh cells obtained from the model surface meshing.
[0016] In an optional implementation, if the first inner ring quantity indicates that the first model surface includes an internal closed region, the region edges corresponding to the two closed regions of the first model surface are obtained, and the two closed regions include an internal closed region and an external closed region corresponding to the first model surface; if the vertex types of the region vertices corresponding to the two closed regions do not meet the type condition, the first outer ring information is obtained, and the first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface; if the first outer ring information and the first inner ring information meet the nesting condition, the third partitioning strategy is used as the partitioning strategy corresponding to the first model surface, and the third partitioning strategy is used to perform subdivision processing on the model surface through a reference template; or, if the first outer ring information and the first inner ring information do not meet the nesting condition, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface, and the second partitioning strategy is used to partition the first model surface using a raster method.
[0017] This application describes a method for mesh generation when an internally enclosed region exists. It involves comprehensively analyzing the vertex types of the vertices corresponding to both the internal and external enclosed regions. If the type conditions are not met, a third or second partitioning strategy is selected based on the nesting relationship between the first outer ring information and the first inner ring information. This process indicates that when there are few internally enclosed regions and the region boundary analysis is relatively simple, a third partitioning strategy can be selected to perform a more efficient and adaptable mesh generation process if the nesting template is met; alternatively, a second partitioning strategy can be selected if the nesting template is not met, thus improving the flexibility of the mesh generation process.
[0018] In an optional implementation, if the number of first inner rings indicates that the first model surface does not include an internal closed region, first outer ring information is obtained from the region boundary. The first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface. The surface shape corresponding to the first model surface is determined based on the first outer ring information. If the surface shape matches the reference template, a third partitioning strategy corresponding to the surface shape is obtained as the partitioning strategy corresponding to the first model surface. The third partitioning strategy is used to perform subdivision processing on the model surface through the reference template.
[0019] This application describes a meshing strategy that can be obtained by matching the surface shape indicated by the first outer ring information with a reference template when there is no internal closed region within the first model surface. Specifically, when the surface shape matches the reference template, a third meshing strategy corresponding to the surface shape is obtained. This process indicates that when there is no internal closed region and the model surface conforms to the reference template, a more efficient and adaptable meshing process can be performed using the third meshing strategy. This ensures the shape analysis matching during meshing of the first model surface, thereby improving the meshing accuracy of the first model surface.
[0020] In one optional implementation, if the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information meets the type condition, a first partitioning strategy corresponding to the reference template is obtained as the partitioning strategy corresponding to the first model face; or, if the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information does not meet the type condition, a fourth partitioning strategy is obtained as the partitioning strategy corresponding to the first model face, wherein the fourth partitioning strategy is used to partition the first model face with a triangular mesh and then merge at least one triangular mesh unit.
[0021] This application describes a method for determining whether to use a first or fourth partitioning strategy when there is no internal closed region within the first model surface and the surface shape indicated by the first outer ring information does not match the reference template. This strategy can be chosen based on the different conformity between vertex types and type conditions. This process indicates that, when the model surface does not conform to the reference template and the analysis of the region boundary (which is the boundary of the model surface) is difficult, the first partitioning strategy can be used to achieve a refined modular surface subdivision process, greatly avoiding the omission of detailed information. Alternatively, when the model surface does not conform to the reference template and the region boundary is relatively smooth, the fourth partitioning strategy can be used to achieve a refined modular surface subdivision and merging process using triangular meshes, thus simplifying the operation process while avoiding the omission of detailed information.
[0022] In one optional implementation, multiple model geometric edges corresponding to the geometric model are determined, and the first model surface includes at least one of the multiple model geometric edges; the normalized discrete numbers corresponding to the multiple model geometric edges are obtained, and the normalized discrete numbers are used to constrain the number of mesh cells generated during mesh partitioning; based on the normalized discrete numbers corresponding to the multiple model geometric edges, the first model surface is partitioned using a partitioning strategy to obtain at least two first mesh cells.
[0023] This application describes the number of mesh cells generated when partitioning the first model surface using a partitioning strategy with discrete number constraints. By standardizing the discrete number partitioning of the model surface, the efficiency of the partitioning process is significantly improved, and the consistency of the quality of the generated mesh cells is also helped to reduce the complexity of model surface analysis and simplify subsequent processing. In addition, standardizing the discrete number also helps to enhance controllability and facilitates the subsequent execution of multiple simulation analysis processes on the first model surface using at least two first mesh cells, thereby expanding the analysis application scenarios and improving the practical significance of the analysis.
[0024] In one optional implementation, an initial discrete number is determined for each of the multiple model geometric edges. The initial discrete number is used to characterize the number of segments of the model geometric edges when performing mesh generation on the geometric model. With the goal of at least two of the multiple model geometric edges sharing the same discrete number, the initial discrete numbers for each of the multiple model geometric edges are adjusted to obtain the normalized discrete numbers for each of the multiple model geometric edges.
[0025] This application describes the process of adjusting the initial discrete numbers to obtain standardized discrete numbers. This allows at least two model geometric edges to share discrete numbers, improving the consistency of mesh element partitioning, enhancing the connectivity and compatibility between multiple model faces of the geometric model, optimizing mesh partitioning results and mesh analysis efficiency, simplifying mesh generation and processing, improving the adaptability and flexibility of mesh elements, and ensuring computational accuracy and stability.
[0026] In one optional implementation, the cell partitioning quality corresponding to at least two first mesh cells is detected to obtain detection information corresponding to at least two first mesh cells. The detection information is used to characterize the partitioning quality of the first mesh cells relative to the first model surface. Based on the detection information, at least one of the at least two first mesh cells is adjusted to obtain a first adjustment surface corresponding to the first model surface. The first adjustment surface is used to perform simulation analysis on the geometric model.
[0027] This application describes the detection of generated mesh elements and the adjustment of at least one mesh element. This process helps to avoid the impact of poor-quality, irregular mesh elements on the simulation analysis of model surfaces. By optimizing mesh elements, the numerical stability of the mesh elements can be improved, avoiding problems such as the accumulation of local errors and the propagation of computational errors. This facilitates more efficient and accurate simulation analysis through the mesh elements in the first adjusted surface, thereby improving the stability and reliability of the simulation process.
[0028] In one optional implementation, at least one triangle removal path is generated based on the detection information. The triangle removal path is used to remove triangle mesh elements from at least two first mesh elements. At least one triangle mesh element is removed from at least two first mesh elements based on the triangle removal path to obtain a first adjustment surface corresponding to the first model surface.
[0029] This application describes the removal of triangular mesh elements using a triangle removal path. Removing triangular mesh elements based on detection information through a triangle removal path helps optimize mesh quality. During quadrilateral mesh generation, it effectively reduces distorted triangular mesh elements, significantly improving the accuracy and reliability of numerical simulations. This ensures more regular and stable mesh elements, thereby enhancing the stability and efficiency of simulation analysis, and increasing the adaptability and flexibility of mesh elements, ultimately improving subsequent simulation results and computational performance.
[0030] In an optional implementation, at least one singularity removal path is generated based on the detection information. The singularity removal path is used to remove at least one singularity corresponding to at least two first mesh cells. The singularity is a mesh vertex whose number of connected quadrilateral mesh cells is not a reference value. At least one singularity is removed from at least two first mesh cells based on the singularity removal path to obtain a first adjustment surface corresponding to the first model surface.
[0031] This application describes the removal of singularities via a singularity removal path. The process of removing singularities optimizes the generation quality of mesh elements, improving the stability, accuracy, and efficiency of numerical simulations. Removing singularities helps avoid mesh element distortion, improves computational stability, and ensures the realism of the physical model and the accuracy of the results. Simultaneously, this process simplifies mesh element generation and optimization, facilitating the smooth progress of subsequent simulation analysis.
[0032] Secondly, a mesh generation apparatus is provided, the apparatus comprising:
[0033] The acquisition module is used to acquire the geometric model, which includes a first model surface, which is a two-dimensional closed surface.
[0034] The determination module is used to determine the region boundary of the closed region included in the first model surface, where the closed region is the closed part in the first model surface;
[0035] The determination module is also used to determine the partitioning strategy corresponding to the first model surface. The partitioning strategy is the strategy adopted when partitioning the first model surface by mesh under the constraint of the region boundary.
[0036] The partitioning module is used to partition the first model surface using a partitioning strategy to obtain at least two first mesh elements, which are used to perform simulation analysis on the first model surface.
[0037] In an optional implementation, the determining module is further configured to obtain the number of first inner rings, which is used to characterize the number of internal closed regions in the first model surface. The internal closed regions are closed regions located within the first model surface. Based on the number of first inner rings and the region boundaries, the first model surface is analyzed to obtain a partitioning strategy corresponding to the first model surface.
[0038] In an optional implementation, the determining module is further configured to, when the first inner ring quantity indicates that the first model surface includes at least one internal closed region, obtain the region edges corresponding to at least two closed regions of the first model surface, where the region edges are boundary line segments that make up the region boundaries; determine the vertex type of the region vertices connecting the region edges based on the edge angle between the region edges, where the edge angle is used to characterize the angle formed by two adjacent region edges; and, when the vertex types of the region vertices corresponding to at least two closed regions meet the type conditions, use the first partitioning strategy corresponding to the type conditions as the partitioning strategy corresponding to the first model surface.
[0039] In an optional implementation, the determining module is further configured to determine the included angle between the edges of regions within the same internal enclosed region; based on the included angle, a classification rule is used to determine the vertex type corresponding to the region vertex, and adjacent two region edges are connected through the region vertex.
[0040] In an optional implementation, the determining module is further configured to, when the first inner ring quantity indicates that the first model surface includes at least two internal closed regions, obtain the region edges corresponding to the at least two closed regions respectively, wherein the at least two closed regions include at least one internal closed region and an external closed region corresponding to the first model surface; and when the vertex type of the region vertices corresponding to the at least two closed regions does not meet the type condition, use the second partitioning strategy as the partitioning strategy corresponding to the first model surface, wherein the second partitioning strategy is used to partition the first model surface using a grid method.
[0041] In an optional implementation, the determining module is further configured to: when the first inner ring quantity indicates that the first model surface includes an internal closed region, obtain the region edges corresponding to the two closed regions of the first model surface, wherein the two closed regions include an internal closed region and an external closed region corresponding to the first model surface; when the vertex types of the region vertices corresponding to the two closed regions do not meet the type condition, obtain the first outer ring information, which is used to characterize the boundary condition of the external closed region corresponding to the first model surface; when the first outer ring information and the first inner ring information meet the nesting condition, use the third partitioning strategy as the partitioning strategy corresponding to the first model surface, which is used to perform subdivision processing on the model surface using a reference template; or, when the first outer ring information and the first inner ring information do not meet the nesting condition, use the second partitioning strategy as the partitioning strategy corresponding to the first model surface, which is used to partition the first model surface using a raster method.
[0042] In an optional implementation, the determining module is further configured to: obtain first outer ring information from the region boundary when the first inner ring quantity indicates that the first model surface does not include an internal closed region; the first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface; determine the surface shape corresponding to the first model surface based on the first outer ring information; and, if the surface shape matches the reference template, obtain a third partitioning strategy corresponding to the surface shape as the partitioning strategy corresponding to the first model surface; the third partitioning strategy is used to perform subdivision processing on the model surface through the reference template.
[0043] In an optional implementation, the determining module is further configured to, when the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information meets the type condition, obtain a first partitioning strategy corresponding to the reference template as the partitioning strategy corresponding to the first model face; or, when the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information does not meet the type condition, obtain a fourth partitioning strategy as the partitioning strategy corresponding to the first model face, wherein the fourth partitioning strategy is used to divide the first model face with a triangular mesh and then merge at least one triangular mesh unit.
[0044] In an optional implementation, the partitioning module is further configured to determine multiple model geometric edges corresponding to the geometric model, wherein the first model surface includes at least one of the multiple model geometric edges; obtain the normalized discrete number corresponding to each of the multiple model geometric edges, wherein the normalized discrete number is used to constrain the number of mesh cells generated during mesh partitioning; and partition the first model surface based on the normalized discrete number corresponding to each of the multiple model geometric edges, thereby obtaining at least two first mesh cells.
[0045] In an optional implementation, the partitioning module is further used to determine the initial discrete number corresponding to each of the multiple model geometric edges. The initial discrete number is used to characterize the number of partitions of the model geometric edges when performing mesh generation on the geometric model. With the goal of at least two of the multiple model geometric edges sharing the same discrete number, the initial discrete number corresponding to each of the multiple model geometric edges is adjusted to obtain the normalized discrete number corresponding to each of the multiple model geometric edges.
[0046] In an optional implementation, the subdivision module is further configured to detect the cell subdivision quality corresponding to at least two first mesh cells respectively, and obtain detection information corresponding to at least two first mesh cells respectively. The detection information is used to characterize the subdivision quality of the first mesh cells relative to the first model surface. Based on the detection information, at least one of the at least two first mesh cells is adjusted to obtain a first adjustment surface corresponding to the first model surface. The first adjustment surface is used to perform simulation analysis on the geometric model.
[0047] In an optional implementation, the subdivision module is further configured to generate at least one triangle removal path based on the detection information, the triangle removal path being used to remove triangular mesh elements from at least two first mesh elements; and to remove at least one triangular mesh element from at least two first mesh elements based on the triangle removal path to obtain a first adjustment surface corresponding to the first model surface.
[0048] In an optional implementation, the subdivision module is further configured to generate at least one singularity removal path based on the detection information. The singularity removal path is used to remove at least one singularity corresponding to at least two first mesh cells from at least two first mesh cells. The singularity is a mesh vertex whose number of connected quadrilateral mesh cells is not a reference value. Based on the singularity removal path, at least one singularity is removed from at least two first mesh cells to obtain a first adjustment surface corresponding to the first model surface.
[0049] Thirdly, a computer device is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, and the processor loads and executes the instruction to implement the mesh generation method provided by the first aspect or any alternative embodiment of the first aspect described above.
[0050] Fourthly, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, the instruction being loaded and executed by a processor to implement the mesh generation method provided as described in the first aspect or any alternative embodiment of the first aspect.
[0051] Fifthly, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the mesh generation method provided in the first aspect or any optional embodiment of the first aspect.
[0052] It should be understood that the mesh generation device mentioned in the second aspect above can be the device mentioned in the third aspect. The beneficial effects achieved by the technical solutions and corresponding possible implementations of the second to fifth aspects of this application can be found in the above description of the technical effects of the first aspect and its corresponding possible implementations, and will not be repeated here. Attached Figure Description
[0053] Figure 1 This is a structural block diagram of a generation system provided in an embodiment of this application;
[0054] Figure 2 This is a flowchart illustrating a mesh generation method provided in an illustrative embodiment of this application;
[0055] Figure 3 This is a flowchart of a mesh generation method provided in another illustrative embodiment of this application;
[0056] Figure 4 This is a flowchart illustrating the determination of a partitioning strategy provided in an illustrative embodiment of this application;
[0057] Figure 5 This is a flowchart illustrating another embodiment of the mesh generation method provided in this application;
[0058] Figure 6 This is a schematic diagram of the initial discrete number provided in an illustrative embodiment of this application;
[0059] Figure 7 This is a schematic diagram of a canonical discrete number provided in an illustrative embodiment of this application;
[0060] Figure 8 This is a flowchart illustrating another embodiment of the mesh generation method provided in this application;
[0061] Figure 9 This is a schematic diagram of a contraction path provided in an illustrative embodiment of this application;
[0062] Figure 10 This is a schematic diagram of a classification path provided in an illustrative embodiment of this application;
[0063] Figure 11This is a schematic diagram of a flipping path provided in an illustrative embodiment of this application;
[0064] Figure 12 This is a schematic diagram of a single contraction path triangle removal process provided by an illustrative embodiment of this application;
[0065] Figure 13 This is a schematic diagram of the triangle removal process for a circular classification path provided in an illustrative embodiment of this application;
[0066] Figure 14 This is a schematic diagram of the process for removing a flipped path triangle, provided by an illustrative embodiment of this application;
[0067] Figure 15 This is a schematic diagram illustrating a processing comparison according to an embodiment of this application;
[0068] Figure 16 This is a flowchart of a triangular element removal algorithm provided in an illustrative embodiment of this application;
[0069] Figure 17 This is a schematic diagram of a local optimization method provided in an illustrative embodiment of this application;
[0070] Figure 18 This is a schematic diagram of a local regeneration method provided in an illustrative embodiment of this application;
[0071] Figure 19 This is a schematic flowchart of a computer-aided engineering simulation provided in an illustrative embodiment of this application;
[0072] Figure 20 This is a schematic diagram illustrating the mesh generation and mesh optimization stages in the related technology provided by an illustrative embodiment of this application to obtain a quadrilateral mesh;
[0073] Figure 21 This is a schematic diagram of the system architecture of a mesh generation method provided in an illustrative embodiment of this application;
[0074] Figure 22 This is a schematic diagram illustrating an embodiment of the mesh generation process provided in this application, which may include improvements to the mesh partitioning stage and the mesh optimization stage.
[0075] Figure 23 This is a structural block diagram of a mesh generation apparatus provided in an exemplary embodiment of this application;
[0076] Figure 24 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0077] Figure 25This is a schematic diagram of the structure of another computing device provided in an embodiment of this application. Detailed Implementation
[0078] The terminology used in the implementation section of this application is for the purpose of explaining specific embodiments of this application only, and is not intended to limit this application.
[0079] Mesh generation is an indispensable part of many scientific and engineering fields. Its main purpose is to discretize a continuous physical space (usually three-dimensional space or a two-dimensional plane) into a finite number of mesh elements, thereby enabling efficient computational solutions to mathematical models. The main reasons for mesh generation include: in fluid dynamics, structural mechanics, and electromagnetic fields, complex geometric models often require numerical solutions; for computational convenience, these models need to be divided into small, discrete mesh elements to improve analysis efficiency. Alternatively, in fluid flow, boundary conditions (such as walls or object surfaces) have a significant impact on the flow; to accurately describe these boundaries, mesh element generation usually needs to be customized based on the corresponding geometric model, ensuring that the computational results correctly reflect the influence of boundary conditions on physical phenomena. Therefore, the purpose of mesh generation is to transform the continuity of the physical world into a discrete form that computers can process, improving the accuracy, efficiency, and stability of numerical solutions through mesh generation. Reasonable mesh generation and optimization are key factors for successful numerical simulations.
[0080] In related technologies, widely used mesh types include triangular meshes and quadrilateral meshes. Quadrilateral meshes, which generate meshes by meshing the geometric model to obtain quadrilateral mesh elements, offer higher solution accuracy compared to meshes generated using triangular meshes, contributing to more precise simulation results. However, even when using quadrilateral meshes to mesh the geometric model, the complexity of the geometric model can easily lead to difficulties in ensuring mesh quality, thus affecting the simulation performance of mesh-based analysis.
[0081] In this application embodiment, a mesh generation method is introduced, which can analyze the meshing strategy used when performing meshing on the model surface by characterizing the region boundary of the model surface geometric features, and then use a matching meshing strategy to perform meshing processing on the corresponding model surface in a targeted manner, thereby improving the element quality of the mesh cells obtained by meshing.
[0082] This method can be applied to various scenarios that perform analysis based on geometric models, such as styling design, architectural design, model simulation, physical analysis (e.g., computational fluid dynamics, finite element analysis), computer graphics, geographic information systems, medical image processing, weather simulation, robot path planning, and disaster simulation. It is not limited to any particular scenario here.
[0083] To illustrate, taking the application of this method in the field of styling design as an example, for any input geometric model, the region boundaries of the closed areas corresponding to multiple model faces are used to determine the partitioning strategies corresponding to multiple model faces. Then, the partitioning strategies corresponding to the model faces are used to perform subdivision processing on the model faces to obtain the mesh units of the model faces. The mesh units can be used to perform texture analysis on the model faces. By combining the mesh units corresponding to multiple model faces, the overall texture of the geometric model is analyzed, and the multiple mesh units are used as the surface texture information for styling design.
[0084] To illustrate, taking the application of this method in the field of architectural design as an example, for any input building shape (geometric model), the region boundaries of the closed areas corresponding to multiple model faces are used to determine the partitioning strategies corresponding to multiple model faces. Then, the partitioning strategies corresponding to the model faces are used to perform subdivision processing on the model faces to obtain the mesh units of the model faces. The layout analysis of the model faces can be performed through the mesh units. The overall layout of the geometric model is analyzed by combining the mesh units corresponding to multiple model faces, and the multiple mesh units are used as layout schemes for laying glass, tiles, etc.
[0085] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of this user data must comply with the relevant laws, regulations, and standards of the relevant regions.
[0086] The generation system involved in the embodiments of this application will be described. The mesh generation method provided in the embodiments of this application can be applied to at least one implementation of various computing devices such as terminals, servers, supercomputers, cluster computing devices, quantum computers, switches, routers, and control devices. Optionally, the mesh generation method is described using the interaction between a terminal and a server.
[0087] This is illustrative; please refer to it. Figure 1 The generation system involves a terminal 110 and a server 120, which are connected via a communication network 130.
[0088] In some embodiments, the terminal 110 sends the geometric model to the server 120 through the communication network 130. The server 120 receives the geometric model and performs an analysis process on the model surface of the geometric model.
[0089] The geometric model includes a first model surface, which is a two-dimensional closed surface. Schematic, the geometric model may be a three-dimensional model; or, a geometric model may be a model used to represent the surface information of a three-dimensional model, etc.
[0090] Schematic illustration: A geometric model includes at least one model facet, where the first model facet is any one of the at least one model facets. For example, if the geometric model is a spherical model, when the model is unfolded, the spherical model includes one model facet called a spherical facet; when the model is not unfolded, the spherical model can also be understood as including multiple differential faces (such as multiple triangular faces). Alternatively, if the geometric model is a rectangular model, when the model is not unfolded, the rectangular model includes six model faces. Typically, when performing analysis on a 3D geometric model, the analysis process is carried out in the unwound state.
[0091] Optionally, the model surfaces of the geometric model include at least one of two-dimensional closed planes and two-dimensional closed curved surfaces. When the geometric model is analyzed without unfolding and the model surfaces can be realized as two-dimensional closed curved surfaces, the geometric model includes at least one model surface (a sphere), in which case the geometric model is a spherical model; or, when the geometric model is analyzed without unfolding and the model surfaces are realized as two-dimensional closed planes, the geometric model includes at least four model surfaces (all planes), in which case the geometric model is a tetrahedral model; or, when the geometric model is analyzed without unfolding and the model surfaces include two-dimensional closed curved surfaces and two-dimensional closed planes, the geometric model includes at least two model surfaces (one curved surface and one plane), in which case the geometric model may be a hemispherical model, etc., and is not limited here.
[0092] For a two-dimensional closed plane model surface, meshing will generate a series of two-dimensional planar mesh elements; for a two-dimensional closed curved surface model surface, meshing will generate a series of curved surface mesh elements. These mesh elements can be approximated as planes locally, but still retain the shape of a curved surface overall. For example... Figure 1 As shown, the geometric model is a cube model 101 as an example.
[0093] In some embodiments, server 120 determines the region boundary of the closed region included in the first model surface.
[0094] The closed region is the closed portion of the first model surface. Illustratively, the closed region includes at least an outer closed region describing the outer boundary of the first model surface. This outer closed region can characterize the shape of the first model surface and can also be simply referred to as the outer ring. For example, the first model surface may be a square plane, and the outer closed region may be a square area indicated by the square plane; or, the first model surface may be an irregular polygonal plane, and the outer closed region may be an irregular area indicated by the irregular polygonal plane, etc., without limitation here.
[0095] When the interior of the first model surface also includes a closed portion, the closed region of the first model surface also includes an internal closed region. The internal closed region represents the boundary of the closed portion inside the first model surface, and can also be simply referred to as the inner ring. For example: if the first model surface is a square plane, and its interior also includes a closed circular hole, then the internal closed region is a small circular region (such as...). Figure 1 As shown, taking a cube model 101 as an example, the outer closed region is a square region and the inner closed region is a closed small circular region; or, the first model surface is an irregular polygonal plane, which also includes a closed square hole inside, then the inner closed region is a small square region, etc., without limitation here.
[0096] Schematic, at least one closed region, including an external closed region, is determined from the first model surface. Then, the region boundaries corresponding to the at least one closed region are determined. The region boundaries describe the boundary information of the closed region and are the outline or boundary lines surrounding the closed region, defining the external shape and extent of the closed region.
[0097] For example, when the first model surface is a square plane including a circular hole, the outer closed area determined from the first model surface is the square area indicated by the square plane, and an inner closed area is also determined from the first model surface as a small circular area. That is, the closed area of the first model surface includes the square area and the small circular area; therefore, the boundary of the closed area includes the square boundary of the square area and the small circular boundary of the small circular area.
[0098] In some embodiments, server 120 determines a partitioning strategy corresponding to the first model surface.
[0099] The partitioning strategy is the strategy adopted when dividing the first model surface by mesh under the constraint of the region boundary.
[0100] In a schematic manner, the first model surface is analyzed with the region boundary as a constraint to determine the partitioning strategy corresponding to the first model surface. Optionally, multiple reference partitioning strategies are pre-defined, and the appropriate reference partitioning strategy for the first model surface is determined from the multiple reference partitioning strategies by using the region boundary corresponding to at least one closed region.
[0101] For example, among the pre-defined multiple reference partitioning strategies, when model surface 1 has a closed region (i.e., an outer closed region) and the boundary of the closed region is shape a (such as a circle), reference partitioning strategy A is used as the partitioning strategy for model surface 1; or, when model surface 2 has an outer closed region and an inner closed region, and the boundaries of both the outer closed region and the inner closed region are shape b (such as a square), reference partitioning strategy B is used as the partitioning strategy for model surface 2, etc., without limitation here.
[0102] In some embodiments, the server 120 uses a partitioning strategy to divide the first model surface to obtain at least two first mesh units.
[0103] Indicatively, after determining the partitioning strategy corresponding to the first model surface, the first model surface is subjected to meshing energy processing using the partitioning strategy to obtain at least two first mesh elements, that is: at least two first mesh elements are unit elements that make up the first model surface.
[0104] The meshing strategy limits the mesh information (such as mesh size information, mesh reuse information, etc.) for performing meshing on the first model surface. Therefore, by using the meshing strategy to mesh the first model surface, at least two first mesh elements that conform to the meshing strategy can be obtained. Among them, at least two first mesh elements are used to perform simulation analysis on the first model surface.
[0105] Indicatively, each first mesh element obtained by subdivision reflects some physical characteristics of the first model surface, such as stress and temperature. Combining at least two first mesh elements allows for the analysis of stress and temperature changes from a global perspective of the first model surface. No limitations are imposed on the simulation analysis here.
[0106] Optionally, the server performs simulation analysis on the first model surface based on at least two first mesh cells to obtain the model surface analysis results.
[0107] In a schematic manner, the first model surface is any one of the multiple model surfaces included in the geometric model. For each of the multiple model surfaces, the aforementioned method is used to determine the corresponding meshing strategy. This strategy is then used to perform mesh generation on the corresponding model surfaces, resulting in mesh elements corresponding to each of the multiple model surfaces. Subsequently, simulation analysis is performed on the corresponding model surfaces using these mesh elements, yielding analysis results for each of the multiple model surfaces. These analysis results are then combined to obtain the model analysis results corresponding to the geometric model. Alternatively, simulation analysis can be performed by combining the mesh elements corresponding to each of the multiple model surfaces (e.g., performing temperature conduction analysis to determine the impact of a temperature applied from a certain point on the mesh elements corresponding to each model surface of the entire geometric model), thus obtaining the model analysis results corresponding to the geometric model. This is not limited to any particular approach.
[0108] In some embodiments, the server 120 feeds back the model surface analysis results and / or model analysis results corresponding to at least one model surface to the terminal 110 through the communication network 130, so that the terminal 110 can render and display the model surface analysis results and / or model analysis results on the interface to determine the simulation analysis status of the geometric model.
[0109] It is worth noting that the aforementioned terminals include, but are not limited to, mobile terminals such as mobile phones, tablets, portable laptops, smart voice interaction devices, smart home appliances, and in-vehicle terminals, and can also be desktop computers, etc.; the aforementioned servers can be independent physical servers, or server clusters or distributed systems consisting of at least two physical servers, or cloud servers.
[0110] Figure 2 This is a flowchart of a mesh generation method provided in an exemplary embodiment of this application. Taking the execution of this method by a computing device as an example, it describes how a corresponding meshing strategy is determined for any first model face of the geometric model to partition the first model face. This process can be summarized as the mesh partitioning stage of the mesh generation process. Figure 2 As shown, the method includes the following steps 210 to 240.
[0111] Step 210: Obtain the geometric model.
[0112] Optionally, when focusing on the complete three-dimensional structure of an object, the geometric model can be the three-dimensional model itself. In this case, the three-dimensional model usually represents not only the surface information of the model, but also the volume information, internal structure and other information. Alternatively, when focusing on the external surface morphology of an object, the geometric model can be a model used to represent the solid surface information of the three-dimensional model. In this case, the focus is on surface modeling and analysis.
[0113] In a schematic sense, a geometric model is a mathematical and physical model used to represent the shape, structure, and spatial characteristics of an object. It can describe the shape information such as the shape and size of an object or a part of an object by using geometric figures, graphics, mathematical equations, etc. Geometric models are a fundamental tool in various engineering, scientific, design, and computing fields, and are widely used in computer graphics, computer-aided design (CAD), computer-aided engineering, physical simulation, and other fields.
[0114] Optionally, for a two-dimensional model, the geometric model describes the shape and structure on a two-dimensional plane, having two dimensions: length and width, and typically involving geometric shapes such as lines, circles, ellipses, and polygons. For a three-dimensional model, the geometric model describes objects in space, having three dimensions: length, width, and height, and can describe the shape and other information of objects in a very complex way. Geometric models include cubes, spheres, cylinders, cones, polyhedra, irregular models, etc., and are not limited here.
[0115] In some embodiments, geometric models are created using computer-aided design software. For example, users can construct complex three-dimensional geometries using tools such as extrusion, rotation, and Boolean operations. The geometric models can be exported in various file formats, such as object file format (OBJ) and standard triangle language (STL), etc., without limitation here.
[0116] In some embodiments, geometric data of the surface of a three-dimensional object is acquired using components such as lasers or optical sensors through three-dimensional scanning technology, thereby constructing a geometric model based on the geometric data. For example, software such as cloudcompare is used to process the geometric data and convert it into a three-dimensional model.
[0117] In some embodiments, geometric models are downloaded from existing model databases. For illustrative purposes, in many industries, users can directly download pre-built geometric models from existing model databases or online platforms, such as the TurboSquid model database and the Sketchfab model database. The methods for obtaining geometric models described above are merely illustrative examples; geometric models can also be generated through mathematical equations or reconstructed from multiple two-dimensional images, and are not limited here.
[0118] The geometric model includes a first model surface, which is a two-dimensional closed surface.
[0119] In some embodiments, the geometric model includes at least one model facet, each of which is a two-dimensional closed surface. The at least one model facet constitutes the geometric model, and each model facet forms a closed, gapless two-dimensional region based on the complete connection of its edges. Model faces can be triangular closed surfaces, quadrilateral closed surfaces, other polygonal closed surfaces, irregular closed surfaces, etc., and are not limited here. For example, if the geometric model is a spherical model, when the model is unfolded, the spherical model includes one model facet that is spherical. When the model is not unfolded, the spherical model can also be understood as including multiple differential surfaces (such as multiple triangular closed surfaces); or, if the geometric model is a rectangular model, when the model is not unfolded, the rectangular model includes six model faces. Typically, when performing analysis on a three-dimensional geometric model, the analysis process is carried out in the unwrapped state.
[0120] The first model surface is any one of at least one model surface. A model surface that is a two-dimensional closed surface includes at least one of a two-dimensional closed plane and a two-dimensional closed curved surface. When the geometric model is analyzed without unfolding and the model surface can be realized as a two-dimensional closed curved surface, the geometric model includes at least one model surface (a sphere), in which case the geometric model is a spherical model; or, when the geometric model is analyzed without unfolding and the model surface is realized as a two-dimensional closed plane, the geometric model includes at least four model surfaces (all planes), in which case the geometric model is a tetrahedral model; or, when the geometric model is analyzed without unfolding and the model surface includes both a two-dimensional closed curved surface and a two-dimensional closed plane, the geometric model includes at least two model surfaces (one curved surface and one plane), in which case the geometric model may be a hemispherical model, etc., and is not limited here.
[0121] Step 220: Determine the region boundary of the closed area included by the first model surface.
[0122] The closed region is the closed part of the first model surface.
[0123] Schematic, the closed region includes at least an outer closed region that describes the outer boundary of the first model surface. The outer closed region can characterize the shape of the first model surface and can also be simply referred to as the outer ring.
[0124] For example, the first model surface is a square plane, and the outer closed area is a square area indicated by the square plane; or, the first model surface is an irregular polygonal plane, and the outer closed area is an irregular area indicated by the irregular polygonal plane, etc., without limitation here.
[0125] In some embodiments, the closed region included in the first model surface may include an internal closed region in addition to the aforementioned external closed region. The internal closed region is a closed portion that characterizes the interior of the first model surface, and is used to characterize the boundary of the closed portion inside the first model surface. The internal closed region can also be simply referred to as the inner ring.
[0126] For example: if the first model surface is a square plane, and the inside of the square plane also includes a closed circular hole, then the closed area inside is a small circular area; or, if the first model surface is an irregular polygonal plane, and the inside of the irregular polygonal plane also includes a closed square hole, then the closed area inside is a small square area, etc., there are no restrictions here.
[0127] In some embodiments, at least one closed region, including an external closed region, is determined from the first model surface; that is, the at least one closed region may include an internal closed region in addition to the external closed region. Then, the region boundaries corresponding to each of the at least one closed region are determined. The region boundaries describe the boundary information of the closed region; they are the contour lines or boundary lines surrounding the closed region, defining the external shape and extent of the closed region.
[0128] As an illustration, a convex hull detection algorithm is used to perform convex hull detection on a closed region to obtain multiple points on the closed region. Connecting these multiple points yields the region boundary. Examples of convex hull detection algorithms include Graham's scan method and Jarvis March's gift wrapping algorithm. Alternatively, an edge detection algorithm is used to perform edge detection on the closed region to extract the edges of the closed region as the region boundary. Examples of edge detection algorithms include Canny edge detection and the Sobel operator. This is merely an illustrative example and is not intended to be limiting.
[0129] For example: when the first model surface is a square plane, the closed area determined from the first model surface is the outer closed area of the square area. Therefore, the boundary of the closed area is a square boundary corresponding to the square area. When the first model surface is a square plane including a circular hole, the closed area determined from the first model surface includes an outer closed area and an inner closed area. The outer closed area is the square area indicated by the square plane, and the inner closed area is the small circular area within it. Therefore, the boundary of the closed area includes the square boundary corresponding to the square area and the small circular boundary corresponding to the small circular area.
[0130] Step 230: Determine the partitioning strategy corresponding to the first model surface.
[0131] The partitioning strategy is the strategy adopted when dividing the first model surface by mesh under the constraint of the region boundary.
[0132] In a schematic manner, the first model surface is analyzed with the region boundary as a constraint to determine the partitioning strategy corresponding to the first model surface. Optionally, multiple reference partitioning strategies are pre-defined, and the appropriate reference partitioning strategy for the first model surface is determined from the multiple reference partitioning strategies by using the region boundary corresponding to at least one closed region.
[0133] In some embodiments, the pre-defined plurality of reference partitioning strategies include at least one of the following partitioning algorithms.
[0134] (1) Template method.
[0135] The template method is a technique for meshing geometric models and / or their surfaces (model surfaces) based on predefined templates. It typically involves dividing the model surfaces into regular facets (such as quadrilaterals, triangles, circles, etc.). The key to the template method is starting with simple shapes and gradually approximating the target shape through meshing. In other words, the template method performs meshing using regular templates and is generally suitable for geometric models with symmetrical or simple geometric shapes.
[0136] To illustrate, suppose there is a geometric model. When the model surface of the geometric model is divided by the template method, if the preset template shape is a square template, the model surface is divided by the square template, and the mesh generation process is achieved by repeatedly applying the square template until the entire model surface is filled, resulting in multiple square template mesh units corresponding to the 3D model.
[0137] (2) Grid method.
[0138] The grid method is a method of dividing the model surface into mesh units by setting equally spaced grid points. The grid method makes the mesh units obtained after dividing most of the model surface have a regular structure. For example, if quadrilateral grids are used to divide the model surface, most of the model surface will be divided into regular quadrilateral mesh units. In addition, considering that the boundaries of the model surface are often irregular, the boundary regions are filled with preset irregular units. The boundary regions are the areas near the boundaries of closed regions (inner closed regions or outer closed regions).
[0139] For example, when using the grid method to perform meshing on a circular model surface without an internal closed region, the circular model surface corresponds to the circular boundary region. At this time, the circular model surface corresponds to the external closed region, and the circular boundary region is the region near the boundary of the circular model surface. Most of the region except the circular boundary region can be meshed using quadrilateral meshes with set equal-spaced grid points, so that most of the region is meshed into quadrilateral mesh units. For the circular boundary region that cannot be meshed into regular quadrilateral mesh units, preset irregular units are used to fill it, such as using triangular units to fill the circular boundary region, so that the grid method meshing of the model surface yields multiple regular mesh units (such as multiple quadrilateral mesh units) and a small number of irregular mesh units (such as some triangular mesh units), etc.
[0140] Alternatively, when performing meshing on a circular model surface with a single internal closed region using the grid method, the internal closed region corresponds to the internal boundary region (if the internal closed region is a small circular region, then the internal boundary region is a small circular boundary region, etc.). In this case, the circular model surface corresponds to the external closed region, and the external closed region corresponds to the external boundary region, which is a circular boundary region. Most areas, except for the small circular boundary regions (such as the outer periphery of a small circular region) and the circular boundary regions (the inner periphery of a circular region), can be meshed using quadrilateral meshes with equally spaced grid points, resulting in most areas being divided into quadrilateral mesh units. For small circular boundary regions and circular boundary regions that cannot be divided into regular quadrilateral mesh units, preset irregular units are used for filling, such as using triangular units to fill the circular boundary regions. This results in the grid method meshing the model surface yielding multiple regular mesh units (such as multiple quadrilateral mesh units) and a small number of irregular mesh units (such as some triangular mesh units). The above examples of circular regions and meshing of model surfaces with no internal closed regions or a single internal closed region are merely illustrative examples and are not intended to limit the scope of the meshing.
[0141] (3) Block method.
[0142] The block-based method is a strategy that divides the entire geometric model and / or model surface into multiple larger blocks, each of which can be further subdivided into smaller mesh units. The block-based method is typically used for large-scale mesh generation, especially suitable for using larger mesh blocks in complex regions, followed by a more detailed meshing process. In other words, the block-based method divides the model surface of the geometric model into multiple large blocks, and then gradually subdivides them to obtain mesh units, making it suitable for the decomposition process of complex model surfaces.
[0143] To illustrate, for a complex geometric model or complex model surface, the model surface can first be divided into several large blocks using a block-based method, and then each block can be further subdivided into finer meshes. For example, the model surface can be divided into several large rectangular or square blocks, and each large block can be further subdivided into smaller mesh units, gradually generating more detailed mesh units. Optionally, during the process of subdividing the large blocks into smaller mesh units, the block-based method can be used again to divide the large blocks into at least two mesh units. Alternatively, based on the shape of the divided blocks, a template method (such as a predefined template) can be selected to divide the blocks and obtain at least two mesh units. A grid method can also be used to perform the subdivision process for blocks that need to be uniformly divided, obtaining at least two mesh units. The application and combination of methods are not limited here.
[0144] (4) Triangle merging method.
[0145] Triangle merging is a common method used to combine multiple small triangular mesh elements into larger triangular or quadrilateral mesh elements to simplify the mesh. This method is generally applied to more complex geometric models or complex model surfaces, and is particularly suitable when there are many triangular mesh elements. In other words, triangle merging generates larger quadrilateral mesh elements by merging multiple small triangular mesh elements, and is typically suitable for mesh simplification scenarios.
[0146] To illustrate, suppose the model face of a geometric model is divided into multiple triangular mesh elements. At least two adjacent small triangular mesh elements can be selected by the triangle merging method. Then, the boundaries of the triangular mesh elements are merged to form larger quadrilateral mesh elements. Through multiple merging operations, the mesh elements can be gradually simplified.
[0147] It is worth noting that the above-described mesh cell partitioning algorithms, which are based on multiple pre-defined reference partitioning strategies, are merely illustrative examples and are not intended to be limiting.
[0148] In some embodiments, a plurality of preset reference partitioning strategies correspond to the boundary conditions of the reference partitioning strategy. The region boundaries corresponding to at least one closed region in the first model surface are compared with the boundary conditions to determine the reference partitioning strategy applicable to the first model surface from the plurality of reference partitioning strategies as its corresponding partitioning strategy.
[0149] Indicatively, boundary conditions are used to characterize the judgment conditions set for the region boundary of a closed region when a reference partitioning strategy is adopted; optionally, the boundary conditions constrain at least one of the following information: boundary smoothness (e.g., through analysis of information such as the turning angle between region edges) and boundary size (e.g., the length of the longest boundary); the reference partitioning strategy corresponding to the boundary conditions will be adopted as the partitioning strategy only when the region boundary meets the boundary conditions.
[0150] For example: Reference partitioning strategy 1 is the block method, and the boundary condition A corresponding to the block method is: the vertices of the region boundary indicate that they are all corner points (corner points are turning points, usually the points where two edges intersect to form an angle); Reference partitioning strategy 2 is the template method, and the boundary condition B corresponding to the template method is: the region boundary indicates that the shape of the closed region matches the pre-set reference template, etc. When it is determined that the region boundary corresponding to at least one closed region in the first model meets the boundary condition B, that is, the closed region in the first model surface matches the shape of the pre-set reference template, then the template method is used as the partitioning strategy corresponding to the first model surface, etc., without limitation here.
[0151] Step 240: The first model surface is divided using a partitioning strategy to obtain at least two first mesh elements.
[0152] Indicatively, after determining the partitioning strategy for the first model surface, the first model surface is partitioned using the partitioning strategy to achieve targeted partitioning processing of the first model surface.
[0153] In some embodiments, multiple pre-defined reference partitioning strategies correspond to reference partitioning meshes. The participating partitioning meshes are the meshes used when performing meshing processing on the model surface using the reference partitioning strategies, and can provide a preset mesh structure for the meshing process. When partitioning the first model surface using a partitioning strategy, the reference partitioning mesh corresponding to the partitioning strategy is used to process the first model surface, such as determining the mesh vertices and mesh boundaries on the first model surface. Then, the partitioning mesh corresponding to the partitioning strategy is placed on the first model surface, and it is determined that the partitioning mesh completely covers the first model surface, thereby obtaining at least two first mesh elements. Each first mesh element is used to represent a portion of the first model surface covered by the mesh in the partitioning mesh.
[0154] In some embodiments, after determining the partitioning strategy based on the first model surface, the partitioned mesh used to perform the subdivision process is determined by the partitioning strategy and the first model surface. Illustratively, if the partitioning strategy is determined to be the template method based on the first model surface, mesh information (such as mesh size information) is determined by the template method and the dimensions of the first model surface, thereby generating a subdivision mesh based on the mesh information. The subdivision mesh includes multiple partitioning elements, each of which follows the mesh size information. Each partitioning element is used to obtain mesh cells after subdivision, etc., without limitation here.
[0155] Optionally, under quadrilateral mesh generation, the mesh elements obtained after partitioning the model surface using the division strategy are mainly quadrilateral mesh elements, meaning that quadrilateral mesh elements occupy the majority, although some distorted triangular mesh elements may exist. Illustratively, when the first model surface is partitioned using the division strategy under quadrilateral mesh generation, at least two first quadrilateral mesh elements are obtained. In addition, at least one first triangular mesh element may also be obtained. Subsequent optimization and removal of any existing first triangular mesh elements are not limited here.
[0156] At least two first mesh elements are used to perform simulation analysis on the first model surface.
[0157] Indicatively, simulation analysis relies on the interaction between mesh elements. Simulation analysis includes at least one of various analyses such as finite element analysis, fluid dynamics analysis, and temperature analysis. It simulates real physical behaviors (such as force, stress, temperature gradient, fluid flow, etc.) through the interaction between at least two first mesh elements obtained by meshing, so as to realize the simulation analysis of the first model.
[0158] To illustrate, taking the mechanical analysis of the first model surface as an example, a force is applied to any point on the first model surface, and the force influence state of at least two first mesh elements on the first model surface is analyzed to obtain the force distribution information corresponding to at least two first mesh elements. The force distribution information is used to characterize the mechanical influence on the first mesh element over time. The simulation analysis process is then performed by combining the force distribution information corresponding to at least two first mesh elements.
[0159] In some embodiments, finite element analysis (FEA) software is used to perform the above-mentioned mesh generation and simulation analysis process. Finite element analysis software includes ANSYS, Abaqus, etc. The FEA software acquires the material properties, geometry, boundary conditions, etc., corresponding to the geometric model, including the aforementioned information for each model surface. Based on trigger operations on the geometric model (such as applying force to any point on the first model surface as described above), the stress, strain, displacement, and other responses of each mesh element are calculated as force distribution information. Then, post-processing tools are used to visualize the simulation results, such as stress distribution diagrams and deformation diagrams, for data analysis to achieve the purpose of simulation analysis. Through the simulation results, structural optimization and design adjustments can be made to the first model surface to ensure that the first model surface meets mechanical performance requirements.
[0160] In some embodiments, the first model surface is any one of the multiple model surfaces included in the geometric model. The above-described method is used to determine the partitioning strategy corresponding to the model surface for each of the multiple model surfaces, so as to perform meshing on the corresponding model surface according to the partitioning strategy, and then obtain the mesh elements corresponding to the multiple model surfaces respectively.
[0161] Schematic, the geometric model includes model surface A, model surface B, and model surface C. Performing the above analysis process on model surface A determines the partitioning strategy 1 corresponding to model surface A. Then, partitioning strategy 1 can be used to perform meshing on model surface A, obtaining at least two mesh elements (such as a1, a2, a3, etc.) corresponding to model surface A. Similarly, performing the above analysis process on model surface B determines the partitioning strategy 2 corresponding to model surface B. Then, partitioning strategy 2 can be used to perform meshing on model surface B, obtaining at least two mesh elements (such as b1, b2, b3, etc.) corresponding to model surface B. Similarly, performing the above analysis process on model surface C determines the partitioning strategy 1 corresponding to model surface C. Then, partitioning strategy 1 can also be used to perform meshing on model surface C, obtaining at least two mesh elements (such as c1, c2, c3, etc.) corresponding to model surface C. No further limitations are specified here.
[0162] In some embodiments, simulation analysis is performed on the corresponding model surfaces using mesh elements to obtain model surface analysis results corresponding to multiple model surfaces respectively; the analysis results of multiple model surfaces are comprehensively analyzed to obtain model analysis results corresponding to the geometric model.
[0163] In a schematic manner, simulation analysis is performed on model surface A using mesh elements a1, a2, a3, etc., to obtain the model surface analysis results corresponding to model surface A; similarly, simulation analysis is performed on model surface B using mesh elements b1, b2, b3, etc., to obtain the model surface analysis results corresponding to model surface B, and so on. Subsequently, the model surface analysis results corresponding to multiple model surfaces can be spatially integrated to obtain the model analysis result. This method is suitable for handling analysis scenarios requiring a holistic response, such as those involving mechanics and thermodynamics.
[0164] For example, if stress analysis is performed on a geometric model, the analysis results (such as stress) on each model surface can be integrated and summed to obtain the comprehensive stress result of the entire geometric model as the model analysis result; or, assuming that for a geometric model of a mechanical structure, stress results, displacement results, etc. are obtained on different model surfaces through finite element analysis software, the results corresponding to the model surfaces can be merged, and the stress distribution map of the entire geometric model can be estimated by interpolation technology, and then the presence of stress concentration areas can be analyzed for further design optimization.
[0165] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0166] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0167] In some optional embodiments, the closed region of the first model surface may include not only the external closed region corresponding to the first model surface, but also an internal closed region, which is a closed region located within the first model surface. The first model surface is analyzed comprehensively by considering the region boundaries of the closed regions and the number of first inner rings representing the number of internal closed regions to determine the corresponding partitioning strategy. (Illustrative example, such as...) Figure 3 As shown, the method is illustrated using an example of it being executed by a computing device. Figure 2Step 230 shown can also be implemented as steps 310 to 320.
[0168] Step 210: Obtain the geometric model.
[0169] The geometric model includes a first model surface, which is a two-dimensional closed surface.
[0170] Step 220: Determine the region boundary of the closed area included by the first model surface.
[0171] Step 310: Obtain the number of the first inner ring.
[0172] The number of the first inner rings is used to characterize the number of internal closed regions in the first model surface. The internal closed regions are closed regions located within the first model surface.
[0173] Indicatively, the first model surface may include not only the external closed region describing the external boundary, but also a closed region inside the first model, i.e., there may also be an internal closed region; by analyzing the internal state of the first model surface, the number of the first inner rings representing the number of internal closed regions is obtained.
[0174] The internal state is used to characterize the presence of closed regions within the first model surface. Optionally, when the internal state indicates that there are no closed regions within the first model surface, the number of first inner loops is 0, representing that there are no closed regions within the first model surface; when the internal state indicates that there is one closed region within the first model surface, the number of first inner loops is 1, representing that there is one closed region within the first model surface, such as a closed hole within the first model surface; when the internal state indicates that there are multiple closed regions within the first model surface, the number of first inner loops is greater than 1, representing that there are multiple closed regions within the first model surface, such as a closed hole, an island, etc., without limitation here.
[0175] In this case, if a model surface has a circular inner ring that does not contact the model surface, this circular area can be regarded as an island. The island is completely surrounded by the outer boundary of the model surface, but the interior is not filled. Alternatively, if this circular area is removed to form an actual gap, then this circular gap is regarded as a hole.
[0176] Step 320: Analyze the first model surface based on the number of the first inner rings and the region boundary to obtain the partitioning strategy corresponding to the first model surface.
[0177] This illustration shows the partitioning strategy used when performing subdivision processing on the first model surface by combining the number of the first inner rings and the region boundary as constraints for obtaining the partitioning strategy.
[0178] Therefore, the partitioning strategy is the strategy adopted when dividing the model surface by mesh under the constraints of the number of inner rings and the region boundary; for the first model surface, the partitioning strategy is the strategy adopted when dividing the first model surface by mesh under the constraints of the number of first inner rings and the region boundary.
[0179] Considering that the number of first inner rings represents the number of internal closed regions, different numbers of first inner rings determine the fineness of the meshing process when performing meshing on the first model surface. The smaller the number of first inner rings, the smaller the influence of internal closed regions on the meshing process, and therefore the fewer restrictions there are on performing meshing on the first model surface. Thus, a more general meshing strategy can be used to mesh the first model surface. Conversely, the more first inner rings, the greater the influence of internal closed regions on the meshing process, and therefore the more restrictions there are on performing meshing on the first model surface. Thus, a more detailed meshing strategy is needed to mesh the first model surface, etc., which is not limited here.
[0180] In an optional embodiment, if the number of first inner rings indicates that the first model surface includes at least one internal closed region, the region edges corresponding to at least two closed regions of the first model surface are obtained respectively.
[0181] Indicatively, the number of the first inner rings indicates that the first model surface includes at least one internal closed region, which means that the first model surface includes one or more internal closed regions; at this time, at least two closed regions include not only the external closed region corresponding to the first model surface, but also at least one internal closed region.
[0182] Optionally, at least two closed regions include an outer closed region and all inner closed regions. Illustratively, if the first model face corresponds to one outer closed region and two inner closed regions (e.g., the number of first inner rings is 2), then at least two closed regions include one outer closed region and two inner closed regions; similarly, if the first model face corresponds to one outer closed region and four inner closed regions (e.g., the number of first inner rings is 4), then at least two closed regions include one outer closed region and four inner closed regions, without limitation here.
[0183] Optionally, at least two closed regions include an outer closed region and at least one inner closed region. Illustratively, the first model face corresponds to one outer closed region and two inner closed regions (e.g., the number of first inner rings is 2), and the at least two closed regions include one outer closed region and two inner closed regions; or, the at least two closed regions include one outer closed region and one inner closed region (e.g., any one of the two inner closed regions), without limitation here.
[0184] In some embodiments, for at least two closed regions of the first model surface, the region edges corresponding to the at least two closed regions are obtained respectively, and the region edges are boundary line segments that make up the region boundaries.
[0185] Indicatively, each closed region consists of at least one edge. For example, if the closed region is circular, the edge corresponding to the circular region is a curved line segment connected end to end; or, if the closed region is quadrilateral, the edge corresponding to the quadrilateral region is four straight line segments connected in sequence; or, if the closed region is semicircular, the edge corresponding to the semicircular region is a straight line segment and a curved line segment connected in sequence, etc., without limitation here.
[0186] In an optional embodiment, the vertex type of the region vertex connecting the region edges is determined based on the included angle between the region edges.
[0187] Optionally, at least one edge corresponding to each of the at least two closed regions is determined; when a closed region corresponds to multiple edge regions, there is an included angle between the multiple edge regions, which is used to characterize the included angle formed by two adjacent edge regions.
[0188] Schematic representation: The closed region M is a triangular region enclosed by three sequentially connected straight line segments, where line segments AB, BC, and CA form the ordered edges of the region. Line segments AB and BC are adjacent edges, forming one angle; similarly, line segments BC and CA are adjacent edges, forming another angle; and similarly, line segments CA and AB are adjacent edges, forming yet another angle.
[0189] Schematic, the vertex type of the region vertices connecting the edges is analyzed by the angle of the included edge. The vertex type is a topological property related to the region vertices and is a component that participates in characterizing the geometry of the closed region. The vertex type of the region vertices helps to describe the topological properties of the closed region.
[0190] Schematic, the aforementioned closed region M is a triangular region, wherein the vertices of the region include: the region vertex B between line segments AB and BC, the region vertex C between line segments BC and CA, and the region vertex A between line segments CA and AB.
[0191] Indicatively, common vertex types include endpoints, lateral points, corner points, and reversal points. An endpoint is the starting or ending point of an edge or line segment; a lateral point is a point on the side of a closed region; a corner point is a turning point, usually where two edges of a region intersect to form an angle; a reversal point is a point where the direction changes, typically describing a point where the direction of a region's edge reverses. Additionally, vertex types can also include extreme points, smooth points, and intersection points. Extreme points describe the points on a curve where the curvature is at its maximum or minimum; smooth points are vertices where the curve is continuous and has no acute angles; intersection points are points where multiple line segments or curves intersect in space, and are not limited here.
[0192] In some embodiments, the included angle between the edges of regions within the same internal enclosed region is determined.
[0193] Schematic example: for the closed region M of the above triangular region, determine the included angle between the three sides of the region.
[0194] In some embodiments, the vertex type corresponding to a region vertex is determined by a classification rule based on the included angle of the edges, and adjacent regions are connected through the region vertices.
[0195] Indicatively, the classification rules are pre-defined rules that determine the vertex type of a region's vertices based on the included angle of the edges. Therefore, the classification rules typically describe the correspondence between the included angle and the vertex type. Optionally, the pre-defined classification relationship between the included angle and the region's vertices can be characterized by a conditional function as shown in Formula 1 below.
[0196] Formula 1:
[0197]
[0198] Among them, eps is the preset error range, such as 0.261 as the preset error range, and values such as 0.3 and 0.25 can also be set, which are not limited here; end represents the endpoint; side represents the side point; corner represents the corner point; reversal represents the reversal point.
[0199] After determining the included angles of multiple sides within a closed region, the vertex types of the region vertices corresponding to each included angle are determined based on Formula 1 above. For example, if eps is preset to 0.261, and the included angle α is... If the included angle 'a' is π - 0.2, then the included angle 'b' is π - 0.2, and the included angle 'b' is π - 0.2, and the included angle 'b' is π - 0.2, and the included angle 'c' is π + 0.2, then the included angle 'c' is not π + 0.2, and ... π + 0.2, and the included angle 'c' is π + 0.2, and the included angle 'c' is
[0200] In some embodiments, when the closed region is implemented as a circular region enclosed by a single curve, there is no included angle between the edges of the region, so there is no need to determine the vertex type of the region vertices connecting the edges of the region; in this case, it can also be regarded as the vertex type corresponding to the region vertices of the closed region not conforming to the classification relationship shown in Formula 1 above.
[0201] In an optional embodiment, if the vertex types of the vertices corresponding to at least two closed regions meet the type conditions, the first partitioning strategy corresponding to the type conditions is used as the partitioning strategy corresponding to the first model surface.
[0202] In a schematic manner, each closed region is analyzed separately to determine the vertex type of the region vertices under each closed region. If the vertex types of the region vertices corresponding to at least two closed regions being analyzed meet the type conditions shown in Formula 1 above, that is, the included angles of the edges corresponding to at least two closed regions are all within the angle range shown in Formula 1 above, then the first partitioning strategy corresponding to the type conditions is obtained, and the first partitioning strategy is used as the partitioning strategy corresponding to the first model surface.
[0203] Indicatively, the first partitioning strategy is a partitioning strategy used to divide the model surface into multiple model blocks before performing meshing. The first partitioning strategy can also be called the block strategy (or block method). The block method is a strategy that divides the entire model surface into multiple larger model blocks (blocks of the model surface) before continuing to perform meshing, where each model block can be further subdivided into smaller mesh units.
[0204] Schematic: If the vertex types of a closed region all conform to the aforementioned endpoints, side points, corner points, and reversal points, it indicates that the region boundary is composed of multiple line segments and inflection points, and the region vertices may have boundary transitions without smooth transitions or curves. For example, complex polygons or other geometric shapes formed by splicing together several straight line segments lack smooth transitions or curve connections; instead, they are formed by straight line segments and abrupt changes in direction. In this case, it can be inferred that the region boundary of this closed region has obvious geometric features such as abrupt changes and sharp angles. Therefore, a block-based approach can be used to divide closed regions such as complex polygons into blocks, such as multiple triangular blocks or quadrilateral blocks, followed by targeted meshing or mesh optimization processes. No specific limitations are imposed here.
[0205] In some embodiments, when the number of the first inner rings indicates that the first model surface includes at least two internal closed regions, the region edges corresponding to the at least two closed regions are obtained respectively.
[0206] Among them, at least two closed regions include at least one internal closed region and an external closed region corresponding to the first model surface.
[0207] In some embodiments, if the vertex types of the vertices corresponding to at least two closed regions do not meet the type conditions, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface. The second partitioning strategy is used to partition the first model surface using a grid method.
[0208] To illustrate, each closed region is analyzed separately to determine the vertex type of the vertices within each closed region. If at least one vertex type among the vertices of at least two closed regions being analyzed does not meet the type condition shown in Formula 1 above, for example, if the vertex types corresponding to some region vertices meet the type condition shown in Formula 1 above, while the vertex types corresponding to other region vertices do not meet the type condition shown in Formula 1 above, then the vertex type is considered to not meet the type condition; or, if the vertex types corresponding to all region vertices meet the type condition shown in Formula 1 above, then the vertex type is considered to not meet the type condition, and so on.
[0209] Based on the judgment process of not meeting the type conditions, the second partitioning strategy is taken as the partitioning strategy corresponding to the first model surface. The second partitioning strategy is used to partition the first model surface using the grid method. The second partitioning strategy can also be called the grid strategy (or grid method). The grid method is a method of obtaining mesh units by partitioning the model surface by setting equally spaced grid points. The grid method can make the mesh units obtained after partitioning have a regular structure (e.g., if the model surface is a regular shape, the multiple mesh units obtained by partitioning will have a regular structure). It may also make most of the mesh units obtained after partitioning have a regular structure, and a small number of mesh units have an irregular structure. This is not limited here.
[0210] To illustrate, if the vertex types of a closed region do not conform to the above-mentioned endpoints, side points, corner points, and reversal points, then the closed region is usually a smooth region or a region without obvious features. In this case, it can be inferred that the boundary of the closed region is smooth, without abrupt changes, sharp angles, or other obvious geometric features, such as circular regions or elliptical regions. Therefore, the calculation of a closed region with a smooth boundary can usually be simplified, such as by using a simpler raster method.
[0211] To illustrate, if the vertex types of a region within a closed region partially conform to the aforementioned endpoints, side points, corner points, and reversal points, and partially do not conform to the aforementioned endpoints, side points, corner points, and reversal points, then the closed region may be a region with some continuity or smoothness, but not entirely conforming to common geometric features; in this case, simplified calculations can usually be performed on the closed region, such as using a simpler raster method.
[0212] In some embodiments, when the number of the first inner rings indicates that the first model surface includes an internal closed region, the region edges corresponding to the two closed regions of the first model surface are obtained respectively.
[0213] The two closed regions include an inner closed region and an outer closed region corresponding to the first model surface.
[0214] In some embodiments, if the vertex types of the vertices corresponding to the two closed regions do not meet the type conditions, the information of the first outer ring is obtained.
[0215] Indicatively, when at least one vertex in a region corresponding to one of the two closed regions (including an inner closed region and an outer closed region) does not conform to the type condition shown in Formula 1 above, the first outer ring information is obtained.
[0216] The first outer ring information is used to characterize the boundary conditions of the external closed region corresponding to the first model surface. Schematic, the first outer ring information is used to characterize the region shape, edge angles, and other boundary conditions of the external closed region corresponding to the first model surface.
[0217] In some embodiments, if the first outer ring information and the first inner ring information meet the nesting condition, the third partitioning strategy is used as the partitioning strategy corresponding to the first model surface.
[0218] Schematic illustration: Nesting conditions are pre-defined conditions used to comprehensively analyze the positional nesting relationship between the first outer ring information and the first inner ring information. Optionally, nesting conditions are implemented through at least two nesting templates, including a double-ring template (both the outer and inner rings are connected circles), an outer square and inner circle template (the outer ring is square and the inner ring is circular), a double-sided template (both the outer and inner rings are square), and an outer circle and inner square template (the outer ring is circular and the inner ring is square); therefore, the discrimination process mainly includes circular ring discrimination and square ring discrimination.
[0219] (1) Circular ring discrimination.
[0220] Obtain all region edges on the ring (inner and outer rings), and the region edges must be curves; then analyze the radius and center coordinates when the region edges are arcs; if the radii of the arcs corresponding to all region edges are equal and the center coordinates are the same, then the ring is a torus.
[0221] Schematic illustration: Template surface B has one inner ring and at least one model vertex (i.e., the aforementioned region vertex, hereinafter referred to as region vertex) does not belong to the above four categories. Therefore, taking the single inner ring template method for discrimination on template surface B as an example, template surface B includes one inner ring and one outer ring. For multiple region edges of one inner ring, the radius and center coordinates are analyzed when each region edge is an arc. For example: determine three points on the region edge, determine the circumcircle passing through the three points, and thus calculate and determine the center coordinates and radius; or, determine the starting point, ending point, and central angle formed by the region edge, and calculate the center coordinates and radius by combining the starting point, ending point, and central angle.
[0222] Next, compare the radii corresponding to the edges of multiple regions of the inner ring to see if they are the same, and compare the center coordinates corresponding to the edges of multiple regions of the inner ring to see if they are the same. If they are the same, the inner ring is determined to be a ring. Similarly, the outer ring can also be determined in this way, and there is no limitation here.
[0223] (2) Square ring discrimination.
[0224] Obtain all region edges on the ring (inner and outer rings). The number of region edges must be 4 and all of them must be straight lines. Then calculate the centroid (center of gravity) coordinates of the model surface and calculate the distance between the centroid and the 4 region vertices. If the distance between the centroid and the 4 region vertices is equal, then the ring is determined to be a square ring.
[0225] Indicatively, template surface B has one inner ring and at least one region vertex that does not belong to the above four categories. Therefore, taking the single inner ring template method for template surface B as an example, template surface B includes one inner ring and one outer ring. For the inner ring, if the inner ring has four region edges, and all four region edges are straight lines, then obtain the four region vertices formed by connecting the four region edges end to end. Each of the four region vertices corresponds to a vertex coordinate. The centroid is the geometric center of the polygon. For a quadrilateral, its centroid coordinates can be determined by the vertex coordinates of the four region vertices. If the four distances calculated based on the centroid coordinates and the vertex coordinates of the four region vertices are all equal, then the inner ring is determined to be a square ring. Similarly, the outer ring can also be determined in this way, without limitation here.
[0226] In some embodiments, when it is determined based on the first outer ring information and the first inner ring information that the first model surface conforms to any one of the above-mentioned double ring template, outer square inner circle template, double square template, and outer circle inner square template, the third division strategy is adopted as the division strategy corresponding to the first model surface.
[0227] The third partitioning strategy is used to perform meshing on the model surface using a reference template. The third partitioning strategy can also be called the template strategy (or template method). The template method is a technique for partitioning the model surface based on a predefined reference template. Usually, the model surface is divided into some regular patches (such as quadrilaterals, triangles, circles, etc.) by the reference template. The key to the template method is to start from a simple shape and gradually approximate the mesh partitioning of the target shape.
[0228] In illustrative terms, the reference template is a pre-defined template used to perform meshing processing on the model surface. The reference template includes at least two nested templates corresponding to the above nesting conditions. For example, the reference template includes a double-ring template, an outer square inner circle template, a double square template, and an outer circle inner square template. In addition, the reference template may also include at least one of a variety of templates such as a circular template, a square template, a square rounded corner template, a fan-shaped template, a rectangular template, and a quadrilateral template. No limitation is imposed here.
[0229] Optionally, if the first model surface is determined to conform to any one of the above-mentioned double-ring template, outer square inner circle template, double square template, and outer circle inner square template based on the first outer ring information and the first inner ring information, then a reference template matching the shape of the first model surface is obtained, so that when the first model surface is divided using the third division strategy, the reference template matching the shape of the first model surface (such as using a circular template for a circular first model surface) is used to divide the first model surface.
[0230] In some embodiments, if the first outer ring information and the first inner ring information do not meet the nesting conditions, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface.
[0231] The second partitioning strategy is used to partition the first model surface using a grid method.
[0232] For illustrative purposes, if the first model surface does not conform to any of the above-mentioned double-ring template, outer square inner circle template, double square template, or outer circle inner square template based on the first outer ring information and the first inner ring information, it is not recommended to perform subdivision processing on the first model surface through the preset reference template. Therefore, the grid method with higher standardization can be used to perform subdivision processing on the first model surface.
[0233] In an optional embodiment, if the first inner ring number indicates that the first model surface does not include an internal closed region, the first outer ring information is obtained from the region boundary.
[0234] Indicatively, when the first inner ring information is 0, it indicates that the first model surface does not include the inner closed region. Therefore, the closed region corresponding to the first model surface is an outer closed region. At this time, it is necessary to obtain the first outer ring information from the region boundary. The first externalized information is used to characterize the boundary situation of the outer closed region corresponding to the first model surface. That is, at this time, it is necessary to perform strategy analysis around the outer closed region.
[0235] In an optional embodiment, the surface shape corresponding to the first model surface is determined based on the first outer ring information.
[0236] In illustrative terms, since the first outer ring information describes the external boundary of the first model surface, the shape of the first model surface can be determined through the first outer ring information. For example, the first model surface can be determined to be circular based on the first outer ring information; or, the first model surface can be determined to be hexagonal based on the first outer ring information, etc., without limitation here.
[0237] In an optional embodiment, if the surface shape matches the reference template, a third partitioning strategy corresponding to the surface shape is obtained as the partitioning strategy corresponding to the first model surface.
[0238] The third partitioning strategy is used to perform subdivision processing on the model surface using a reference template.
[0239] In illustrative terms, the reference template is a pre-defined template used to perform meshing processing on the model surface. There are two types of reference templates. The first type is a nested template with a single internal closed region, such as the double-ring template, outer square inner circle template, double square template, and outer circle inner square template mentioned above. The second type is a preset template without an internal closed region, such as at least one of the following templates: circular template, square template, square rounded corner template, fan-shaped template, rectangular template, quadrilateral template, etc., without limitation here.
[0240] When the number of the first inner ring indicates that the first model surface does not include the internal closed region, the matching between the surface shape and the reference template is analyzed using the second reference template described above, such as whether the surface shape and the reference template are similar or the same.
[0241] Optionally, when the face shape is the same as or similar to any reference template, such as when the face shape indicates that the first model face is a square with a side length of 5, which is similar to the square template (a square with a side length of 1), it is considered that the face shape matches the reference template. Therefore, the third partitioning strategy corresponding to the face shape can be obtained as the partitioning strategy corresponding to the first model face. At this time, the square template can be used to perform subdivision processing on the first model face, etc., which is not limited here.
[0242] In an optional embodiment, if the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information meets the type condition, the first partitioning strategy corresponding to the reference template is obtained as the partitioning strategy corresponding to the first model face.
[0243] Indicatively, the first outer ring information represents the boundary of the outer closed region, where the region vertex indicated by the first outer ring information represents the region vertex of the outer closed region. The vertex type of the region vertex is determined based on the included angle of the edge using the above formula one. If the vertex type meets the type conditions shown in formula one (endpoint, side point, corner point, reversal point), then the above first partitioning strategy is adopted as the partitioning strategy corresponding to the first model surface.
[0244] Schematic: If the face shape does not match the reference template, and the vertex types of the vertices of the outer closed region all conform to the above-mentioned endpoints, side points, corner points, and reversal points, it indicates that the boundary of the closed region is composed of multiple line segments and inflection points, and there may be boundary turning points in the region vertices without smooth transitions or curves. Therefore, a block-based method can be used to divide closed regions such as complex polygons into blocks, such as dividing them into multiple triangular blocks, quadrilateral blocks, etc., and then perform targeted meshing or mesh optimization processes, which are not limited here.
[0245] In an optional embodiment, if the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information does not meet the type condition, a fourth partitioning strategy is obtained as the partitioning strategy corresponding to the first model face.
[0246] Schematic, the first outer ring information represents the boundary of the outer closed region. The region vertices indicated by the first outer ring information represent the region vertices of the outer closed region. The vertex type of the region vertices is determined based on the included angle of the edges using the above formula. If the vertex type does not meet the type conditions shown in formula 1 (endpoint, side point, corner point, reversal point), then the fourth partitioning strategy is used as the partitioning strategy corresponding to the first model surface. Alternatively, if there are no region vertices in the outer closed region (e.g., the outer closed region is an irregular circle), it is also considered that the vertex type does not meet the type conditions shown in formula 1, and therefore the fourth partitioning strategy is also used as the partitioning strategy corresponding to the first model surface.
[0247] The fourth partitioning strategy is used to divide the first model surface into triangular meshes and then merge at least one triangular mesh unit. The fourth partitioning strategy can also be called the triangle merging strategy (or triangle merging method). The triangle merging method is usually used to merge multiple small triangular mesh units into larger triangular mesh units or quadrilateral mesh units to achieve the purpose of mesh simplification.
[0248] Schematic: When the face shape does not match the aforementioned matching relationship with the reference template, and the vertex type of the region vertices corresponding to the outer closed region indicated by the first outer ring information does not meet the type conditions, it indicates that the currently analyzed model face has a geometric difference compared to the reference template. This may be due to offsets, angle changes, or topological issues in the position of vertices, region edges (model edges), or faces. This mismatch usually manifests as shape distortion, irregularity, or other unexpected geometric structures on the model face, such as deformed faces or extremely irregular polygonal faces. It also indicates that the currently analyzed model face has high smoothness (e.g., many curves). In this case, a more refined triangular mesh can be used to first perform subdivision processing on the model face, and then the subdivided triangular mesh units can be merged, i.e., the capability of the triangular merging method. Among them, triangular meshes can effectively handle irregular, highly smooth, or other complex shapes. For example, an irregular spherical face can be decomposed into multiple triangular mesh units, and then the process of merging at least two triangular mesh units can simplify the processing and optimize the calculation and analysis process without missing important information on the model face.
[0249] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0250] Step 240: The first model surface is divided using a partitioning strategy to obtain at least two first mesh elements.
[0251] At least two first mesh elements are used to perform simulation analysis on the first model surface.
[0252] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0253] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0254] In this embodiment, by combining the number of inner loops and the region boundaries of closed areas in the model surface, a fine-grained process can be achieved to determine the meshing strategy used when meshing the model surface. When there are many internal closed regions and the region boundary analysis is difficult, a block method can be used to divide multiple internal closed regions before performing the meshing process, thereby achieving a more refined meshing process with less meshing difficulty while avoiding the omission of internal closed regions. When there are many internal closed regions but the region boundary analysis is not difficult, a grid method can be used to perform a more efficient meshing process on the model surface. When there are few internal closed regions and the region boundary analysis is difficult, a block method can also be used to perform the meshing process. In this scenario, the template method can be selected for a more efficient and adaptable mesh generation process when the nested template is met, while the grid method can be selected for a more efficient mesh generation process when the nested template is not met. Furthermore, when there are no internal closed regions and the model surface conforms to the reference template, the template method can be selected for a more efficient and adaptable mesh generation process. Alternatively, when the model surface does not conform to the reference template and the analysis of the region boundary (which is the boundary of the model surface) is difficult, a block method can be used to achieve a refined modular surface mesh generation process, greatly avoiding the omission of detailed information. Additionally, when the model surface does not conform to the reference template and the region boundary is relatively smooth, a triangle merging method can be used to achieve a refined modular surface mesh generation and merging process, simplifying the operation process while avoiding the omission of detailed information. By combining the above processes, the meshing strategy determined for the modular surface is fully adapted to the modular surface, which can improve the generation quality and efficiency of subsequent mesh elements while avoiding the omission of geometric information on the model surface, thereby contributing to the improvement of the realism of the simulation analysis.
[0255] In an optional embodiment, the geometric model includes multiple model surfaces. Using the method described above, which determines the partitioning strategy corresponding to the first model surface by constraining the region boundaries of the closed regions included by the first model surface, the partitioning strategy of each model surface can be determined by constraining the region boundaries of the closed regions corresponding to the multiple model surfaces. Here, the first model surface is any one of the multiple model surfaces (which can be called a geometric surface). The method is illustrated using an example of it being executed by a computing device. Figure 4 As shown, Figure 2 Step 230 shows an extended description of the content, which is also... Figure 3 The extended description of steps 310 and 320 shown is a matching flowchart for determining the meshing strategy (also known as the mesh generation algorithm) corresponding to the model surface based on the geometric features of the model surface (at least including the region boundary of the closed area of the model surface), which includes the following steps.
[0256] Step 410: Analyze the inner and outer loop information of the model surface.
[0257] This is illustrative of determining the inner and outer loop information of a model surface for any given input geometric model.
[0258] The inner loop information describes the state of potentially enclosed internal regions within the model surface. These enclosed regions are also called inner loops. The inner loop is located inside the model surface and is usually part of it, such as areas enclosed by holes or other internal boundaries. Inner loop information includes: the edges of the enclosed internal region (i.e., the enclosed boundary of the inner loop), the vertices of the enclosed internal region (i.e., the vertices of the inner loop, used to form the enclosed boundary of the inner loop), and the order of the enclosed internal region (usually used to describe the clockwise or counterclockwise vertex order of the inner loop).
[0259] The following is an illustrative explanation of how to extract inner loop information. In the model surface, the boundary of the inner loop forms a closed curve and lies within the corresponding outer loop. The boundaries of multiple closed regions within the model surface are iterated repeatedly to check if the current region boundary is surrounded by other region boundaries. If so, it indicates that the region boundary points to an inner loop. After determining the inner loop, vertex detection is performed to obtain the vertices within the inner loop, i.e., the vertices of the internal closed regions. Additionally, edge detection can be performed on the inner loop to obtain its closed boundaries, typically including at least one region edge. Furthermore, if the inner loop has multiple region edges that are ordered, the order of the inner loop, i.e., the order of the internal closed regions, can be determined; this is not limited here. The outer loop information usually refers to the information of the outer boundary of the model surface. The outer boundary defines the region enclosed by the model surface and can also be called the external closed region. Information about the outer ring includes: the edges of the outer ring (i.e., the boundaries outside the model surface), the vertices of the outer ring (i.e., the vertices of the outer ring, used to form the closed boundary of the outer ring), and the order of the edges (usually the edges of the outer ring are arranged in a clockwise or counterclockwise order).
[0260] The following is an illustrative explanation of how to extract outer ring information. The boundary of the outer ring in the model surface also forms a closed curve, and the outer ring typically represents the outermost boundary of the model surface. For example, by iterating through the boundaries of multiple closed regions in the model surface, it checks whether the current region boundary is not surrounded by other region boundaries; if so, it indicates that the region boundary points to an outer ring. After determining the outer ring, vertex detection is performed to obtain the vertices within the outer ring, i.e., the vertices of the outer closed region. Furthermore, edge detection can be performed on the outer ring to obtain its closed boundary, which typically includes at least one region edge. Additionally, if the outer ring has multiple region edges and these edges are ordered, the order of the outer ring, i.e., the order of the edges, can be determined; however, this is not limited here.
[0261] In the quadrilateral mesh generation process, the outer and inner rings jointly define the state of the model surface. The outer ring defines the external boundary of the model surface, while the inner ring defines the possible internal structures (such as holes, islands, etc.) that may exist on the model surface. Therefore, special handling is required during mesh generation to ensure the integrity of the mesh structure. For example, suppose there is a rectangular surface with a hole; the outer boundary of the rectangle is the outer ring, and the boundary of the hole is the inner ring. When generating quadrilateral mesh elements, the information from the outer and inner rings helps determine how to generate the mesh within the surface. Typically, the outer ring is the boundary connecting to adjacent surfaces, while the inner ring is treated as a separate region or obstacle, affecting the mesh generation and topology.
[0262] Step 420: Determine the number of inner rings.
[0263] Schematic, the number of inner rings is used to characterize the number of enclosed internal regions, which is obtained through the inner ring information in step 410. For example: if the model surface is an irregular curved surface that includes two holes, then the number of inner rings is 2; or, if the model surface is a rectangular surface that includes one hole, then the number of inner rings is 1; or, if the model surface does not include the areas enclosed by holes or other internal structures, then the number of inner rings is 0. No limitation is imposed here.
[0264] In some embodiments, when the number of inner loops is greater than or equal to 2, steps 431 to 433 are executed; when the number of inner loops is equal to 1, steps 441 to 443 are executed; and when the number of inner loops is 0, steps 451 to 453 are executed. The following steps also analyze at least one of the outer loop information and inner loop information from step 410, which will be explained later.
[0265] Step 431, block-based discrimination.
[0266] (1) Traverse the ordered model edges of each ring on the model surface.
[0267] Schematic, for any model surface, the closed regions that make up the model surface are determined. The closed regions include the outer closed region (outer ring) and the inner closed region (inner ring). The outer closed region of the model surface indicates the outermost boundary of the model surface, which is usually used to describe the outer boundary of the model surface in space. It is the closed boundary path formed around the vertex of the model surface. The inner closed region of the model surface indicates the closed regions on the model surface. For example, for a model surface with holes, the inner ring represents the boundary of the holes, while the outer ring represents the outer boundary of the model surface.
[0268] Optionally, each model face corresponds to an outer ring. There may be model faces that correspond to at least one inner ring, or there may be model faces that do not include an inner ring. This is not limited here.
[0269] Schematic illustration: Both the inner and outer rings have at least one ordered model edge (i.e., the region edge of the aforementioned closed region, hereinafter referred to as a region edge). That is, at least one ordered region edge forms the inner ring, or at least one ordered region edge forms the outer ring. Here, an ordered region edge indicates that the region edge has a direction, such as clockwise or counterclockwise. Schematic illustration: the ordered region edge of the outer ring is determined based on the aforementioned outer ring information, and the ordered region edge of the inner ring is determined based on the aforementioned inner ring information. For example, if the outer ring is the boundary of a quadrilateral region, then the outer ring has four ordered region edges, such as four ordered region edges connected end-to-end in a clockwise direction to form a closed region; or, if the inner ring is the boundary of a circular region, then the inner ring has one ordered region edge. Ordered region edges can also be simply referred to as region edges; at least one edge forms a curved closed region, at least three edges form a straight closed region, and a combination of curved and straight closed regions can also exist, which is not limited here.
[0270] (2) Calculate the included angle between the sides of adjacent regions.
[0271] Schematic: Adjacent region edges are used to indicate two region edges connected based on a region vertex. If a closed region (inner loop and outer loop, or outer loop) consists of three region edges, then the included angles of the edges based on adjacent region edges are three. If a closed region is a curved closed region consisting of one region edge, then there are no adjacent region edges, and the included angles of the edges are zero.
[0272] Schematic representation, denoted by the included angle between the sides of the region, denoted as α. i For example, based on the inner ring information and the outer ring information, we analyze the included angle between the edges of adjacent areas in a closed region.
[0273] (3) Classify the vertices of the region according to the included angle between the sides of the adjacent regions.
[0274] Schematic illustration: a region vertex is a vertex connecting adjacent regions, and a region vertex corresponds to the included angle of the edge. Optionally, a classification relationship between the included angle of the edge and the region vertex is preset, thereby classifying region vertices based on the included angle of the edge, such as a region vertex represented as v. i .
[0275] The conditional function shown in Formula 1 above characterizes the predefined classification relationship between the included angle of the edges and the vertices of the regions. Although all the vertices of the regions are connected to adjacent edges of the regions, the vertices can be classified into different types according to their position, geometric features, and transformation operations relative to the 3D geometric model.
[0276] In some embodiments, if the vertices of each ring's region are classified into the above four categories, then step 432 is performed; if at least one region vertex does not belong to the above four categories, then step 433 is performed.
[0277] Step 432: Select the block method to perform mesh generation.
[0278] Indicatively, based on the information of the inner and outer rings, if all vertices of the inner and outer rings are determined to belong to the above four categories based on the classification process of Formula 1, then the block method is used to perform a meshing process on the model surface.
[0279] Indicatively, the block method is a meshing strategy used to decompose a model surface into multiple simple regions (blocks), and then mesh within each block. Each block is typically a sub-region with a simple geometry (e.g., rectangle, triangle, etc.), facilitating efficient mesh generation and processing. When dividing the model surface into blocks, factors such as geometry, physical properties, accuracy requirements, and computational efficiency can be considered to divide the model surface into regular and easily meshable regions (blocks).
[0280] Subsequently, for the multiple blocks divided from the model surface, each block can be processed independently to reduce complexity and improve computational efficiency. Illustratively, for blocks with regular geometric shapes, structured meshes (such as rectangular meshes, square meshes, etc.) are typically used for meshing; for blocks with complex geometric shapes, unstructured meshes (such as triangular meshes, quadrilateral meshes, etc.) or hybrid meshes are typically used for meshing.
[0281] Taking the process of quadrilateral meshing by block division as an example, for model surface A, which can be meshed by block division, the model surface is first decomposed into multiple blocks. For blocks with regular geometric shapes, square meshes can be used for meshing, and for blocks with complex geometric shapes, quadrilateral mesh elements can be used for meshing, etc. There are no restrictions here.
[0282] Step 433: Select the raster method to perform mesh generation.
[0283] Schematic illustration: If at least one vertex in all regions of the inner and outer rings is determined not to belong to the above four categories, then the grid method is used to perform meshing on the model surface. The grid method achieves meshing by constructing a regular mesh on the model surface, such as dividing the model surface into a series of regular mesh units (e.g., rectangles, squares, etc.). In addition, when the boundary region of the model surface is a region enclosed by a smooth curve, most of the mesh units obtained by the grid method have a regular structure (e.g., most of the regular quadrilateral mesh units are obtained by meshing with a quadrilateral mesh), and a small number of mesh units have an irregular structure (e.g., a small number of triangular mesh units are obtained by filling the boundary region of the model surface with a triangular mesh). This is not limited here.
[0284] Step 441, block-based discrimination.
[0285] For illustration purposes, when the number of inner rings on the model surface is 1, step 441 is executed. Step 441 is the same as step 431 above, and will not be described in detail here.
[0286] In some embodiments, if the vertices of each ring (inner ring and outer ring) are classified into the above 4 categories, then step 432 is performed as above, that is, the model surface is partitioned using the block method; if there is at least one region vertex that does not belong to the above 4 categories, then step 442 is performed as follows.
[0287] Step 442, single inner ring template method for discrimination.
[0288] The single inner ring template method, as illustrated, refers to the process of determining the template to be used by identifying the model surface style when a single inner ring exists. The preset templates in the single inner ring template method mainly include: double ring template, outer square inner circle template, double square template, and outer circle inner square template. Therefore, the determination process mainly includes ring identification and square ring identification, which have been explained above and will not be repeated here.
[0289] In some embodiments, the shapes of the inner and outer rings are determined based on the single inner ring template method. If the nesting and matching of the inner and outer rings conforms to the above-mentioned double ring template, outer square inner circle template, double square template, and outer circle inner square template, then step 443 is executed; if the nesting and matching of the inner and outer rings does not conform to the above-mentioned double ring template, outer square inner circle template, double square template, and outer circle inner square template, then step 433 is executed as above, which is not limited here.
[0290] Step 443: Select the corresponding template method.
[0291] In illustrative terms, the template method is a technique for partitioning model surfaces based on a predefined reference template. Typically, the model surfaces are divided into regular patches using the reference template. The reference template is a pre-defined template used to perform the partitioning process on the model surfaces. The reference template can include at least two nested templates corresponding to the aforementioned nesting conditions, such as a double-ring template, an outer square inner circle template, a double-sided template, or an outer circle inner square template. Furthermore, the reference template can also include at least one of various templates such as a circular template, a square template, a square with rounded corners, a sector template, a rectangular-like template, or a quadrilateral template; these are not limited here.
[0292] Optionally, if the first model surface is determined to conform to any one of the above-mentioned double-ring template, outer square inner circle template, double square template, and outer circle inner square template based on the first outer ring information and the first inner ring information, then a reference template matching the shape of the first model surface is obtained, so that when the first model surface is divided using the third division strategy, the reference template matching the shape of the first model surface (such as using a circular template for a circular first model surface) is used to divide the first model surface.
[0293] Schematic, based on step 442 above, when the nesting of the inner and outer rings conforms to any one of the above-mentioned double-ring template, outer square inner circle template, double-sided template, and outer circle inner square template, the nested template that has a matching relationship with the model surface can be used to perform subdivision processing on the model surface. The matching relationship usually represents the similarity or sameness between the template surface and the nested model.
[0294] For example, if both the inner and outer rings of the first model surface are circular, then it conforms to the double-ring template in the nested template. Therefore, the double-ring template is used to perform the subdivision process on the first model surface. This is not limited here.
[0295] Schematic, based on step 451 below, in the absence of an inner ring and the outer ring conforming to at least one of the above-mentioned circular template, square template, square rounded corner template, fan-shaped template, rectangular template, quadrilateral template, etc., a reference template with a matching relationship with the model surface can be used to perform subdivision processing on the model surface. The matching relationship usually represents the similarity or identity relationship between the template surface and the reference model.
[0296] For example, if the first model surface does not include the inner ring and the outer ring is circular, it conforms to the circular template in the reference template. Therefore, the circular template is used to perform the subdivision process on the first model surface. This is not limited here.
[0297] Step 451, use the template method without inner rings for discrimination.
[0298] The illustrative example of the template-without-inner-ring method refers to the process of determining the template to be used by judging the model surface style in the absence of an inner ring. In this case, the outer ring information mentioned above is used for the following analysis process. The preset templates in the template-without-inner-ring method mainly include: circular template, square rounded corner template, sector template, rectangular template, and quadrilateral template. The judgment process for each template is shown below. The ring judged at this time is the outer ring, which will be referred to as the outer ring below.
[0299] (1) Circular template discrimination.
[0300] In a schematic way, based on the information of the outer ring, all geometric edges on the ring (which can also be called the region edges, model edges, etc. mentioned above, without limitation here) are obtained, and each geometric edge is used as an arc to obtain the radius and center coordinates of each edge; if the radius values obtained by all geometric edges are the same as the center coordinates, then the outer ring is determined to be a ring and has a matching relationship with the circular template.
[0301] (2) Square rounded corner template.
[0302] To illustrate, let's take the case of using a square rounded corner template to identify one or two rounded corners as an example; based on the outer ring information, obtain all geometric edges on the outer ring and identify the rounded corner edges; then calculate the first area ratio between the area of the model surface (in this case, the outer ring) and the surface area of the Oriented Bounding Box, which is a virtual box that exactly surrounds the outer ring in a two-dimensional plane; if the number of rounded corner edges is 1 or 2, and the first area ratio is greater than the first ratio threshold (such as a preset value of 0.785), then the outer ring is determined to be a square rounded corner, and it has a matching relationship with the square rounded corner template.
[0303] (3) Sector template discrimination.
[0304] Indicatively, based on the outer ring information, all geometric edges of the outer ring are obtained, and the circular arc edges and straight lines are identified. If the number of geometric edges is 3 and consists of 2 straight lines and 1 circular arc edge, and the radius of the circular arc edge is equal to the length of the two straight lines, then the outer ring is identified as a sector and has a matching relationship with the sector template.
[0305] (4) Rectangular template discrimination.
[0306] In a schematic way, the area of the model surface (which is the outer ring in this case) is determined based on the outer ring information. Then, a second area ratio between the area of the model surface and the surface area of its directed bounding box is determined. The directed bounding box is a virtual box that exactly surrounds the outer ring in a two-dimensional plane. If the second area ratio is greater than the second area threshold (such as a preset value of 0.83), the outer ring is identified as a rectangle-like shape and has a matching relationship with the rectangle-like template.
[0307] (5) Quadrilateral template discrimination.
[0308] Indicatively, obtain all ordered geometric edges of the outer ring of the model surface, and calculate the adjacent angles and the length of each geometric edge; if the number of geometric edges is 4, the adjacent angles are not 0 or π, and the length ratio of opposite edges (not adjacent) is not less than 0.333, then the outer ring is determined to be a quadrilateral and has a matching relationship with the quadrilateral template.
[0309] It is worth noting that the above-mentioned reference templates and the process of analyzing the matching relationship of the reference templates are only illustrative examples, and the embodiments of this application do not limit them.
[0310] Step 452, block-based discrimination.
[0311] For illustration, when the number of inner rings on the model surface is determined to be 0 based on the inner ring information, and the above-mentioned template method without inner rings cannot select a matching template from the preset templates (circular template, square rounded corner template, fan-shaped template, rectangular template, quadrilateral template), then step 452 is executed. Step 452 is the same as step 431 above, and will not be described in detail here.
[0312] In some embodiments, if the region vertices of each ring (in this case, only the outer ring is considered in step 451) are classified into the above four categories based on the outer ring information, then step 432 is executed as above, that is, the model surface is partitioned using the block method; if there is at least one region vertex that does not belong to the above four categories, then step 453 is executed as follows.
[0313] Step 453, select the triangle merging method.
[0314] Among them, the triangle merging method is usually used to merge multiple small triangular mesh cells into larger triangular mesh cells or quadrilateral mesh cells to achieve the purpose of mesh simplification.
[0315] Schematic: When the shape of the first model surface does not match the reference template based on the outer ring information (the judgment result of step 451 is negative), and the vertex type of the region corresponding to the outer ring does not meet the type condition, it indicates that the model surface being analyzed has a geometric difference compared to the reference template, and also indicates that the model surface being analyzed has high smoothness (e.g., many curves). In this case, a more refined triangular mesh can be used to first perform subdivision processing on the model surface, and then the subdivided triangular mesh units can be merged, i.e., the capability of the triangular merging method. Among them, the triangular mesh can effectively handle irregular, highly smooth, or other complex shapes. For example, an irregular spherical surface can be decomposed into multiple triangular mesh units, and then by merging at least two triangular mesh units, the processing can be simplified and the calculation and analysis process can be optimized without missing important information on the model surface.
[0316] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0317] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0318] In this embodiment, by combining the number of inner rings and the region boundaries of closed areas in the model surface, a fine-grained process can be achieved to determine the partitioning strategy used when partitioning the model surface. By combining the above multiple judgment processes, corresponding partitioning strategies can be determined for multiple module surfaces respectively, so as to perform efficient partitioning of module surfaces through partitioning strategies with higher adaptability. This can improve the generation quality and efficiency of subsequent mesh elements while avoiding the omission of geometric information on the model surface, thereby helping to improve the realism of simulation analysis.
[0319] In some optional embodiments, during the process of partitioning the first model surface using a partitioning strategy, it is also necessary to constrain the partitioning process of the first model surface by normalizing the discrete number, thereby obtaining at least two first mesh elements corresponding to the first model surface. (Illustrative example, such as...) Figure 5 As shown, the method is illustrated using an example of it being executed by a computing device. Figure 2 Step 240 shown or Figure 3 Step 350 shown can also be implemented as follows.
[0320] Step 510: Determine the multiple model geometric edges corresponding to the geometric model.
[0321] Optionally, the geometric model includes multiple model faces, each model face includes at least one model geometric edge, and the multiple model geometric edges corresponding to the multiple model faces are combined to obtain the geometric model. The model geometric edges together form the geometric model.
[0322] Indicatively, if the external closed region corresponding to the model surface is regarded as the model surface itself, then the region edges of the external closed region corresponding to the model surface are included among the multiple model geometric edges, which is not limited here; the first model surface is any one of the multiple model surfaces, and the first model surface includes at least one model geometric edge among the multiple model geometric edges.
[0323] Step 520: Obtain the standard discrete numbers corresponding to the geometric edges of the multiple models.
[0324] The standard discrete number is used to constrain the number of mesh cells generated during mesh generation.
[0325] Optionally, the standard discrete number is a preset value used to constrain the number of segments for a model geometric edge during mesh generation. If the standard discrete number is a preset value, it is usually determined by a preset mesh size value. For example, if the mesh size is set to 0.1 and the length of the model geometric edge is 1, the standard discrete number is the ratio between the length of the model geometric edge and the mesh size, i.e., the standard discrete number is 10, etc.
[0326] Optionally, the normalized discrete number is a value obtained by adjusting a preset value, which is called the initial discrete number.
[0327] In an optional embodiment, the initial discrete number corresponding to each of the multiple model geometric edges is determined.
[0328] The initial discrete number is used to characterize the number of geometric edges of the model when performing mesh generation on the geometric model.
[0329] In illustrative terms, the initial discrete number is a pre-set value representing the initial discretization degree of the model faces during mesh generation. When the initial discrete number corresponds to the geometric edges of the model, it represents the number of divisions of the geometric edges within the model domain. It influences how continuous geometric or physical problems are transformed into discrete problems during computation. For example, the initial discrete number can be the number of mesh divisions initially set when performing mesh generation. This can be determined based on pre-set mesh size values and the length of the model's geometric edges, or based on geometrically adaptive size values (where the geometric model or model faces automatically adjust the mesh size or resolution), or simply set directly, etc. No specific limitations are specified here.
[0330] Taking the initial discrete number calculated based on the set mesh size value as an example, the initial discrete number corresponding to multiple model geometric edges is determined by the mesh size value of the mesh used in the meshing process.
[0331] In an optional embodiment, with the goal of having at least two model geometric edges among the multiple model geometric edges share a common discrete number, the initial discrete numbers corresponding to the multiple model geometric edges are adjusted to obtain the normalized discrete numbers corresponding to the multiple model geometric edges.
[0332] In a schematic way, considering that the initial discrete numbers corresponding to multiple model geometric edges may have the same relationship, we can use the initial discrete number value as a reference and take the goal of at least two model geometric edges sharing the same discrete number as the objective to adjust the initial discrete number corresponding to multiple model geometric edges, thereby obtaining the standard discrete number corresponding to multiple model geometric edges.
[0333] In some embodiments, extracting all topologies from multiple model faces can be simplified to a geometric face without inner loops (such as a quadrilateral) with only four model geometric edges, and extracting inner and outer loops can be simplified to a single-inner-loop model face with one periodic geometric edge, thereby constructing a topological relationship graph between model faces.
[0334] like Figure 6 The diagram illustrates the process of obtaining the initial discrete number of model geometric edges. It exemplarily extracts the topological relationship of the model surface and the initial discrete number of its geometric edges. The inner ring 610 in the middle is a circular ring, which is exactly a periodic geometric edge. Although the outer ring is composed of multiple model geometric edges, it can be simplified to a periodic geometric edge, thus satisfying the requirements for model surface extraction. Figure 6 The diagram shows multiple model edges of an outer ring, with the initial discrete numbers corresponding to different model edges displayed for clarity.
[0335] In some embodiments, a linear programming solver is used to solve the analysis between the geometric edges of the model and adjust the initial discrete numbers.
[0336] To illustrate, using a linear and mixed integer programming solver (coin-or branch and cut solver, COIN-OR.Cbc), the linear programming problem is: to make the discrete numbers of the two pairs of opposite edges of the extracted inner-loop-free model surface equal, and to make the discrete numbers of the inner and outer loop model edges of the single-inner-loop model surface equal.
[0337] Therefore, based on the above problem, a series of binary pairs can be constructed. For example, suppose there are sets A and B of model geometric edges, where the sum of the discrete numbers of the model geometric edges in set A is expected to be equal to the sum of the discrete numbers of the model geometric edges in set B. Assume: the initial discrete number of the i-th model geometric edge is D. i The discrete number of the planned program is d. i Then, any two sets of geometric edges of the paired model, A and B, can be used to construct the following optimization problem, which includes the following formula 2.
[0338] Formula 2:
[0339]
[0340] in, For the variable to be solved (e.g., the optimal variable); D max and D minLet w represent the maximum and minimum initial discrete numbers. The maximum initial discrete number is the largest of the initial discrete numbers corresponding to multiple model geometric edges in the two sets, and the minimum initial discrete number is the smallest of the initial discrete numbers corresponding to multiple model geometric edges in the two sets. i The weight coefficient is the weight coefficient for each geometric edge of the model. Optionally, the weight coefficient can be a randomly selected value, or it can be the reciprocal of the initial discrete number corresponding to each geometric edge of the model, etc., without any limitation here.
[0341] This is illustrative; the result is obtained based on the solution obtained from Formula 2 above. Then, the following formula 3 can be used to further obtain the standardized discrete number after planning.
[0342] Formula 3:
[0343]
[0344] Where, d i It is the normalized discrete number obtained after combining the initial discrete number of the geometric edges of the model from the analysis of the two sets; combining the above, we can obtain the normalized discrete number of the geometric edges of the multiple models in the two sets respectively.
[0345] like Figure 7 The figure shown is a schematic diagram of the geometric edges of the discrete model obtained based on the linear programming solver. Figure 7 The diagram shows multiple model edges for an outer ring, illustrating the initial discrete numbers corresponding to different model edges. Among these, compared to... Figure 6 Regarding the initial discrete numbers shown, the normalized discrete numbers corresponding to the extracted model surfaces have strong normalization. For example, the discrete numbers of multiple model geometric edges 710 corresponding to the outer ring are all 18, which makes it easier to perform the meshing process with the corresponding number of grids and improve the meshing efficiency.
[0346] Optionally, for model surfaces that do not meet the above requirements for model surface extraction but are subjected to this process, a preset initial discrete number can be used as the standard discrete number for constraint-based partitioning, which is not limited here.
[0347] Step 530: Based on the standard discrete numbers corresponding to the geometric edges of the multiple models, the first model surface is partitioned using a partitioning strategy to obtain at least two first mesh elements.
[0348] Indicatively, the standard discrete number constrains the number of segments to be performed on the model geometry edge. Therefore, when the first model surface is partitioned using the partitioning strategy corresponding to the first model surface, the first model geometry edge corresponding to the first model surface is determined. The first model geometry edge is the model geometry edge used to form the first model surface from at least one model geometry edge. Using the standard discrete number corresponding to the first model geometry edge as a constraint, the first model surface is partitioned using the partitioning strategy corresponding to the first model surface to obtain at least two first mesh elements.
[0349] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0350] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0351] In this embodiment, the geometric features and physical requirements of multiple model geometric edges of the integrated geometric model are used to perform appropriate normalization processing on the preset initial discrete numbers to obtain normalized discrete numbers that are reasonably planned, meet the accuracy requirements of mesh partitioning, and balance computational efficiency. This allows for the targeted allocation of partitioning strategies to the model surfaces, and the normalized discrete numbers are used to perform more targeted and refined partitioning of the model surfaces, reducing the number of mesh size configurations, improving mesh partitioning efficiency, and also improving the accuracy of the mesh cells obtained from the partitioning, so as to improve the accuracy of the analysis results of subsequent simulation analysis.
[0352] In an optional embodiment, after dividing the first model surface using a partitioning strategy to obtain at least two first mesh elements, the element partitioning quality corresponding to each of the at least two first mesh elements is detected to obtain at least two detection information. The first mesh elements are then adjusted based on this detection information to obtain a first adjustment surface corresponding to the first model surface. This allows for more detailed simulation analysis of the geometric model using the first adjustment surface. This process can be summarized as the mesh optimization stage of the mesh generation process. Figure 8As shown, taking the method executed by a computing device as an example, if the mesh generation method is applied to a quadrilateral mesh generation scenario, then at least two mesh elements obtained based on the meshing of the model surface will include quadrilateral mesh elements, which may also contain a small number of distorted mesh elements (such as triangular mesh elements); therefore, it is necessary to remove or reduce triangular mesh elements as much as possible to improve the generation quality of the mesh elements; based on this, the above Figure 2 The illustrated embodiments are followed by the following steps.
[0353] Step 810: Detect the cell division quality corresponding to at least two first grid cells respectively, and obtain the detection information corresponding to at least two first grid cells respectively.
[0354] In some embodiments, for multiple model faces in a geometric model, a geometric face is selected sequentially and partitioned using the partitioning strategy selected in the above manner; taking the partitioning process of the first model face as an example, the unit partitioning quality corresponding to at least two first mesh units in the first model face is detected to obtain detection information corresponding to at least two first mesh units.
[0355] The detection information is used to characterize the meshing quality of the first mesh cell relative to the first model surface.
[0356] Indicatively, the detection information includes the number of singularities, the number of triangular mesh cells, the Jacobian ratio of cell corners, the aspect ratio of cells, the twist of cells, the maximum interior angle of cells, and the minimum interior angle of cells.
[0357] Singularity count: Used to characterize the number of singular points. In quadrilateral mesh generation, a singular point is a non-boundary mesh node that connects to at least four quadrilateral mesh elements, affecting the mesh's topology. For example, if a quadrilateral mesh node connects to three or five quadrilateral mesh elements, this node is considered a singular point. In this case, the overall local topology of the mesh becomes irregular, potentially leading to numerical problems.
[0358] Number of triangular elements: This refers to the number of triangular mesh elements. For example, during the quadrilateral meshing process, some triangular meshes may exist due to the needs of meshing, the geometric complexity of the model surface, or the requirements of algorithm design. For instance, quadrilateral meshes cannot perfectly fit all shapes, so triangular mesh elements are used in certain areas of the model surface to ensure the integrity of the mesh.
[0359] Jacobian ratio at cell corners; The Jacobian ratio is an important metric in the mesh generation and optimization process, used to evaluate the shape quality of mesh cells. It is related to the geometric deformation of mesh cells and reflects the degree of deformation of mesh cells from standard shapes (such as squares or rectangles) to their actual shapes. An Jacobian ratio close to 1 indicates that the mesh cells have hardly undergone deformation, with shapes close to squares or rectangles, and the mesh cell quality is good. An Jacobian ratio much less than 1 indicates that the mesh cells have undergone significant distortion or stretching, resulting in poor shapes. Although an Jacobian ratio greater than 1 is uncommon, it signifies abnormal behavior such as the mesh cell shape being more "spread out" or "expanded" than the standard shape (e.g., a unit square).
[0360] Element aspect ratio: Used to describe the ratio between the length and width of a mesh element in its local coordinate system. The aspect ratio is an important indicator of mesh element quality and is usually used to evaluate whether the mesh element has a "reasonable" shape. In quadrilateral mesh element partitioning, the ideal mesh element is close to a square, and the closer the aspect ratio is to 1, the more regular the shape of the mesh element. Mesh elements with a large aspect ratio usually indicate that the shape is elongated, etc.
[0361] Element torsion: Element torsion measures the degree of “twisting” of a mesh element in terms of geometry. It usually refers to the degree to which the angle or shape of a mesh element deviates from an ideal element (such as a square under a quadrilateral mesh). Mesh elements with large torsion indicate that their shape is irregular, which may cause numerical instability or calculation errors.
[0362] Maximum interior angle of a cell: This refers to the largest angle inside a mesh cell. It is usually used to evaluate whether the geometry of the mesh cell is reasonable. In a quadrilateral mesh, if a certain angle of a quadrilateral mesh cell is too large (such as close to 180 degrees), the mesh cell will be considered deformed.
[0363] Minimum interior angle of a cell: refers to the smallest angle inside a grid cell; the minimum interior angle of a cell should be kept as small as possible. If the minimum interior angle of a cell is too small, it usually means that the quality of the cell is poor, which may affect the accuracy and stability of the solution.
[0364] Step 820: Adjust at least one of the two first mesh units based on the detection information to obtain the first adjusted surface corresponding to the first model surface.
[0365] In a schematic manner, considering that the model surface may be partitioned using either a grid method or a triangle merging method, resulting in at least one first mesh cell potentially containing triangular mesh cells (e.g., when partitioning a model surface containing a smooth curve using a grid method, the boundary region corresponding to the smooth curve is filled with triangular cells to obtain triangular mesh cells; or, when partitioning a model surface using a triangle merging method, some triangular mesh cells are omitted and do not participate in the merging process, etc.), the triangular mesh cells can be removed using detection information to obtain the first adjustment surface; and / or, singularities may also exist during the mesh partitioning process, so the singularities can also be removed using detection information to obtain the first adjustment surface, etc., without limitation here.
[0366] The first adjustment surface is used to perform simulation analysis on the geometric model.
[0367] In an optional embodiment, at least one triangle removal path is generated based on the detection information. The triangle removal path is used to remove triangle mesh cells from at least two first mesh cells.
[0368] Optionally, if the mesh generation method is applied to a quadrilateral mesh generation scenario, and the first model surface is partitioned using the above-mentioned grid method or triangle merging method, the resulting mesh elements may include quadrilateral mesh elements and a small number of triangular mesh elements. Therefore, it is necessary to remove or reduce the number of triangular mesh elements as much as possible.
[0369] In illustrative terms, triangle removal refers to the operation of removing unnecessary or redundant triangular mesh cells during the mesh generation process. Triangle removal paths involve removing unnecessary path segments or optimizing paths to avoid certain invalid regions during the search for the shortest or feasible path.
[0370] Optionally, a shortest path algorithm can be used to remove certain triangular grid cells from a map that includes triangular grid cells in order to find the shortest or effective path.
[0371] Triangle removal paths are generally classified into three types: shrinking paths, splitting paths, and flipping paths.
[0372] like Figure 9 As shown, the contraction path may also include a single contraction path 910 and multiple contraction paths 920.
[0373] Among them, single shrinkage path 910 refers to the process of simplifying or reducing each part of the path to a simpler form during path optimization or reduction, i.e., performing a single shrinkage operation on a given path. For example, merging consecutive straight line segments in the path into a single straight line, or deleting unnecessary triangular mesh cells 911 in the path; multi-shrinkage path 920 refers to performing multiple shrinkage operations during path reduction, or shrinking multiple paths simultaneously. Unlike single shrinkage path, multi-shrinkage path may involve the simultaneous optimization or reduction of multiple paths, and multiple paths may be optimized in parallel to remove triangular mesh cells 921 on multiple paths, etc.
[0374] like Figure 10 As shown, the classification path may also include a circular splitting path 1010 and a linear splitting path 1020.
[0375] Among them, the ring-shaped split path 1010 is a closed path splitting method, where the starting and ending points of the path are connected to form a ring structure. The characteristic of the ring-shaped split path is that the path itself is ring-shaped, and during the splitting process, the splitting or decomposition of the path unfolds around the ring structure, such as the triangular mesh unit 1011 distributed in a ring structure; the linear split path 1020 splits the path along a straight line, and the path splitting is based on straight line segments. The linear split path is decomposed into multiple straight line segments, each of which unfolds along a straight line, such as the triangular mesh unit 1021 distributed in a linear structure, etc.
[0376] like Figure 11 As shown, when removing a path is a reversed path, it is necessary to remove unnecessary triangular mesh elements 1110 to change the direction or order of the path. This can be used for path simplification, path reversal, or optimization when dealing with complex path problems.
[0377] The removal paths described above are all composed of two triangles and the quadrilateral units between the two triangles.
[0378] In some embodiments, the triangle removal paths have priorities. Therefore, when there are multiple triangle removal paths, the priorities of the multiple triangle removal paths are determined and sorted by priority.
[0379] As an illustration, the priority calculation formula is shown in Formula 4 below.
[0380] Formula 4:
[0381]
[0382] In the formula, N rs D represents the number of singularities on the current removal path. triThis represents the minimum number of grid edges required to separate two triangular grid cells on the current path (e.g., ...). Figure 12 (The image shows four grid edges).
[0383] In an optional embodiment, at least one triangular mesh cell is removed from at least two first mesh cells based on the triangle removal path to obtain a first adjustment surface corresponding to the first model surface.
[0384] This example illustrates how the triangle removal path is traversed sequentially, skipping invalid paths and performing triangle removal operations on valid paths. Invalid paths include those where quadrilateral cells on the path intersect, quadrilateral cells on the path have already been removed, and triangles at both ends of the path have been removed.
[0385] Optionally, the path with the highest value calculated using the priority formula in Formula 4 above is selected as the highest priority removal path. A schematic diagram of the triangle removal operation is shown below for different removal paths. Figure 12 , Figure 13 and Figure 14 As shown.
[0386] like Figure 12 As shown, for the single-path triangle removal process 1210, removing triangle mesh elements 1211 will not have a significant impact on the mesh shape distribution; for the multi-path triangle removal process 1220, removing triangle mesh elements 1221 will have a significant impact on the mesh shape distribution, such as causing some deformation of mesh elements in order to make the mesh elements coherent, which will be optimized in the future.
[0387] like Figure 13 As shown, for the triangle removal process 1310 of the ring classification path, removing the triangle grid cells 1311 will not have a significant impact on the grid shape distribution; for the triangle removal process 1320 of the straight split path, removing the triangle grid cells 1321 will have a significant impact on the grid shape distribution.
[0388] like Figure 14 As shown, in the process of removing triangles along the flip path 1410, after removing the triangle mesh unit 1411, the triangle mesh unit 1411 transitions into a quadrilateral mesh unit, etc.; the above removal results are only illustrative examples and are not limited here.
[0389] In an optional embodiment, at least one singularity removal path is generated based on the detection information.
[0390] The singularity removal path is used to remove at least one singularity from at least two first grid cells. A singularity is a grid vertex whose number of connected quadrilateral grid cells is not equal to a reference value.
[0391] For illustrative purposes, a reference value of 4 indicates that a singularity is a grid vertex that connects to a quadrilateral grid cell with a number not equal to 4; or, it indicates that a singularity is a non-boundary grid vertex that connects to a quadrilateral grid cell with a number not equal to 4, etc.
[0392] Optionally, the processing is performed using the singularity editing primitive for quadmeshes (Q-zip). Q-zip improves the quality of the quadmesh or eliminates unnecessary singularities by moving singularities, thereby increasing the regularity of the mesh cells. First, singularities in the quadmesh cells are identified; then, Q-zip operations are used to generate singularity removal paths. These singularity removal paths define how to move singularities from one location to another through local topology operations.
[0393] In an optional embodiment, at least one singular point is removed from at least two first mesh cells based on the singular point removal path to obtain a first adjustment surface corresponding to the first model surface.
[0394] Indicatively, Q-zip operations are performed based on the generated singularity removal paths to remove singularities from at least two first mesh cells. These removal operations are local, but multiple singularities can be processed efficiently by parallel execution, thereby obtaining the first adjustment surface corresponding to the first model surface.
[0395] like Figure 15 As shown, the diagram includes a schematic 1510 of the first model surface obtained without the above process and a schematic 1520 of the first adjusted surface obtained after the above process. Compared with the first comparison region 1511 in schematic 1510, the mesh cells generated in the first region 1521 in schematic 1520 have a more balanced density and higher quality. In addition, compared with the second comparison region 1512 in schematic 1510, the mesh cells generated in the second region 1522 in schematic 1520 have stronger regularity, making the inward concavity effect more obvious, the edges clearer and more regular, and the details richer. That is, the mesh cells in the second region 1522 are of higher quality than those in the second comparison region 1512. From this comparison, it can be seen that the mesh cell division in the first adjusted surface is more regular, that is, the generation quality of the mesh cells is higher.
[0396] In some embodiments, the mesh cells can also be smoothed. This smoothing process can be applied after the triangle removal process and / or the singularity removal process, for example, smoothing applied after the triangle removal process. Figure 16 The diagram shows a flowchart of a triangle cell removal algorithm based on a removal path, including smoothing processing, comprising the following steps.
[0397] Step 1610, Input: Triangle-quadrilateral hybrid mesh to be optimized.
[0398] The input is illustrative, representing a model face that contains a mixture of triangular and quadrilateral mesh elements from which triangular mesh elements need to be removed.
[0399] Step 1620: Generate all triangle removal paths and sort them by priority.
[0400] As an illustration, the priorities corresponding to the multiple triangle removal paths are obtained based on Formula 4 above.
[0401] Step 1630: Iterate through the triangle removal paths in sequence, skipping invalid paths and performing triangle removal operations on valid paths.
[0402] This example illustrates how the triangle removal path is traversed sequentially, skipping invalid paths and performing triangle removal operations on valid paths. Invalid paths include those where quadrilateral cells on the path intersect, quadrilateral cells on the path have already been removed, and triangles at both ends of the path have been removed.
[0403] Step 1640: A triangle was removed before the maximum number of attempts was reached.
[0404] This is illustrative; the maximum number of times is a preset maximum number of operations to remove triangular mesh cells. If this maximum number is not reached, step 1620 and subsequent steps are repeated; if this maximum number has been reached, step 1650 is executed.
[0405] Step 1650: Smooth the mesh cells.
[0406] Illustratively, smoothing is an important step in improving mesh cell quality, reducing noise, and improving the appearance of the model. Methods include Laplacian smoothing (moving each vertex to the average position of its neighboring vertices), weighted Laplacian smoothing, and curvature flow smoothing (adjusting the position of each vertex by calculating the curvature of each vertex).
[0407] In some embodiments, local optimization of the mesh cells can also be performed, such as topology optimization and shape optimization.
[0408] like Figure 17 The diagram illustrates a local optimization method. Shape optimization can be performed on the region surrounding low-quality mesh cells to transform mesh region 1711 into mesh region 1712; or topology optimization can be performed on the region surrounding low-quality mesh cells to transform mesh region 1721 into mesh region 1722.
[0409] Alternatively, local mesh cell regions around low-quality mesh cells can be manually selected, and secondary subdivision can be performed by extracting the boundaries of the local regions to improve the quality of the mesh cells, i.e., the local regeneration method.
[0410] like Figure 18 The diagram shows a local regeneration method, in which a local mesh cell region 1810 around a low-quality mesh cell can be manually selected, and then the selected mesh cell region can be re-divided using a re-division method, such as the optimized mesh cell region 1820, to improve the quality of the mesh cell.
[0411] Step 1660, Output: Optimized mesh cells.
[0412] Indicatively, the optimized mesh cells form the first adjustment surface.
[0413] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0414] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0415] In an optional embodiment, in the field of computer-aided engineering simulation, mesh generation, as a crucial step, plays a key role in transforming a continuously represented three-dimensional geometric model (3D model) into discrete elements with finite degrees of freedom. The quality of the mesh directly affects the accuracy of the simulation results and the computational efficiency. (Illustrative example, such as...) Figure 19 The diagram shown is a flowchart of computer-aided engineering simulation, which includes steps 1910 to 1950.
[0416] Step 1910, geometric preprocessing.
[0417] To illustrate, taking the analysis of a three-dimensional model as an example, the three-dimensional model is first subjected to geometric preprocessing to ensure that the geometry of the three-dimensional model meets the requirements of simulation analysis; the processed three-dimensional model is obtained through geometric preprocessing.
[0418] Geometric preprocessing, including simplifying geometric details (such as removing unnecessary small features), defining boundary and constraint conditions, and smoothing surfaces, provides an accurate, reasonable, and efficient foundation for the simulation process.
[0419] Step 1920, Mesh generation.
[0420] This illustration demonstrates how the processed 3D model is divided into mesh elements suitable for simulation using a mesh generation method. These mesh elements can be at least one of the following forms: triangles, quadrilaterals, pentagons, trihedrons, tetrahedrons, etc. Mesh generation is a method used to process 3D models, selected based on factors such as model complexity, required analysis accuracy, and computational resources.
[0421] Optionally, the mesh generation method is a 3D meshing method performed on the entire 3D model.
[0422] In illustration, 3D meshing is a mesh generation method performed on the entire 3D model. That is, the model space of the 3D model is divided into multiple small 3D units as mesh units, such as tetrahedrons, hexahedrons, etc. Each 3D unit contains three-dimensional spatial information and can capture the complex geometry of the model.
[0423] Optionally, the mesh generation method is a two-dimensional meshing method performed on the model faces of the three-dimensional model.
[0424] In illustrative terms, two-dimensional meshing is a mesh generation method for the surface of a three-dimensional model. That is, multiple two-dimensional model faces of the three-dimensional model are determined, and each two-dimensional model face is divided into multiple small two-dimensional units as mesh units, such as triangles, quadrilaterals, etc. Each two-dimensional unit contains two-dimensional planar information, which has high computational efficiency.
[0425] Step 1930: Simulation solution.
[0426] In a schematic manner, a simulation is performed based on the generated mesh to obtain at least one simulation result. The simulation result is the result of analyzing the three-dimensional model through the generated mesh elements.
[0427] In illustrative terms, a three-dimensional model is analyzed based on a predefined physical model using mesh elements. For example, the temperature distribution is obtained as a simulation result by analyzing the three-dimensional model using the heat conduction equation based on mesh elements; and / or, the elastic modulus results (such as stress field results, strain field results, etc.) are obtained as simulation results by analyzing the three-dimensional model using the elastic modulus equation based on mesh elements.
[0428] Step 1940, Result Analysis.
[0429] To illustrate, the simulation results are subjected to accuracy and convergence analysis. If the simulation results do not meet the accuracy and / or convergence requirements, the mesh cells need to be further refined or optimized, and the simulation calculation needs to be performed again.
[0430] Accuracy analysis is an analytical process that checks the accuracy of simulation results to determine whether the simulation results have reached the required accuracy. During accuracy analysis, the simulation results are compared with the experimental results after conducting experiments on the 3D model. If there is a significant difference between the simulation results and the experimental results, it means that the simulation results do not meet the accuracy requirements.
[0431] Convergence analysis is the process of determining whether the computation is stable and converges to a reasonable solution during the iterative solution process. Convergence analysis examines the changes in residuals (i.e., errors) during the solution process. The residuals should decrease with increasing iterations to indicate convergence. A convergence criterion (e.g., an error threshold) can be set; when the residuals are less than the error threshold, the computation is considered convergent, thus meeting the convergence requirements.
[0432] Step 1950, post-geometry processing.
[0433] As an illustration, when the simulation results meet the accuracy and convergence requirements, the simulation results are analyzed and the design is optimized based on the generated mesh elements.
[0434] Optionally, the simulation results can be used to predict the performance of the 3D model in actual applications to identify potential weaknesses or areas for optimization; or, the structure or design parameters of the 3D model can be adjusted based on the simulation results to meet performance requirements or improve efficiency, such as fine-tuning the size, shape, or material of the structure to achieve better performance or reduce costs; or, a model performance analysis report or optimization report can be generated based on the simulation results and analysis, etc., which are not limited here.
[0435] In other words, after performing geometric preprocessing on the 3D model, mesh generation is performed on the processed 3D model, and simulation results are obtained. Then, the simulation results are analyzed to see if they meet the accuracy and convergence requirements. If they do not meet the requirements (no), mesh generation is repeated to generate better mesh elements. If they meet the requirements (yes), geometric postprocessing is performed based on the simulation results to obtain the model analysis results based on the 3D model.
[0436] In some embodiments, taking mesh generation for model surfaces as an example, Table 1 shows a comparison of the advantages and disadvantages of using triangular meshes and using quadrilateral meshes for mesh generation.
[0437] Table 1
[0438]
[0439]
[0440] Among them, compared with triangular meshes, quadrilateral meshes have better solution accuracy and computational efficiency, and can be widely used in simulation fields such as structural mechanics, fluid mechanics, and electromagnetic field analysis. Especially in hardware simulation scenarios such as solder joint temperature cycling, bare board drop, packaging drop, modal and random vibration, quadrilateral meshes are the mainstream discrete representation form.
[0441] To illustrate, consider the weld joint temperature cycling scenario as an example. During the welding process, the welding area experiences rapid temperature changes, typically requiring precise simulation of temperature distribution and heat conduction. Weld joint temperature cycling is the process of material heating and cooling during welding, which usually leads to thermal stress, deformation, and weld cracks. To predict the material properties after welding (such as hardness, stress, and deformation), a detailed simulation of the temperature field during the welding process is necessary.
[0442] Optionally, a three-dimensional model of the weld point temperature cycle to be tested is obtained, and the surface of the three-dimensional model (especially the welding area) is discretized using quadrilateral meshes to obtain multiple quadrilateral mesh units on the surface. During the welding process, the temperature spreads from the weld point to the surrounding area, forming a complex temperature field. Quadrilateral mesh units can help to accurately capture the direction and changes of heat transfer in and around the weld point. By continuously calculating the temperature of each quadrilateral mesh unit, the temperature distribution during the welding process can be obtained, etc., without limitation here.
[0443] In an optional embodiment, the quadrilateral mesh generation process is mainly divided into a mesh generation stage and a mesh optimization stage. For example... Figure 20 The diagram shows a schematic of the meshing and mesh optimization stages in related technologies to obtain a quadrilateral mesh.
[0444] (I) Mesh Generation Stage 2010.
[0445] Indicatively, in engineering applications, quadrilateral mesh generation methods typically employ four types of algorithms: template method, grid method, block method, and triangle merging method. Each of these algorithms has its own distinct advantages and disadvantages. In related technologies, it is often necessary to rely on human experience to select the appropriate meshing algorithm based on the characteristics of the 3D model. The meshing algorithm is explained in step 230 above and will not be elaborated upon here.
[0446] In some embodiments, the related technologies typically employ one of the aforementioned algorithms to mesh the various model faces of the 3D model to be analyzed, i.e., using the same algorithm to mesh multiple model faces. However, there is currently no universal quadrilateral meshing algorithm suitable for all 3D models, nor is there a universal quadrilateral meshing algorithm suitable for multiple model faces of a 3D model. Therefore, it is not possible to guarantee successful mesh cell meshing and the high quality and high orthogonality of the mesh cells.
[0447] Table 2 below shows a comparison of the performance of the four quadrilateral meshing algorithms used to mesh the 3D model.
[0448] Table 2
[0449]
[0450] In some embodiments, related technologies may also consider situations where the same algorithm cannot be applied to the analysis of multiple model surfaces. In such cases, the user manually selects different algorithms for meshing different model surfaces. For example, for a 3D model A, the user manually selects to mesh surface A1 using the raster method and surface A2 using the block method. However, relying on user experience to select the appropriate quadrilateral meshing algorithm based on the characteristics of the model surfaces involves a large workload and is time-consuming, which is not conducive to the efficient generation of mesh elements.
[0451] (II) Grid Optimization Phase 2020
[0452] In engineering applications, the main methods are automated local optimization (such as topology optimization and shape optimization) and local regeneration methods that rely on user interaction and configuration (methods for regenerating local features).
[0453] Optionally, after detecting and outputting the mesh cell quality, it can be done through... Figure 17 The local optimization methods shown (such as shape optimization, topology optimization, etc.) improve the cell quality of the area surrounding low-quality mesh cells, which are local optimization methods.
[0454] However, local optimization methods offer very limited improvement in the orthogonality of quadrilateral mesh cells and cannot eliminate triangular cells introduced by the grid method and triangle merging method. Local regeneration methods also heavily rely on manual interaction and experience, resulting in a large workload and time-consuming interaction. Therefore, neither of the aforementioned mesh optimization methods can automatically improve the orthogonality of quadrilateral meshes, nor can they eliminate triangular cells, where orthogonality refers to the property that each quadrilateral mesh is perpendicular to the others.
[0455] In an optional embodiment, considering the drawbacks of the aforementioned mesh generation and optimization stages, the mesh generation method is adopted based on the analysis of the model surfaces of the 3D model, and a suitable algorithm is selected to perform the mesh generation process for the model surfaces. When processing the various model surfaces of the geometric model based on quadrilateral meshes, the above mesh generation method can be called a "quadrilateral mesh generation method." Since the mesh elements obtained by mesh generation are mainly quadrilateral mesh elements (i.e., quadrilateral mesh elements occupy the main proportion), it can also be called a "quadrilateral-dominant mesh generation method," etc. Furthermore, since the analysis of the model surfaces and the determination of the meshing strategy are based at least on the analysis of the region boundaries of the model surfaces, and the region boundaries serve as model features of the model surfaces, the above mesh generation method can also be called "a quadrilateral mesh generation method based on model feature matching." Schematic, the system architecture of this method is as follows: Figure 21 As shown, the mesh generation method is performed through the following components.
[0456] (1) Geometric model feature matcher 2110.
[0457] Intuitively, a geometric model is a model that uses mathematical expressions to describe the geometric features of a three-dimensional object, such as its shape, position, size, and angles. Unlike a three-dimensional model that describes all features of an object in three-dimensional space, a geometric model mainly describes the geometric shape of a three-dimensional object without considering its actual material, structure, or physical properties. It is typically used to design and draw the appearance of objects.
[0458] The geometric model feature matcher is used to parse geometric models, which are typically represented using file formats such as Boundary Representation (BPep), Standard for the Exchange of Product model data (step / stp), and Initial Graphics Exchange Specification (iges / igs). Based on the model features of the geometric model, corresponding quadrilateral meshing algorithms (such as the template method, raster method, block method, triangle merging method, etc. mentioned above) can be matched to different model faces of the geometric model.
[0459] (2) Geometric edge discrete number planner 2120.
[0460] In a schematic manner, the discrete number of each model edge is calculated based on the size control parameters (size information used to constrain each model edge of the model surface); and the discrete number of the model edges of the entire geometric model is planned and adjusted.
[0461] (3) Mesh partitioning algorithm executor 2130.
[0462] This is used to discretize all model edges based on the discrete numbers obtained from the model edge discrete number programming; and to perform quadrilateral meshing on different model surfaces using the corresponding quadrilateral meshing algorithm based on the matching results of the geometric model feature matcher.
[0463] (4) Grid quality detector 2140.
[0464] Used to detect the generation quality of mesh cells, including at least one of the following: number of singular points, number of triangular cells, Jacobian ratio of cell corner points, cell aspect ratio, cell torsion, maximum interior angle of cell, minimum interior angle of cell.
[0465] (5) Triangle unit remover 2150.
[0466] Indicatively, a triangle removal path is generated based on the results of the mesh quality detector. This path is used to remove triangular mesh cells, reducing the number of triangular mesh cells.
[0467] (6) Mesh singularity remover 2160.
[0468] Indicatively, a singularity elimination path is generated based on the results of the mesh quality detector. This path is used to eliminate singularities in the mesh cells, reducing the number of singularities.
[0469] (7) Mesh Local Optimizer 2170.
[0470] This is illustrative of how mesh quality is optimized using a local mesh optimization algorithm based on the results of a mesh quality detector.
[0471] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0472] Referring to the mesh generation process in related technologies, such as Figure 21 The system architecture process shown can be summarized as a mesh generation phase and a mesh optimization phase; illustratively, as illustrated below, the mesh generation method improves upon the mesh generation and mesh optimization phases in related technologies, therefore, as... Figure 22 As shown, the mesh generation process can include improvements to the mesh partitioning stage and the mesh optimization stage.
[0473] (I) Improvements in the mesh generation stage 2210.
[0474] (1) A quadrilateral mesh generation algorithm is used to match each model face with geometric features.
[0475] Indicatively, for the input boundary-based geometric model, multiple model faces corresponding to the geometric model are first determined, and these multiple model faces are used to form the geometric model. Based on the geometric features of the model faces in the geometric model, a quadrilateral mesh generation algorithm is paired with each of the multiple model faces.
[0476] Optionally, the quadrilateral mesh generation algorithm includes at least one of the following: block method, template method, grid method, and triangle merging method.
[0477] This is an illustrative example of the judgment process of executing the generation algorithm on any one of the model faces of a geometric model, such as... Figure 4 The diagram shown is a flowchart of the matching process for determining the mesh generation algorithm based on the geometric features of the model surface; it will not be elaborated upon here.
[0478] (2) Calculate the discrete number of model edges, perform unified planning on the discrete number of model edges, and discretize each model edge.
[0479] Calculate the discrete number of each geometric edge and perform a unified plan for the discrete numbers of all geometric edges.
[0480] (3) Select a model surface and perform mesh generation using its paired quadrilateral mesh generation algorithm.
[0481] To illustrate, a model face is selected sequentially, and a quadrilateral meshing algorithm (partitioning strategy) paired with that model face is selected for meshing. This will not be elaborated on here.
[0482] (II) Improvements in the grid optimization stage 2220.
[0483] (1) Grid cell quality inspection.
[0484] The generated mesh is quality checked, including the quality of mesh cells, such as the number of singularities, the number of triangular cells, the Jacobian ratio of cell corners, the aspect ratio of cells, the twist of cells, the maximum interior angle of cells, and the minimum interior angle of cells.
[0485] (2) Use the grid method or the triangle merging method.
[0486] This example illustrates how to generate triangle removal paths and remove triangle elements from meshes obtained using both the raster method and the triangle merging method.
[0487] (3) Generate singularity elimination paths to eliminate singularities.
[0488] (4) Generate triangle removal paths to eliminate triangle units.
[0489] (5) Perform local optimization of the mesh (topology and shape).
[0490] (6) Complete all grid cells.
[0491] (7) Quadrilateral mesh that meets quality requirements (corresponding one-to-one with the model surface).
[0492] It is worth noting that the above are merely illustrative examples, and the embodiments of this application are not limited thereto.
[0493] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0494] The above describes the mesh generation method provided in the embodiments of this application. Corresponding to the above method, the embodiments of this application also provide a mesh generation apparatus. The apparatus can be implemented as part or all of a computer device by software, hardware, or a combination of both. See also Figure 23 The device includes: an acquisition module 2310, a determination module 2320, and a segmentation module 2330.
[0495] The acquisition module 2310 is used to acquire a geometric model, the geometric model including a first model surface, which is a two-dimensional closed surface;
[0496] The determining module 2320 is used to determine the region boundary of the closed region included in the first model surface, wherein the closed region is a closed portion in the first model surface;
[0497] The determining module 2320 is further configured to determine a partitioning strategy corresponding to the first model surface, wherein the partitioning strategy is the strategy adopted when partitioning the first model surface by mesh under the constraint of the region boundary;
[0498] The partitioning module 2330 is used to partition the first model surface using the partitioning strategy to obtain at least two first mesh elements, which are used to perform simulation analysis on the first model surface.
[0499] In an optional embodiment, the determining module 2320 is further configured to obtain a first inner ring number, the first inner ring number being used to characterize the number of internal closed regions in the first model surface, the internal closed regions being closed regions located within the first model surface; and to analyze the first model surface based on the first inner ring number and the region boundaries to obtain the partitioning strategy corresponding to the first model surface.
[0500] In an optional embodiment, the determining module 2320 is further configured to: obtain the region edges corresponding to at least two closed regions of the first model surface when the number of the first inner rings indicates that the first model surface includes at least one internal closed region, wherein the region edges are boundary line segments that constitute the boundary of the region; determine the vertex type of the region vertices connecting the region edges based on the included angle between the region edges, wherein the included angle is used to characterize the included angle formed by two adjacent region edges; and, if the vertex types of the region vertices corresponding to the at least two closed regions meet the type conditions, use the first partitioning strategy corresponding to the type conditions as the partitioning strategy corresponding to the first model surface.
[0501] In an optional embodiment, the determining module 2320 is further configured to determine the included angle between the edges of the regions within the same internal enclosed region; and to determine the vertex type corresponding to the region vertex based on the included angle using a classification rule, wherein the two adjacent region edges are connected through the region vertex.
[0502] In an optional embodiment, the determining module 2320 is further configured to, when the number of the first inner rings indicates that the first model surface includes at least two internal closed regions, obtain the region edges corresponding to the at least two closed regions respectively, wherein the at least two closed regions include at least one internal closed region and an external closed region corresponding to the first model surface; and, when the vertex type of the region vertices corresponding to the at least two closed regions does not meet the type condition, use the second partitioning strategy as the partitioning strategy corresponding to the first model surface, wherein the second partitioning strategy is used to partition the first model surface using a grid method.
[0503] In an optional embodiment, the determining module 2320 is further configured to: obtain the region edges corresponding to the two closed regions of the first model surface when the first inner ring quantity indicates that the first model surface includes an internal closed region, wherein the two closed regions include an internal closed region and an external closed region corresponding to the first model surface; obtain first outer ring information when the vertex type of the region vertices corresponding to the two closed regions does not meet the type condition, wherein the first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface; use a third partitioning strategy as the partitioning strategy corresponding to the first model surface when the first outer ring information and the first inner ring information meet the nesting condition, wherein the third partitioning strategy is used to perform subdivision processing on the model surface using a reference template; or, use a second partitioning strategy as the partitioning strategy corresponding to the first model surface when the first outer ring information and the first inner ring information do not meet the nesting condition, wherein the second partitioning strategy is used to partition the first model surface using a raster method.
[0504] In an optional embodiment, the determining module 2320 is further configured to: obtain first outer ring information from the region boundary when the first inner ring quantity indicates that the first model surface does not include the internal closed region; the first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface; determine the surface shape corresponding to the first model surface based on the first outer ring information; and, when the surface shape matches the reference template, obtain a third partitioning strategy corresponding to the surface shape as the partitioning strategy corresponding to the first model surface, the third partitioning strategy being used to perform subdivision processing on the model surface through the reference template.
[0505] In an optional embodiment, the determining module 2320 is further configured to, when the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information meets the type condition, obtain a first partitioning strategy corresponding to the reference template as the partitioning strategy corresponding to the first model face; or, when the face shape does not match the reference template and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information does not meet the type condition, obtain a fourth partitioning strategy as the partitioning strategy corresponding to the first model face, wherein the fourth partitioning strategy is used to divide the first model face with a triangular mesh and then merge at least one triangular mesh unit.
[0506] In an optional embodiment, the partitioning module 2330 is further configured to determine a plurality of model geometric edges corresponding to the geometric model, wherein the first model surface includes at least one of the plurality of model geometric edges; obtain the normalized discrete number corresponding to each of the plurality of model geometric edges, wherein the normalized discrete number is used to constrain the number of mesh cells generated during mesh partitioning; and partition the first model surface using the partitioning strategy based on the normalized discrete number corresponding to each of the plurality of model geometric edges to obtain the at least two first mesh cells.
[0507] In an optional embodiment, the subdivision module 2330 is further configured to determine the initial discrete number corresponding to each of the plurality of model geometric edges, the initial discrete number being used to characterize the number of segments of the model geometric edges when performing mesh generation on the geometric model; with the goal of at least two of the plurality of model geometric edges sharing a discrete number, the initial discrete number corresponding to each of the plurality of model geometric edges is adjusted to obtain the standard discrete number corresponding to each of the plurality of model geometric edges.
[0508] In an optional embodiment, the subdivision module 2330 is further configured to detect the cell subdivision quality corresponding to the at least two first mesh cells respectively, and obtain detection information corresponding to the at least two first mesh cells respectively, the detection information being used to characterize the subdivision quality of the first mesh cell relative to the first model surface; and adjust at least one of the at least two first mesh cells based on the detection information to obtain a first adjustment surface corresponding to the first model surface, the first adjustment surface being used to perform simulation analysis on the geometric model.
[0509] In an optional embodiment, the subdivision module 2330 is further configured to generate at least one triangle removal path based on the detection information, the triangle removal path being used to remove triangular mesh elements from the at least two first mesh elements; and to remove at least one triangular mesh element from the at least two first mesh elements based on the triangle removal path to obtain the first adjustment surface corresponding to the first model surface.
[0510] In an optional embodiment, the subdivision module 2330 is further configured to generate at least one singularity removal path based on the detection information. The singularity removal path is used to remove at least one singularity corresponding to at least one mesh cell from the at least two first mesh cells. The singularity is a mesh vertex whose number of connected quadrilateral mesh cells is not a reference value. Based on the singularity removal path, at least one singularity is removed from the at least two first mesh cells to obtain the first adjustment surface corresponding to the first model surface.
[0511] In summary, by characterizing the region boundaries of the model surface's geometric features, this study analyzes the meshing strategies employed when performing mesh generation on the model surface. This allows for the targeted use of matching meshing strategies to perform mesh generation on the corresponding model surfaces, improving the quality of the resulting mesh elements. It enables local mesh refinement while performing global processing on the model surface, ensuring the stability and controllability of the mesh generation. This facilitates more accurate simulation analysis of the model surface using mesh elements, improving the accuracy of the analysis results and the realism of the simulation effects. It also helps to increase the efficiency of simulation analysis based on mesh elements.
[0512] It should be noted that the mesh generation device provided in the above embodiments is only an example of the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the mesh generation device and the mesh generation method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0513] See Figure 24 , Figure 24 A schematic diagram of the structure of an exemplary computing device 2400 of this application is shown. The computing device 2400 includes at least one processor 2401, a memory 2403, and at least one network interface 2404.
[0514] Processor 2401 may be, for example, a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits or application-specific integrated circuits (ASICs), programmable logic devices (PLDs), other general-purpose processors or other programmable logic devices, discrete gates, transistor logic devices, discrete hardware components, or any combination thereof for implementing the scheme of this application. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor. It is worth noting that the processor may be a processor supporting an advanced reduced instruction set machine (RISC) machine (ARM) architecture. It can implement or execute various logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0515] Optionally, the computing device 2400 also includes a bus 2402. The bus 2402 is used to transfer information between the components of the computing device 2400. The bus 2402 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 2402 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 24 The symbol is represented by only one line, but this does not mean that there is only one bus or one type of bus.
[0516] The memory 2403 may be, for example, volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache.
[0517] By way of example, but not limitation, many forms of ROM and RAM are available. For example, ROM is a compact disc read-only memory (CD-ROM). RAM includes, but is not limited to, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0518] The memory 2403 can also be other types of storage devices capable of storing static information and instructions. Alternatively, it can be other types of dynamic storage devices capable of storing information and instructions. It can also be other optical disc storage, optical disk storage (including compressed optical discs, laser discs, optical discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. The memory 2403 may exist independently, for example, and be connected to the processor 2401 via bus 2402. The memory 2403 may also be integrated with the processor 2401.
[0519] Network interface 2404 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), or wireless local area network (WLAN). Network interface 2404 can include wired network interfaces and wireless network interfaces. Specifically, network interface 2404 can be an Ethernet interface, such as Fast Ethernet (FE), Gigabit Ethernet (GE), Asynchronous Transfer Mode (ATM), WLAN, cellular network, or combinations thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In some embodiments of this application, network interface 2404 can be used for computing device 2400 to communicate with other devices.
[0520] In specific implementations, as some embodiments, the processor 2401 may include one or more CPUs, such as Figure 24 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0521] In specific implementations, as some embodiments, the computing device 2400 may include multiple processors, such as... Figure 24 The processors 2401 and 2405 are shown in the diagram. Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0522] In some embodiments, memory 2403 is used to store program instructions 2410 for executing the scheme of this application, and processor 2401 can execute the program instructions 2410 stored in memory 2403. That is, computing device 2400 can implement the method provided in the method embodiment through processor 2401 and program instructions 2410 in memory 2403, i.e. Figure 2 The method executed. Program instructions 2410 may include one or more software modules. Optionally, processor 2401 itself may also store program instructions for executing the scheme of this application.
[0523] In specific implementation, the computing device 2400 of this application can correspond to a first network element device for executing the above method. The processor 2401 in the computing device 2400 reads instructions from the memory 2403, causing... Figure 24 The computing device 2400 shown is capable of performing all or part of the steps in the method embodiments.
[0524] The computing device 2400 can also correspond to the above. Figure 23 The device shown, Figure 23 Each functional module in the illustrated device is implemented using software from computing device 2400. In other words, Figure 23 The device shown includes functional modules generated by the processor 2401 of the computing device 2400 after reading the program instructions 2410 stored in the memory 2403.
[0525] in, Figure 2 Each step of the method shown is implemented through integrated logic circuits in the hardware or instructions in the software form of the processor in the computing device 2400. The steps of the method embodiments disclosed in this application can be directly implemented by the hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other storage media mature in the art. Since this storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method embodiments; to avoid repetition, they will not be described in detail here.
[0526] See Figure 25 , Figure 25 A schematic diagram of an exemplary computing device 2500 according to this application is shown. The computing device 2500 includes a main control board 2510 and an interface board 2530. Figure 25 The computing device 2500 shown is used to perform the operations involved in the above-described mesh generation method. This computing device 2500 can be, for example, a switch, router, or control device. The computing device 2500 is an example of a computing device.
[0527] The main control board 2510, also known as the main processing unit (MPU) or route processor card, is used to control and manage the various components in the computing device 2500, including routing calculation, device management, device maintenance, and protocol processing functions. The main control board 2510 includes a central processing unit 2511 and a memory 2512.
[0528] Interface board 2530, also known as line processing unit (LPU), linecard, or service board, provides various service interfaces and enables packet forwarding. Service interfaces include, but are not limited to, Ethernet interfaces, POS (Packet over SONET / SDH) interfaces, etc., with Ethernet interfaces including, for example, flexible Ethernet clients (FlexE Clients). Interface board 2530 includes: a central processing unit 2531, a network processor 2532, a forwarding table entry memory 2534, and a physical interface card (PIC) 2533.
[0529] The central processing unit 2531 on the interface board 2530 is used to control and manage the interface board 2530 and communicate with the central processing unit 2511 on the main control board 2510.
[0530] Network processor 2532 is used to implement packet forwarding processing. Network processor 2532 can be in the form of a forwarding chip. Specifically, network processor 2532 forwards received packets based on the forwarding table stored in forwarding table entry memory 2534. If the destination address of the packet is the address of computing device 2500, the packet is sent to the CPU (such as central processing unit 2511) for processing; if the destination address of the packet is not the address of computing device 2500, the next hop and outgoing interface corresponding to the destination address are looked up in the forwarding table according to the destination address, and the packet is forwarded to the outgoing interface corresponding to the destination address. Uplink packet processing includes: packet ingress interface processing, forwarding table lookup; downlink packet processing includes forwarding table lookup, etc.
[0531] The physical interface card 2533 is used to implement physical layer interfacing functions. Raw traffic enters the interface board 2530 through this card, and processed packets are sent out from the physical interface card 2533. The physical interface card 2533, also known as a daughter card, can be installed on the interface board 2530. It is responsible for converting photoelectric signals into packets, performing validity checks on the packets, and forwarding them to the network processor 2532 for processing. In some implementations, the central processing unit can also perform the functions of the network processor 2532, such as implementing software forwarding based on a general-purpose CPU, thus eliminating the need for the network processor 2532 within the physical interface card 2533.
[0532] Optionally, the computing device 2500 includes multiple interface boards. For example, the computing device 2500 also includes an interface board 2540, which includes a central processing unit 2541, a network processor 2542, a forwarding table entry memory 2544, and a physical interface card 2543.
[0533] Optionally, the computing device 2500 also includes a switching fabric board 2520. The switching fabric board 2520 can also be referred to as a switch fabric unit (SFU). When the computing device has multiple interface boards 2530, the switching fabric board 2520 is used to complete data exchange between the interface boards. For example, interface boards 2530 and 2540 can communicate via the switching fabric board 2520.
[0534] The main control board 2510 and the interface board 2530 are coupled. For example, the main control board 2510, interface board 2530, interface board 2540, and switching network board 2520 communicate with each other via a system bus connected to the system backplane. In one possible implementation, an inter-process communication (IPC) channel is established between the main control board 2510 and the interface board 2530, and communication between them occurs through the IPC channel.
[0535] Logically, the computing device 2500 includes a control plane and a forwarding plane. The control plane includes a main control board 2510 and a central processing unit 2531, while the forwarding plane includes various components that perform forwarding, such as a forwarding table entry memory 2534, a physical interface card 2533, and a network processor 2532. The control plane performs functions such as router operation, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the device's status. The control plane distributes the generated forwarding tables to the forwarding plane. In the forwarding plane, the network processor 2532 looks up and forwards messages received by the physical interface card 2533 based on the forwarding tables distributed by the control plane. The forwarding tables distributed by the control plane can be stored in the forwarding table entry memory 2534. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
[0536] It's worth noting that a computing device may have one or more main control boards, including a primary and a backup main control board. It may also have one or more interface boards; the more powerful the computing device's data processing capabilities, the more interface boards it can provide. Each interface board may also have one or more physical interface cards. A switching network board may or may not exist; multiple boards can share the load and provide redundancy. In a centralized forwarding architecture, the computing device may not need a switching network board, as the interface boards handle the entire system's business data processing. In a distributed forwarding architecture, the computing device can have at least one switching network board, which enables data exchange between multiple interface boards, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of a distributed architecture computing device are greater than those of a centralized architecture device. Alternatively, the computing device can also be a single board, without a switching network board. The functions of the interface board and the main control board are integrated on this one board. In this case, the central processing unit (CPU) on the interface board and the CPU on the main control board can be combined into a single CPU to execute the combined functions. This type of device has lower data exchange and processing capabilities (e.g., low-end switches or routers). The specific architecture adopted depends on the specific network deployment scenario, and no restrictions are imposed here.
[0537] In an exemplary embodiment, a distributed storage system is provided, the system including a computing device, the computing device being used to perform... Figure 2 , 3 The methods performed by the computing devices in sections 4, 5, and 8.
[0538] In an exemplary embodiment, a computer program (product) is provided, comprising: computer program code, which, when executed by a computer, causes the computer to perform... Figure 2 , 3 Methods 4, 5, and 8.
[0539] In an exemplary embodiment, a computer-readable storage medium is provided that stores a program or instructions, which, when executed on a computer, cause the computer to perform the aforementioned actions. Figure 2 , 3 Methods 4, 5, and 8.
[0540] In an exemplary embodiment, a chip is provided, including a processor for recalling and executing instructions stored in memory, causing a computer with the chip installed to perform... Figure 2 , 3 Methods 4, 5, and 8.
[0541] In an exemplary embodiment, another chip is provided, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected via internal interconnection paths. The processor is used to execute code in the memory. When the code is executed, a computer with the chip installed performs... Figure 2 , 3 Methods 4, 5, and 8.
[0542] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk).
[0543] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with substantially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another.
[0544] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0545] In this application, the term "at least one" means one or more, and the term "multiple" means two or more. For example, multiple second devices means two or more second devices. The terms "system" and "network" are often used interchangeably herein.
[0546] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0547] It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. The term "and / or" describes an association between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects are in an "or" relationship.
[0548] It should also be understood that the terms “if” and “if” can be interpreted as meaning “when” or “upon”, or “in response to determination” or “in response to detection”. Similarly, depending on the context, the phrases “if determination…” or “if detection [the stated condition or event]” can be interpreted as meaning “when determination…”, or “in response to determination…”, or “when detection [the stated condition or event]” or “in response to detection [the stated condition or event]”.
[0549] The above description is merely an embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A mesh generation method, characterized in that, The method includes: Obtain a geometric model, the geometric model including a first model surface, the first model surface being a two-dimensional closed surface; Determine the boundary of the closed region included in the first model surface, wherein the closed region is a closed portion in the first model surface; Determine the partitioning strategy corresponding to the first model surface, wherein the partitioning strategy is the strategy adopted when partitioning the first model surface by mesh under the constraint of the region boundary; The first model surface is divided using the aforementioned partitioning strategy to obtain at least two first mesh elements, which are used to perform simulation analysis on the first model surface.
2. The method according to claim 1, characterized in that, The step of determining the partitioning strategy corresponding to the first model surface includes: Obtain the first inner ring number, which is used to characterize the number of internal closed regions in the first model surface. The internal closed region is a closed region located within the first model surface. Based on the number of the first inner rings and the region boundary analysis, the first model surface is obtained, and the partitioning strategy corresponding to the first model surface is obtained.
3. The method according to claim 2, characterized in that, The step of analyzing the first model surface based on the number of the first inner rings and the region boundary to obtain the partitioning strategy corresponding to the first model surface includes: When the number of the first inner rings indicates that the first model surface includes at least one internal closed region, the region edges corresponding to at least two closed regions of the first model surface are obtained respectively, and the region edges are boundary line segments that make up the region boundaries. Based on the included angle between the edges of the regions, the vertex type of the region vertex connecting the edges of the regions is determined, and the included angle is used to characterize the included angle formed by two adjacent edges of the regions; If the vertex types of the vertices corresponding to the at least two closed regions meet the type conditions, the first partitioning strategy corresponding to the type conditions shall be used as the partitioning strategy corresponding to the first model surface.
4. The method according to claim 3, characterized in that, Determining the vertex type of the region vertices connecting the region edges based on the included angle between the region edges includes: Determine the included angle between the edges of the regions within the same internal enclosed region; The vertex type corresponding to the region vertex is determined by a classification rule based on the included angle of the edges, and the edges of two adjacent regions are connected through the region vertex.
5. The method according to claim 3, characterized in that, When the number of the first inner rings indicates that the first model surface includes at least one internal closed region, obtaining the region edges corresponding to at least two closed regions of the first model surface includes: When the number of the first inner ring indicates that the first model surface includes at least two internal closed regions, the region edges corresponding to the at least two closed regions are obtained respectively. The at least two closed regions include at least one internal closed region and an external closed region corresponding to the first model surface. The method further includes: If the vertex type of the vertices corresponding to the at least two closed regions does not meet the type condition, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface. The second partitioning strategy is used to partition the first model surface using a grid method.
6. The method according to claim 3, characterized in that, When the number of the first inner rings indicates that the first model surface includes at least one internal closed region, obtaining the region edges corresponding to at least two closed regions of the first model surface includes: When the first inner ring quantity indicates that the first model surface includes an internal closed region, obtain the region edges corresponding to the two closed regions of the first model surface respectively, wherein the two closed regions include an internal closed region and an external closed region corresponding to the first model surface; The method further includes: If the vertex type of the region vertex corresponding to the two closed regions does not meet the type condition, the first outer ring information is obtained. The first outer ring information is used to characterize the boundary condition of the external closed region corresponding to the first model surface. If the first outer ring information and the first inner ring information meet the nesting condition, the third partitioning strategy is used as the partitioning strategy corresponding to the first model surface. The third partitioning strategy is used to perform subdivision processing on the model surface using a reference template. Alternatively, if the first outer ring information and the first inner ring information do not meet the nesting condition, the second partitioning strategy is used as the partitioning strategy corresponding to the first model surface. The second partitioning strategy is used to partition the first model surface using a grid method.
7. The method according to claim 2, characterized in that, The step of analyzing the first model surface based on the number of the first inner rings and the region boundary to obtain the partitioning strategy corresponding to the first model surface includes: When the first inner ring quantity indicates that the first model surface does not include the inner closed region, the first outer ring information is obtained from the region boundary. The first outer ring information is used to characterize the boundary situation of the outer closed region corresponding to the first model surface. The shape of the surface corresponding to the first model surface is determined based on the first outer ring information; When the surface shape matches the reference template, a third partitioning strategy corresponding to the surface shape is obtained as the partitioning strategy corresponding to the first model surface. The third partitioning strategy is used to perform subdivision processing on the model surface through the reference template.
8. The method according to claim 7, characterized in that, The method further includes: If the face shape does not match the reference template, and the vertex type of the region vertices corresponding to the outer closed region indicated by the first outer ring information meets the type condition, then the first partitioning strategy corresponding to the reference template is obtained as the partitioning strategy corresponding to the first model face; or... If the shape of the face does not match the reference template, and the vertex type of the region vertex corresponding to the outer closed region indicated by the first outer ring information does not meet the type condition, a fourth partitioning strategy is obtained as the partitioning strategy corresponding to the first model face. The fourth partitioning strategy is used to partition the first model face with a triangular mesh and then merge at least one triangular mesh unit.
9. The method according to any one of claims 1 to 8, characterized in that, The first model surface is partitioned using the aforementioned partitioning strategy to obtain at least two first mesh elements, including: Determine multiple model geometric edges corresponding to the geometric model, wherein the first model surface includes at least one of the multiple model geometric edges; Obtain the standard discrete number corresponding to the geometric edges of the multiple models, and the standard discrete number is used to constrain the number of mesh elements generated during mesh generation; Based on the standard discrete numbers corresponding to the geometric edges of the multiple models, the first model surface is divided using the partitioning strategy to obtain the at least two first mesh elements.
10. The method according to claim 9, characterized in that, The step of obtaining the normalized discrete numbers corresponding to the geometric edges of the plurality of models includes: Determine the initial discrete number corresponding to each of the plurality of model geometric edges, wherein the initial discrete number is used to characterize the number of segments of the model geometric edges when performing mesh generation on the geometric model; With the goal of having at least two model geometric edges among the plurality of model geometric edges sharing a common discrete number, the initial discrete numbers corresponding to the plurality of model geometric edges are adjusted to obtain the standardized discrete numbers corresponding to the plurality of model geometric edges.
11. The method according to any one of claims 1 to 10, characterized in that, After dividing the first model surface using the aforementioned partitioning strategy to obtain at least two first mesh elements, the process further includes: The cell partitioning quality corresponding to the at least two first mesh cells is detected to obtain detection information corresponding to the at least two first mesh cells. The detection information is used to characterize the partitioning quality of the first mesh cell relative to the first model surface. Based on the detection information, at least one of the at least two first mesh units is adjusted to obtain a first adjustment surface corresponding to the first model surface. The first adjustment surface is used to perform simulation analysis on the geometric model.
12. The method according to claim 11, characterized in that, The step of adjusting at least one of the at least two first mesh units based on the detection information to obtain a first adjusted surface corresponding to the first model surface includes: At least one triangle removal path is generated based on the detection information, and the triangle removal path is used to remove triangle mesh cells from the at least two first mesh cells; Based on the triangle removal path, at least one triangular mesh cell is removed from the at least two first mesh cells to obtain the first adjustment surface corresponding to the first model surface.
13. The method according to claim 11, characterized in that, The step of adjusting at least one of the at least two first mesh units based on the detection information to obtain a first adjusted surface corresponding to the first model surface includes: Based on the detection information, at least one singularity removal path is generated. The singularity removal path is used to remove at least one singularity corresponding to one of the at least two first grid cells. The singularity is a grid vertex whose number of connected quadrilateral grid cells is not a reference value. Based on the singularity removal path, at least one singularity is removed from the at least two first mesh cells to obtain the first adjusted surface corresponding to the first model surface.
14. A mesh generation device, characterized in that, The device includes: An acquisition module is used to acquire a geometric model, the geometric model including a first model surface, which is a two-dimensional closed surface; The determining module is used to determine the region boundary of the closed region included in the first model surface, wherein the closed region is a closed portion in the first model surface; The determining module is further configured to determine the partitioning strategy corresponding to the first model surface, wherein the partitioning strategy is the strategy adopted when the first model surface is partitioned by mesh under the constraint of the region boundary; The partitioning module is used to partition the first model surface using the partitioning strategy to obtain at least two first mesh elements, which are used to perform simulation analysis on the first model surface.
15. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the mesh generation method as described in any one of claims 1 to 13.
16. A computer-readable storage medium, characterized in that, The storage medium stores at least one program segment, which is loaded and executed by a processor to implement the mesh generation method as described in any one of claims 1 to 13.
17. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the mesh generation method as described in any one of claims 1 to 13.