Engineering simulation model surface information rapid extraction method
By extracting and processing surface mesh and result information in finite element analysis, the problem of low rendering efficiency caused by large data volume is solved, and lightweight processing and rapid graphics generation are realized for three-dimensional numerical simulation, which improves the real-time rendering .
Patent Information
- Application Number
- CN202410909006.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-08
- Publication Date
- 2024-12-13
AI Technical Summary
In finite element analysis, the original data is huge, and direct processing is difficult to meet the real-time requirements of graph rendering. Especially in web-side model display, it is necessary to lighten the three-dimensional numerical simulation model to quickly generate graphics.
By extracting surface grid information and result information, including unit decomposition, unit surface index construction, surface unit surface extraction, surface node extraction and renumbering, as well as surface node result information extraction and unit integral point result conversion, using dictionary and hash table Implement data deduplication and rapid search, reduce data volume and improve rendering efficiency.
It realizes rapid rendering of finite element analysis data, reduces the amount of data transmission and processing, improves the real-time performance of graphics rendering, and can quickly generate graphics of three-dimensional numerical simulation models.
Smart Images

Figure CN119129303A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of three-dimensional graphic visualization of engineering simulation information, and in particular to a method for quickly extracting surface information of an engineering simulation model. Background Art
[0002] Three-dimensional numerical simulation of buildings based on the finite element method is an important means to verify the rationality of design solutions and judge the safety of projects. In practical applications, finite element analysis requires discretizing the project area of interest into a grid model. In order to ensure the accuracy of calculations, these grid models often need to contain tens of thousands or even hundreds of thousands of node coordinates and unit-node topology information, which is a huge amount of data. In addition, the analysis results that match the grid model also need to contain massive data. Taking static analysis as an example, the result data contains the displacement information of each node in each analysis step and the status information of each unit integration point, and its data volume is several times that of the grid model.
[0003] In order to intuitively understand the geometric shape of the model and the distribution pattern of the results, it is necessary to render the relevant data to generate graphics. In some application scenarios, such as web model display, the real-time requirements of graphics rendering are high, which will be difficult to meet by directly processing the original data. Therefore, it is necessary to lightweight the three-dimensional numerical simulation model so that graphics can be generated quickly. Summary of the invention
[0004] In order to overcome the above problems, the purpose of the present invention is to provide a method for quickly extracting surface information of an engineering simulation model, which can perform lightweight processing on a large number of mesh models and analysis result data, thereby improving the real-time performance of graphics rendering.
[0005] The technical solution adopted by the present invention is: including surface grid information N S 、E S Extraction and surface result information P S , Q S The extraction of surface mesh information includes unit decomposition, unit face index construction, surface unit face extraction, surface node extraction and renumbering; the extraction of surface result information includes surface node result information extraction and unit integration point result conversion.
[0006] Further, the engineering simulation model grid data includes the coordinates N[i][j] of each node i and the node number E[i][j] contained in each unit i;
[0007] Among them, in N[i][j], i=1,…,n node ; j = 1,…,3,n node is the number of nodes in the grid; in E[i][j], i=1,…,n elem , nelem is the number of cells in the grid, T i is the unit type, The number of nodes contained in this type of unit;
[0008] For units i1 and i2 of the same type T, the node number The arrangement is the same.
[0009] Furthermore, the surface mesh data of the engineering simulation model can be rendered into graphics, including the coordinates N of each surface node. S and the node number E of each surface element face S The data storage method is the same as N and E. The steps for extracting the surface mesh information are:
[0010] S01: Construct a dictionary D to store all the unit face information in the grid and traverse the units. The specific execution process is as follows:
[0011] S011: For any unit i, according to the unit type T i Corresponding indicators Decompose it into unit surfaces, here Indicates T i The position of the kth node of the jth element face in the element of type is in E[i][…], then the node number in element face j is
[0012] in, middle, T i The number of element faces that the type element has, T i,j is the type of the jth element face of element i, is the number of nodes of this type of element face;
[0013] S012: For any element face j of element i, construct a node numbered The tuple K(i,j) is composed of the ordered arrangement of .
[0014] S013: Determine whether D already contains K(i,j). If not, construct an array V(i,j) whose only element is the tuple (i,j), and add K(i,j) and V(i,j) as a key-value pair to D; if yes, add (i,j) to the value D[K(i,j)] corresponding to K(i,j) in D;
[0015] S02: Filter the key-value pairs in dictionary D to form dictionary D s , so that D s Any key-value pair (K l ,V l ), Vl The number of elements contained is 1, and this element is recorded as (i l ,j l ), that is, the surface unit face l is only covered by one unit i l Contains, and is the jth l unit surfaces; among them, (K l ,V l )middle, is the number of surface unit faces in the grid, and l is the number of unit faces in the surface grid;
[0016] S03: Constructing Dictionary I s Store the surface node number and traverse D s , for any element face l, the numbers of the nodes it contains are Add as I s After the traversal is completed, s The values of start from 1 and are used as the node numbers in the surface mesh, so N S [i][j]=N[I S [i]][j], where j=1,…,3, represents the number of nodes in the surface mesh,
[0017]
[0018] Further, the node result information P[i][j] in the surface result information of the engineering simulation model is obtained by using the dictionary I S Extracted as result information on the surface mesh, so that P S [I S [i]][j]=P[i][j], where i=1,…,n node , is the number of results on the node.
[0019] Furthermore, the result information Q[i][j][k] of each integral point on each unit i in the surface result information of the engineering simulation model, where i=1,…,n elem , T i The number of integration points in the type unit, is the number of results at integration point j, and the result information for the surface mesh is extracted by the following steps:
[0020] Step 1: Convert the results on the unit to the surface nodes and traverse D S , for any element face l and the element i containing the element face l ,like
[0021]
[0022] If it is a positive definite equation, then solve it directly, where is the unknown quantity to be solved, indicating unit i l The result of is distributed to the mth node in the unit, is the value of the finite element interpolation shape function at the integration point j of the mth node, which is related to the element type Related; if it is an indeterminate equation, introduce constraints on some nodes m1 and m2 To ensure that the equation is positive definite;
[0023] Step 2: For unit i l Internal surface nodes E[i l ][m]∈I S Record unit number i l , forming a set To store all the cells containing the node;
[0024] Step 3: Traverse all surface nodes i S ∈I S , for all cells containing this node Assign to node i S The average value of the results is taken to obtain the result information of each node in the surface mesh
[0025] Where card represents the number of elements in the set.
[0026] Furthermore, the surface mesh information N S 、E S and surface result information P S , Q S The result of any point O on the surface mesh is obtained by calculating the value of the element face i O The results at each node are obtained by finite element interpolation:
[0027]
[0028] in, Indicates the element face type, Indicates the number of meshes on the unit surface. Represents the finite element interpolation shape function value at point O.
[0029] Furthermore, in the extraction of the surface mesh information, the nodes in the unit should be numbered according to a pre-agreed pattern, and there should be no hollows or gaps in the mesh.
[0030] Furthermore, the dictionary D or D SBalanced binary tree or hash table storage is used to achieve rapid deduplication of unit faces during unit decomposition.
[0031] Furthermore, in the method of constructing the unit face index and determining the surface unit face in the extraction of the surface mesh information, the unit face is uniquely identified by the ordered arrangement of the numbers of the nodes it contains, and the identifier is quickly found through binary search or hash algorithm to achieve unit face deduplication during the unit decomposition process;
[0032] The surface unit faces are judged by belonging to only one unit. Based on this, the surface unit faces are screened, the surface node index is constructed, and finally the surface mesh is formed.
[0033] Furthermore, in the extraction of the surface result information, the integral point result is converted, and the result on the unit integral point is converted to the node by matrix inversion. Each node averages the result from the unit to which it belongs, and obtains the final result after the unit data is converted to the node;
[0034] The result information on the surface nodes is directly extracted using the surface node index constructed during the surface mesh extraction process.
[0035] Beneficial effects of the present invention:
[0036] The method for quickly extracting surface information of an engineering simulation model of the present invention can quickly and automatically extract surface meshes and result information based on an algorithm, compared to directly processing raw finite element analysis data, greatly reducing the amount of data that needs to be transmitted and processed, and realizing fast rendering of finite element analysis information, thereby achieving lightweight processing of three-dimensional numerical simulation models, being able to quickly generate graphics, and improving the real-time performance of graphics rendering. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 It is a schematic diagram of a typical mesh surface information generation process in the method for rapid extraction of surface information of an engineering simulation model proposed in the present invention;
[0038] Figure 2 This is a schematic diagram of the conversion process of typical unit integration point results in the method for rapid extraction of surface information of engineering simulation models proposed in the present invention. DETAILED DESCRIPTION
[0039] The specific implementation of the present invention is described below in conjunction with the accompanying drawings and embodiments:
[0040] It should be noted that the structures, proportions, sizes, etc. illustrated in the drawings of this specification are only used to match the contents disclosed in the specification for people familiar with this technology to understand and read, and are not used to limit the conditions under which the present invention can be implemented. Any structural modification, change in proportional relationship or adjustment of size should still fall within the scope of the technical contents disclosed in the present invention without affecting the effects and purposes that can be achieved by the present invention.
[0041] At the same time, the terms such as "upper", "lower", "left", "right", "middle" and "one" cited in this specification are only for the convenience of description and are not used to limit the scope of implementation of the present invention. Changes or adjustments to their relative relationships should be regarded as the scope of implementation of the present invention without substantially changing the technical content.
[0042] like Figures 1-2 As shown, it shows a specific embodiment of the present invention: the method for quickly extracting surface information of an engineering simulation model disclosed in the present invention includes surface grid information N S 、E S Extraction and surface result information P S , Q S The extraction of surface mesh information includes unit decomposition, unit face index construction, surface unit face extraction, surface node extraction and renumbering; the extraction of surface result information includes surface node result information extraction and unit integration point result conversion.
[0043] Furthermore, the surface mesh data of the engineering simulation model includes the coordinates N[i][j] of each node i and the node number E[i][j] contained in each unit i;
[0044] Among them, in N[i][j], i=1,…,n node ; j = 1,…,3,n node is the number of nodes in the grid; in E[i][j], i=1,…,n elem , n elem is the number of cells in the grid, T i is the unit type, The number of nodes contained in this type of unit;
[0045] For units i1 and i2 of the same type T, the node number The arrangement is the same.
[0046] Furthermore, the surface mesh data of the engineering simulation model can be rendered into graphics, including the coordinates N of each surface node. S and the node number E of each surface element face SThe data storage method is the same as N and E. The steps for extracting the surface mesh information are:
[0047] S01: Construct a dictionary D to store all the unit face information in the grid and traverse the units. The specific execution process is as follows:
[0048] S011: For any unit i, according to the unit type T i Corresponding indicators Decompose it into unit surfaces, here Indicates T i The position of the kth node of the jth element face in the element of type is in E[i][…], then the node number in element face j is
[0049] in, middle, T i The number of element faces that the type element has, T i,j is the type of the jth element face of element i, is the number of nodes of this type of element face;
[0050] S012: For any element face j of element i, construct a node numbered The tuple K(i,j) is composed of the ordered arrangement of .
[0051] S013: Determine whether D already contains K(i,j). If not, construct an array V(i,j) whose only element is the tuple (i,j), and add K(i,j) and V(i,j) as a key-value pair to D; if yes, add (i,j) to the value D[K(i,j)] corresponding to K(i,j) in D;
[0052] S02: Filter the key-value pairs in dictionary D to form dictionary D s , so that D s Any key-value pair (K l ,V l ), V l The number of elements contained is 1, and this element is recorded as (i l ,j l ), that is, the surface unit face l is only covered by one unit i l Contains, and is the jth l unit surfaces; among them, (K l ,V l )middle, is the number of surface unit faces in the grid, and l is the number of unit faces in the surface grid;
[0053] S03: Constructing Dictionary I s Store the surface node number and traverse D s , for any element face l, the numbers of the nodes it contains are Add as I s After the traversal is completed, s The values of start from 1 and are used as the node numbers in the surface mesh, so N S [i][j]=N[I S [i]][j], where j=1,…,3, represents the number of nodes in the surface mesh,
[0054]
[0055] Further, the node result information P[i][j] in the surface result information of the engineering simulation model is obtained by using the dictionary I S Extracted as result information on the surface mesh, so that P S [I S [i]][j]=P[i][j], where i=1,…,n node , is the number of results on the node.
[0056] Furthermore, the result information Q[i][j][k] of each integral point on each unit i in the surface result information of the engineering simulation model, where i=1,…,n elem , T i The number of integration points in the type unit, is the number of results at integration point j, and the result information for the surface mesh is extracted by the following steps:
[0057] Step 1: Convert the results on the unit to the surface nodes and traverse D S , for any element face l and the element i containing the element face l ,like
[0058]
[0059] If it is a positive definite equation, then solve it directly, where is the unknown quantity to be solved, indicating unit i l The result of is distributed to the mth node in the unit, is the value of the finite element interpolation shape function at the integration point j of the mth node, which is related to the element type Related; if it is an indeterminate equation, introduce constraints on some nodes m1 and m2 To ensure that the equation is positive definite;
[0060] Step 2: For unit i l Internal surface nodes E[i l ][m]∈I S Record unit number i l , forming a set To store all the cells containing the node;
[0061] Step 3: Traverse all surface nodes i S ∈I S , for all cells containing this node Assign to node i S The average value of the results is taken to obtain the result information of each node in the surface mesh
[0062] Where card represents the number of elements in the set.
[0063] Furthermore, the surface mesh information N S 、E S and surface result information P S , Q S The result of any point O on the surface mesh is obtained by calculating the value of the element face i O The results at each node are obtained by finite element interpolation:
[0064]
[0065] in, Indicates the element face type, Indicates the number of meshes on the unit surface. Represents the finite element interpolation shape function value at point O.
[0066] Furthermore, in the extraction of the surface mesh information, the nodes in the unit should be numbered according to a pre-agreed pattern, and there should be no hollows or gaps in the mesh. The hollows and gaps refer to the overlap of the spatial positions of different nodes belonging to adjacent units.
[0067] Furthermore, the dictionary D or D S Balanced binary tree or hash table storage is used to achieve rapid deduplication of unit faces during unit decomposition.
[0068] Furthermore, in the method of constructing the unit face index and determining the surface unit face in the extraction of the surface mesh information, the unit face is uniquely identified by the ordered arrangement of the numbers of the nodes it contains, and the identifier is quickly found through binary search or hash algorithm to achieve unit face deduplication during the unit decomposition process;
[0069] The surface unit faces are judged by belonging to only one unit. Based on this, the surface unit faces are screened, the surface node index is constructed, and finally the surface mesh is formed.
[0070] Furthermore, in the extraction of the surface result information, the integral point result is converted, and the result on the unit integral point is converted to the node by matrix inversion. Each node averages the result from the unit to which it belongs, and obtains the final result after the unit data is converted to the node;
[0071] The result information on the surface nodes is directly extracted using the surface node index constructed during the surface mesh extraction process.
[0072] Example
[0073] In the present invention, Figure 1 The figure shows the mesh from which the surface information is to be extracted. Each unit in the mesh is decomposed into unit faces in turn. For units of the same type, the node numbering pattern is the same and the decomposition pattern is consistent: the mesh is composed of hexahedral units with 8 nodes, which are decomposed into 6 unit faces, corresponding to the bottom, right, front, left, back, and top faces of the unit in turn. Each unit face contains 4 nodes, and the order and the direction of the unit face pointing outward satisfy the right-hand rule.
[0074] The top surface of unit 1 (the 6th unit surface) coincides with the bottom surface of unit 2 (the 1st unit surface): Since both units are decomposed according to the same pattern, the representation of the same unit surface in different units may be different ([6,5,7,8] and [8,7,6,5]), but the nodes involved are the same. If they are converted into an ordered arrangement (both [5,6,7,8]), it can be determined whether the two are the same unit surface.
[0075] For any unit face, the unit to which it belongs and the local number in the unit can be recorded during the unit decomposition process. The above unit face can be recorded as (1,6) and (2,1) at the same time, that is, it is included by two units at the same time, so it is an internal unit face; the remaining units are only included by one unit, so they are surface unit faces.
[0076] In the present invention, Figure 2 As shown, taking element 1 as an example, for easy distinction, the integration points are numbered with letters, and any item of the result on it is represented by q (such as any stress component). By inverting an 8×8 matrix (the matrix is the same for all the result items on the integration point), it can be converted to the result on the node Furthermore, taking node 5 as an example, since it is included by both units 1 and 2, the result of the two is averaged to obtain the result at the node.
[0077] In general, compared with directly processing the original data of finite element analysis, this method for quickly extracting surface information of engineering simulation models can quickly and automatically extract surface meshes and result information based on algorithms, greatly reducing the amount of data that needs to be transmitted and processed, and realizing rapid rendering of finite element analysis information, thereby achieving lightweight processing of three-dimensional numerical simulation models, quickly generating graphics, and improving the real-time performance of graphics rendering.
[0078] The preferred embodiments of the present invention are described in detail above in conjunction with the accompanying drawings, but the present invention is not limited to the above embodiments, and various changes can be made within the knowledge scope of ordinary technicians in this field without departing from the purpose of the present invention.
[0079] Many other changes and modifications may be made without departing from the concept and scope of the present invention.It should be understood that the present invention is not limited to the specific embodiments, and the scope of the present invention is defined by the appended claims.
Claims
1. Rapid extraction method of surface information of engineering simulation model, It is characterized in that Includes surface mesh information N S 、E S Extraction and surface result information P S , Q S The extraction of surface mesh information includes unit decomposition, unit face index construction, surface unit face extraction, surface node extraction and renumbering; the extraction of surface result information includes surface node result information extraction and unit integration point result conversion.
2. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that The surface mesh data of the engineering simulation model includes the coordinates N[i][j] of each node i and the node number E[i][j] contained in each unit i; Among them, in N[i][j], i=1,…,n node ; j = 1,…,3,n node is the number of nodes in the grid; in E[i][j], i=1,…,n elem , n elem is the number of cells in the grid, T i is the unit type, The number of nodes contained in this type of unit; For a cell i of the same type T 1 、i 2 , node number The arrangement is the same.
3. The method for rapidly extracting surface information of an engineering simulation model according to claim 2, It is characterized in that The surface mesh data of the engineering simulation model can be rendered into graphics, including the coordinates N of each surface node. S and the node number E of each surface element face S The data storage method is the same as N and E. The steps for extracting the surface mesh information are: S01: Construct a dictionary D to store all the unit face information in the grid and traverse the units. The specific execution process is as follows: S011: For any unit i, according to the unit type T i Corresponding indicators Decompose it into unit surfaces, here Indicates T i The position of the kth node of the jth element face in the element of type is in E[i][…], then the node number in element face j is in, middle, T i The number of element faces that the type element has, T i,j is the type of the j-th element face of element i, is the number of nodes of this type of element face; S012: For any element face j of element i, construct a node numbered The tuple K(i,j) is composed of the ordered arrangement of . S013: Determine whether D already contains K(i,j). If not, construct an array V(i,j) whose only element is the tuple (i,j), and add K(i,j) and V(i,j) as a key-value pair to D; if yes, add (i,j) to the value D[K(i,i)] in D corresponding to K(i,j); S02: Filter the key-value pairs in dictionary D to form dictionary D s , so that D s Any key-value pair (K l ,V l ), V l The number of elements contained is 1, and this element is recorded as (i l ,j l ), that is, the surface unit face l is only covered by one unit i l Contains, and is the jth l unit surfaces; among them, (K l ,V l )middle, is the number of surface unit faces in the grid, and l is the number of unit faces in the surface grid; S03: Constructing Dictionary I s Store the surface node number and traverse D s , for any unit face l, the numbers of the nodes it contains are Add as I s After the traversal is completed, s The values of start from 1 and are used as the node numbers in the surface mesh, so N S [i][j]=N[I S [i]][j], where represents the number of nodes in the surface mesh, 4. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that The node result information P[i][j] in the surface result information of the engineering simulation model is obtained by using the dictionary I s Extracted as result information on the surface mesh, so that P s [I s [i]][j]=P[i][j], where i=1,...,n node , is the number of results on the node.
5. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that The result information Q[i][j][k] of each integral point on each unit i in the surface result information of the engineering simulation model, wherein: T i The number of integration points in the type unit, is the number of results at integration point j, and the result information for the surface mesh is extracted by the following steps: Step 1: Convert the results on the unit to the surface nodes and traverse D S , for any element face l and the element i containing the element face l ,like If it is a positive definite equation, then solve it directly, where is the unknown quantity to be solved, indicating unit i l The result of is distributed to the mth node in the unit, is the value of the finite element interpolation shape function at the integration point j of the mth node, which is related to the element type Related; if it is an indeterminate equation, for some nodes m 1 、m 2 Introducing constraints To ensure that the equation is positive definite; Step 2: For unit i l Internal surface nodes E[i l ][m]∈I S Record unit number i l , forming a set To store all the cells containing the node; Step 3: Traverse all surface nodes i S ∈I S , for all cells containing this node Assign to node i S The average value of the results is taken to obtain the result information of each node in the surface mesh Where card represents the number of elements in the set.
6. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that The surface mesh information N S 、E S and surface result information P S , Q S The result of any point O on the surface mesh is obtained by calculating the value of the element face i O The results at each node are obtained by finite element interpolation: in, Indicates the element face type, Indicates the number of meshes on the unit surface. Represents the finite element interpolation shape function value at point O.
7. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that In the extraction of the surface mesh information, the nodes in the unit should be numbered according to a pre-agreed pattern, and there should be no hollows or gaps in the mesh.
8. The method for rapidly extracting surface information of an engineering simulation model according to claim 3 or 5, It is characterized in that The dictionary D or D s Balanced binary tree or hash table storage is used to achieve rapid deduplication of unit faces during unit decomposition.
9. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that In the method for constructing the unit face index and determining the surface unit face in the extraction of the surface mesh information, the unit face is uniquely identified by the ordered arrangement of the numbers of the nodes it contains, and the identifier is quickly found through binary search or hash algorithm to achieve unit face deduplication during unit decomposition; The surface unit faces are judged by belonging to only one unit. Based on this, the surface unit faces are screened, the surface node index is constructed, and finally the surface mesh is formed.
10. The method for rapidly extracting surface information of an engineering simulation model according to claim 1, It is characterized in that In the conversion of integral point results and the extraction of result information based on surface node index in the extraction of surface result information, the results on the unit integral points are converted to the nodes by matrix inversion, and each node averages the results from its unit to obtain the final result after the unit data is converted to the node; The result information on the surface nodes is directly extracted using the surface node index constructed during the surface mesh extraction process.
Citation Information
Patent Citations
Three-dimensional geometric model construction method and performance prediction method of porous rock
CN117274533A
Array antenna assembly performance digital twin model rapid reconstruction method based on simulation analysis
CN117910361A
Surface data generation method, surface data generator, and program
JP2007328642A
Evaluation apparatus, evaluation method, and program
JP2021067991A
Augmented reality-based machining precision evaluation method and device
WO2022261962A1
Cited By
Industrial simulation application cloud post-processing optimization method and device and server
CN122020766A
