A stitching algorithm based on 3D non-corresponding mesh surfaces of arbitrary shapes
Through the splicing algorithm based on three-dimensional non-corresponding mesh surfaces of any shape, the processing problem of non-corresponding interfaces under complex geometric structures is solved, the universality and efficiency of grid splicing are improved, and the application scope of industrial numerical simulation software is expanded.
Patent Information
- Application Number
- CN202011221466.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-05
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2040-11-05
AI Technical Summary
The existing technology cannot effectively handle non-corresponding interfaces under complex geometric structures, resulting in limited application scope of grid splicing technology and cannot meet the industrial needs of complex shapes such as aircraft engine blades.
A splicing algorithm based on three-dimensional non-corresponding mesh surfaces is provided. By confirming the two sides of the interface, defining the list of intersecting facets, using filters to determine whether the faces intersect, and generating intersecting facets through projection and cutting algorithms to ensure the quality of the grid.
The grid splicing of any shape does not correspond to three-dimensional planes is realized, which reduces the limitations of grid usage in computational fluid mechanics engineering, and improves the computing efficiency and scope of application of industrial numerical simulation software.
Smart Images

Figure CN112528530B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of numerical calculation simulation industrial software, and in particular relates to a splicing algorithm based on three-dimensional non-corresponding mesh surfaces of arbitrary shapes. Background Art
[0002] CFD (Computational Fluid Dynamics) is developing rapidly and is widely used in engineering problems. Grid, as a key part of CFD calculation, directly affects the calculation time and memory consumption. When dealing with problems with complex geometric structures, engineers often divide them into simple sub-regions and generate grids for them separately. The grids generated separately in this way are generally not one-to-one corresponding at the intersection, so they are called non-corresponding interfaces. A typical example is the coupled heat transfer calculation of the fluid-solid area in wing design. The grids of the two areas are generally generated by different engineers. Therefore, CFD software should provide an engineering-level non-corresponding interface processing module that is easy for users to use.
[0003] According to the existing relevant literature, the application scope of the currently known grid splicing technology is very limited, and it is limited to simple shapes, such as planes, cylinders, spheres, etc. These simple shapes are completely unable to meet the existing industrial needs. For example, in aircraft engine blades, there are multiple condensation film holes on the solid area, and the two areas form a complex interface. The present invention solves this problem and provides a grid splicing technology that can be applied to any surface. Summary of the invention
[0004] The purpose of the present invention is to solve the above problems and provide a splicing algorithm based on three-dimensional non-corresponding grid surfaces of arbitrary shapes in multi-region numerical simulation calculations, which greatly reduces the restrictions on the use of grids in computational fluid dynamics engineering applications.
[0005] To achieve the above object, the present invention provides the following technical solutions:
[0006] A splicing algorithm based on three-dimensional non-corresponding mesh surfaces of arbitrary shapes, comprising the following steps:
[0007] S1: Confirm the two sides of the non-corresponding interface τ A and τ B ;
[0008] S2: Define a list L for storing intersecting small faces c ;
[0009] S3: for all τ A A certain face on K A Perform the following operations;
[0010] 1) For all τ B A certain face on K B Perform the following operations;
[0011] 1.1 Determine the middle surface τ C ;
[0012] 1.2 Calculate the surface normal n of the middle surface C ;
[0013] 1.3 Using filters to determine K A and K B Is it possible to intersect?
[0014] 1.4 If K A and K B If they may intersect, proceed to the next step;
[0015] 1.4.1 Using Projection to Transform K A and K B Projection onto the middle plane τ C on and intersect;
[0016] 1.4.2 If K A and K B Intersection K C If it exists, proceed to the next step;
[0017] 1.4.2.1 Calculation of K C Calculated area, face center and face normal;
[0018] 1.4.2.2 K C Add to L c ;
[0019] 1.4.2.3 Establishing the mapping χ CA (K C )=K A , χ CB (K C )=K B , indicating K C By K A and K B obtained by intersection;
[0020] S4: Check the area of intersecting small faces.
[0021] Furthermore, in step S1.3, a filter is used to determine K A and K B The specific way of intersection is: K A and K B If the intersection is possible, the following two equations should be satisfied:
[0022]
[0023] where r A The center of the circle is the center of the face, which can contain KA The radius of the smallest sphere;
[0024]
[0025] r B for
[0026]
[0027] d AB Indicates that from K A Center to K B The vector of the face center, n C is the face normal of the mid-surface.
[0028] Furthermore, the spatial convex polygon intersection algorithm is:
[0029] 1) Identify a pair of faces K that may intersect A and K B , and their mid-planes;
[0030] 2) K A Projecting onto the middle plane, we get a spatial convex polygon P;
[0031] 3) For all K B The following operations are performed on the edges:
[0032] 3.1 Create a cutting surface α passing through the edge clip ;
[0033] 3.2 Using α clip Cut P into two parts and obtain the retained part;
[0034] 3.3 Replace P with the retained part obtained in this step;
[0035] 4) If P exists, proceed to the next step;
[0036] 4.1 Store P as a small face, denoted by K C , affiliated to K A and K B ;
[0037] 4.2 Calculation of K C The face center, area and face normal of
[0038] 4.3 Return K C As a result.
[0039] The surface normal is calculated by the following formula:
[0040]
[0041] Furthermore, the spatial three-dimensional convex polygon cutting algorithm is:
[0042] 1) Given a convex polygon P and its cutting surface α clip (n clip , r clip );
[0043] 2) Perform the following operations on all vertices of P;
[0044] 2.1 Determine and record whether the point is on the inner side of the cutting surface;
[0045] 3) Create an empty polygon P new ;
[0046] 4) Perform the following operations on all vertices of P;
[0047] 4.1 If the point (N i ) is on the inside of the cutting surface, proceed to the next step;
[0048] 4.1.1 N i Join P new in the vertex list;
[0049] 4.2 If N i and its next point N i+1 In α clip On different sides of the , proceed to the next step;
[0050] 4.2.1 Calculation of N i N i+1 and α clip The intersection point is denoted as N new ;
[0051] 4.2.2 N new Add to P new in the vertex list;
[0052] 5) Return to P new .
[0053] Furthermore, in α clip The inner vertex N must satisfy the following formula:
[0054] (r N -r clip )·n clip ≥0, (9).
[0055] Furthermore, the intersection point is calculated as follows:
[0056] r new =r i +λ(r i+1 -r i ) (10)
[0057] in,
[0058] Furthermore, the mesh and its intersecting faces should satisfy the following equation:
[0059]
[0060] and
[0061]
[0062] Compared with the prior art, the present invention has the following beneficial effects:
[0063] The present invention proposes a grid splicing calculation scheme for non-corresponding three-dimensional planes of arbitrary shapes in multi-region numerical simulation calculations, which makes it possible to process non-corresponding region interfaces of complex geometry, greatly reduces the restrictions on the use of grids in computational fluid dynamics engineering applications, can improve the calculation efficiency of industrial numerical simulation software, and expand its scope of application. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only for more clearly illustrating the embodiments of the present invention or the technical solutions in the prior art. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0065] Figure 1 A schematic diagram for converting non-corresponding faces into corresponding intersecting small faces;
[0066] Figure 2 Schematic diagram of the interface with large curvature and rough mesh;
[0067] Figure 3 A schematic diagram of a filter for determining whether two faces may intersect;
[0068] Figure 4 It is a schematic diagram of the intersection process of two convex polygons in three-dimensional space;
[0069] Figure 5 Schematic diagram of the fluid-solid coupling flow and heat transfer problem in the bellows;
[0070] Figure 6 It is a schematic diagram of the intersection grid at the interface between the fluid area grid and the solid area grid;
[0071] Figure 7 Schematic diagram of temperature distribution on several cross sections in the flow direction of the bellows;
[0072] Figure 8 Schematic diagram of the temperature distribution at the fluid-solid interface. DETAILED DESCRIPTION
[0073] In order to enable those skilled in the art to better understand and implement the technical solution of the present invention, the present invention is further described below in conjunction with specific embodiments. However, the embodiments are only intended to illustrate the present invention and not to limit the present invention.
[0074] like Figure 1-4 The following is a splicing algorithm based on three-dimensional non-corresponding mesh surfaces of arbitrary shapes, and the specific scheme includes:
[0075] 1. Grid stitching
[0076] The core idea of the method of the present invention is to transform non-corresponding faces into smaller intersecting faces.
[0077] Figure 1 (a) shows the meshes on both sides of the interface, and (b) shows the generation of the intersecting meshes.
[0078] Algorithm 1: General non-corresponding interface mesh stitching method for arbitrary three-dimensional surfaces:
[0079] S1: Confirm the two sides of the non-corresponding interface τ A and τ B ;
[0080] S2: Define a list L for storing intersecting small faces c ;
[0081] S3: for all τ A A certain face on K A Perform the following operations;
[0082] 1) For all τ B A certain face on K B Perform the following operations;
[0083] 1.1 Determine the middle surface τ C ;
[0084] 1.2 Calculate the surface normal n of the middle surface C ;
[0085] 1.3 Using filters to determine K A and K B Is it possible to intersect?
[0086] 1.4 If K A and K B If they may intersect, proceed to the next step;
[0087] 1.4.1 Using Projection to Transform K A and KB Projection onto the middle plane τ C on and intersect;
[0088] 1.4.2 If K A and K B Intersection K C If it exists, proceed to the next step;
[0089] 1.4.2.1 Calculation of K C Calculated area, face center and face normal;
[0090] 1.4.2.2 K C Add to L c ;
[0091] 1.4.2.3 Establishing the mapping χ CA (K C )=K A , χ CB (K C )=K B , indicating K C By K A and K B obtained by intersection;
[0092] S4: Check the area of intersecting small faces.
[0093] 2. Filters
[0094] In order to save computing resources, the present invention uses a filter. A A certain face on K A , only a few τ B K B may intersect with it, and these K B can be obtained through simple judgment. Figure 2 As shown, (a) the vertical distance between the two surfaces cannot be too large, and (b) the tangential distance between the two surfaces cannot be too large.
[0095] like Figure 3 As shown in (a), the plane where the intersecting facets are located is C It is determined by a point on its surface and the surface normal, as shown in the following equation:
[0096] n C =-ω A n A +ω B n B (1)
[0097] r C =ω A r A +ω B r B(2)
[0098] The weighting coefficient is expressed as follows:
[0099]
[0100] like Figure 3 As shown in (b), according to the definition of the filter, K A and K B If the intersection is possible, the following two equations should be satisfied:
[0101]
[0102] where r A The center of the circle is the center of the face, which can contain K A The radius of the smallest sphere;
[0103]
[0104] r B for
[0105]
[0106] d AB Indicates that from K A Center to K B The vector of the face center, n C is the face normal of the mid-surface.
[0107] ε 1 and ε 2 are filter parameters, defaulting to 0.1 and 1.1.
[0108] The equation ensures that K A and K B When the vertical distance is small enough, the equation guarantees that K A and K B The distance in the direction perpendicular to the face normal angle is very small. If two faces cannot satisfy any of the above formulas, the filter will consider them as non-intersecting and filter them out.
[0109] 3. Spatial convex polygon intersection algorithm
[0110] When two polygonal faces pass the filter check, they will be projected onto the middle plane and intersect in space. Here, an algorithm for plane intersection in space is disclosed. First, the middle plane is determined by equations (1) and (2). The intersection process is as follows: Figure 4 shown.
[0111] Figure 4The left side (a) shows the polygon intersection graph in three-dimensional space, and the right side (b) shows the representation of cutting a polygon in three-dimensional space.
[0112] Algorithm 2: Spatial convex polygon intersection algorithm:
[0113] 1) Identify a pair of faces K that may intersect A and K B , and their mid-planes;
[0114] 2) K A Projecting onto the middle plane, we get a spatial convex polygon P;
[0115] 3) For all K B The following operations are performed on the edges:
[0116] 3.1 Create a cutting surface α passing through the edge clip ;
[0117] 3.2 Using α clip Cut P into two parts and obtain the retained part;
[0118] 3.3 Replace P with the retained part obtained in this step;
[0119] 4) If P exists, proceed to the next step;
[0120] 4.1 Store P as a small face, denoted by K C , affiliated to K A and K B ;
[0121] 4.2 Calculation of K C The face center, area and face normal of
[0122] 4.3 Return K C As a result.
[0123] In order to confirm the cutting surface in the above method ④, a known point on the surface and the surface normal of the surface are required. Figure 4 For example, the point on the cutting surface can be any point on the edge N1N2, such as 0.5(rN1+rN2).
[0124] The surface normal is calculated by the following formula:
[0125]
[0126] To ensure that the cutting surface is perpendicular to the cut surface. The remaining polygons obtained after cutting with the cutting surface are then B The next edge of the loop is used to perform this cutting. After all edges are looped, the remaining polygons are the intersecting polygons, such as Figure 4As shown in (b) below, Algorithm 3 is an algorithm for cutting a spatial convex polygon with a cutting plane. The algorithm will return a remaining polygon after cutting, such as Figure 4 The central part in (b).
[0127] Algorithm 3: The spatial three-dimensional convex polygon cutting algorithm is:
[0128] 1) Given a convex polygon P and its cutting surface α clip (n clip , r clip );
[0129] 2) Perform the following operations on all vertices of P;
[0130] 2.1 Determine and record whether the point is on the inner side of the cutting surface;
[0131] 3) Create an empty polygon P new ;
[0132] 4) Perform the following operations on all vertices of P;
[0133] 4.1 If the point (N i ) is on the inside of the cutting surface, proceed to the next step;
[0134] 4.1.1 N i Join P new in the vertex list;
[0135] 4.2 If N i and its next point N i+1 In α clip On different sides of the , proceed to the next step;
[0136] 4.2.1 Calculation of N i N i+1 and α clip The intersection point is denoted as N new ;
[0137] 4.2.2 N new Add to P new in the vertex list;
[0138] 5) Return to P new .
[0139] In Algorithm 3, in α clip The inner vertex N must satisfy the following formula:
[0140] (r N -r clip )·n clip ≥0, (9).
[0141] To reflect the closedness of the polygon, when looping vertices (lines 6 to 14 of Algorithm 3), after looping all points, the next vertex of the last point is the first vertex of the loop, thus forming a closed loop. The intersection point is calculated as follows:
[0142] r new =r i +λ(r i+1 -r i ) (10)
[0143] in,
[0144] 4. Mesh quality check
[0145] Mesh quality check can be used to determine whether the mesh quality meets the standard and is suitable for the invention. As mentioned above, using a coarse mesh at a large curvature will result in a large vertical distance between two mesh surfaces that should intersect, and the filter may filter them out and regard them as two surfaces that cannot intersect. Figure 2 As shown in (a) in the figure, the sum of the areas of the generated small faces will be significantly different from the original face area, because some small faces that should have existed are not generated. This will eventually lead to the failure to meet the conservation requirements of the finite volume method.
[0146] Numerically speaking, the mesh quality is judged by comparing the sum of the areas of the intersecting small faces with the original face area. A mesh that meets the requirements and the small faces obtained by its intersection should satisfy the following formula:
[0147]
[0148] and
[0149]
[0150] Where ε3 is the allowable area error, which is generally set to 0.01. For meshes that do not meet the quality standards, they can be optimized by refining the mesh, especially where the curvature is large.
[0151] Example:
[0152] Here is a coupled heat transfer problem solved using the present invention. Figure 5 As shown, the computational domain is the fluid region (Ω A ) and solid area (Ω B ). The internal diameter is 8mm-14mm. The fluid area has a high temperature inlet (100℃) and a fixed flow rate (0.1m / s). The outer wall of the solid area is a fixed temperature (0℃).
[0153] Fluid density is 1000kg / m 3, dynamic viscosity coefficient is, specific heat capacity is, thermal conductivity is. The thermal conductivity of the solid region is. This problem solves steady-state fluid-solid coupled heat transfer.
[0154] The fluid and solid regions are discretized using hexahedrons and tetrahedrons, respectively. Figure 6 is the interface obtained using this method.
[0155] Figure 7-8 The temperature distribution of different cross sections in the bellows and the temperature distribution of the solid-liquid interface are shown. The typical bellows flow heat transfer characteristics can be seen in the results. Under the cooling effect of the outlet boundary, the temperature shows a downward trend in the flow direction. In the solid area, high temperature is concentrated in the trough area because the central axis of the tube is closer in these places. The temperature distribution maintains continuity at the interface. This embodiment demonstrates the applicability of the present invention to coupled heat transfer problems.
[0156] The present invention proposes a grid splicing scheme for non-corresponding three-dimensional planes of arbitrary shapes, which makes it possible to process the interfaces of non-corresponding regions of complex geometry, greatly reduces the restrictions on the use of grids in computational fluid dynamics engineering applications, can improve the calculation efficiency of industrial numerical simulation software, and expand its scope of application.
[0157] The contents not described in detail in the present invention are all prior art.
[0158] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes, characterized by: The following steps are involved: S1: Confirm the two sides of the non-corresponding interface τ A and τ B ; S2: Define a list L for storing intersecting small faces c ; S3: for all τ A Each face K A Perform the following operations; 1) For all τ B Each face K B Perform the following operations; 1.1 Determine the middle surface τ C ; 1.2 Calculate the surface normal n of the middle surface C ; 1.3 Using filters to determine K A and K B Is it possible to intersect? 1.4 If K A and K B If they may intersect, proceed to the next step; 1.4.1 Using Projection to Transform K A and K B Projection onto the middle plane τ C Then, we use the spatial convex polygon intersection algorithm to obtain the intersecting face K. C ; 1.4.2 If K A and K B The intersection face K C If it exists, proceed to the next step; 1.4.2.1 Calculation of K C The area, face center and face normal of 1.4.2.2 K C Add to L c ; 1.4.2.3 Establishing the mapping χ CA (K C )=K A , χ CB (K C )=K B , indicating K C By K A and K B obtained by intersection; S4: Check the area of intersecting small faces; The plane where the intersecting facets lie τ C It is determined by any point on its surface and the surface normal, as shown below: n C =-ω A n A +oh B n B r C =ω A r A +oh B r B in, ω A ,ω B is the weighting coefficient, n C is the face normal of the mid-surface; The surface K A K B Whether the intersection is possible is determined by using filters. If the face K A K B If they may intersect, the following expression should be satisfied: Among them, r A So K A The center of the surface is the center of the circle, which can contain the surface K A The radius of the minimum sphere, ε1 and ε2 are filter parameters, and the expressions are as follows: r B K B The center of the face is the center of the circle, which can contain K B The radius of the minimum sphere is expressed as follows: Among them, d AB Indicates that from K A Center to K B The vector of the face center, The area of the intersecting small faces in step S4 is verified to satisfy the following formula: and 2. A method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes according to claim 1, characterized in that: The specific steps of the spatial convex polygon intersection algorithm are as follows: 1) Identify a pair of faces K that may intersect A and K B , and their mid-planes; 2) K A Projecting onto the middle plane, we get a spatial convex polygon P; 3) For all K B The following operations are performed on the edges: 3.1 Create a K B The cutting surface α of one edge in clip ; 3.2 Based on the spatial three-dimensional convex polygon cutting algorithm, using α clip Cut P into two parts and obtain the retained part; 3.3 Replace P with the retained part obtained in step 3.2; 4) If P exists, proceed to the next step; 4.1 Store P as intersecting small faces, denoted by K C , affiliated to K A and K B ; 4.2 Calculation of K C The face center, area and face normal of 4.3 Return K C As a result.
3. A method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes according to claim 1, characterized in that: The surface normal is calculated by the following formula:
4. A method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes according to claim 2, characterized in that: The spatial three-dimensional convex polygon cutting algorithm is: 1) Given a convex polygon P and its cutting surface α clip And the cutting surface data (n clip , r clip ); 2) Perform the following operations on all vertices of P; 2.1 Determine and record the i-th vertex N of the convex polygon P i Whether it is on the inside of the cutting surface; 3) Create an empty polygon P new ; 4) Perform the following operations on all vertices of P; 4.1 If the i-th vertex N i On the inside of the cut surface, proceed to the next step; 4.1.1 The i-th vertex N i Join P new in the vertex list; 4.2 If the i-th vertex N i and the next point N of the i-th vertex i+1 In α clip On different sides of the , proceed to the next step; 4.2.1 Calculation of N i N i+1 and α clip The intersection point is denoted as N new ; 4.2.2 N new Add to P new in the vertex list; Return to P new .
5. A method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes according to claim 4, characterized in that: In α clip The i-th vertex N on the inside i The following formula must be satisfied: (r N -r clip )·n clip ≥0。 6. The method for splicing three-dimensional non-corresponding mesh surfaces of arbitrary shapes according to claim 4, characterized in that: The N i N i+1 and α clip The calculation method of the intersection point is: r new =r i +λ(r i+1 -r i ) in,
Citation Information
Patent Citations
Aircraft maneuvering simulation method based on spherical abutting grids
CN103389649A
Ship and wake mesh model merging and optimization method
CN106649992A