Aircraft Simulation Design Method Based on Tetrahedral Grid Secondary Boundary Layer Generation

By generating the secondary boundary layer on the tetrahedral mesh, the problem of time-consuming and difficult to guarantee the quality of boundary layer mesh generation in the prior art is solved, and high-quality and robust mesh generation is achieved, which shortens the simulation design cycle.

CN119272420BActive Publication Date: 2025-03-18NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411802082.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-03-18
Estimated Expiration
2044-12-09

AI Technical Summary

Technical Problem

The existing mesh generation technology requires time-consuming intersection detection when generating boundary layer mesh, which makes it difficult to guarantee the quality of the generated mesh cells. In addition, the entire mesh needs to be regenerated when the boundary layer parameters need to be adjusted, which increases the simulation design cycle.

Method used

The quadratic boundary layer generation method based on tetrahedral mesh is adopted, and the units of the boundary area are adjusted on the existing tetrahedral mesh are automatically generated to decouple the generation process of tetrahedral mesh and boundary mesh.

Benefits of technology

The quality and robustness of boundary layer grids are improved, the time and complexity of grid generation is reduced, the instability of grid generation in complex aircraft models is avoided, and the design cycle of aircraft simulation drive is shortened.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119272420B_ABST
    Figure CN119272420B_ABST
Patent Text Reader

Abstract

The present application relates to an aircraft simulation design method based on tetrahedral mesh secondary boundary layer generation. The method comprises: reading in an aircraft geometry model file, establishing a far-field bounding box with the aircraft as the center, and using unstructured mesh generation technology to generate a tetrahedral mesh of the external flow field; generating an overall mesh with a boundary layer of a specified number of layers, first layer height, and growth rate between the triangular mesh and the tetrahedral mesh of the specified surface; exporting the overall mesh with the boundary layer as a general cgns format mesh file for storage and calculation, and obtaining the numerical results of the viscous flow near the boundary layer in the aircraft shape; analyzing the physical phenomena existing in the boundary layer area in the current aircraft shape according to the numerical results, and outputting the final aircraft geometry when the aircraft shape reaches the required aerodynamic performance index. The use of this method can improve robustness, shorten and optimize the simulation design cycle of the aircraft aerodynamic shape.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to an aircraft simulation design method based on tetrahedral grid secondary boundary layer generation. Background Art

[0002] With the rapid development of computer technology, the continuous improvement of computational fluid dynamics (CFD) technology has made it widely used in the design of aircraft aerodynamic shape. It uses computers to perform numerical simulations to solve practical problems, thereby reducing the actual production cost. In the numerical simulation of aircraft aerodynamic shape, grid generation is part of the pre-processing process, which discretizes the geometric model and the calculation domain into grid units. For three-dimensional models, they are usually discretized into tetrahedral units or hexahedral units, and are divided into structured grids and unstructured grids according to the topological structure of the grid units. The boundary layer refers to a thin layer area where the gradient of physical quantities such as the flow velocity of the fluid near the surface of the object changes greatly. In the simulation of aircraft fluid with high Reynolds number, there is a boundary layer on the surface of the aircraft, and an anisotropic boundary layer grid needs to be generated to capture the flow characteristics of this area. Then, the overall grid containing the boundary layer is exported to the grid file format required by the CFD numerical calculation software. According to the calculation results of the numerical calculation software, the anisotropic physical phenomenon of this area in the current shape of the aircraft is obtained, which provides guidance for the aerodynamic shape design of the aircraft.

[0003] Since the generation process of structured grids requires manual generation by personnel with certain engineering experience, it is not suitable for the generation of complex aircraft shapes. In contrast, the automatic generation technology of unstructured tetrahedral grids is very mature. However, in the boundary layer area and other areas, only generating tetrahedral grids will result in large memory requirements and low efficiency for subsequent numerical solutions. On the contrary, first generating prismatic units with good orthogonality in the boundary layer area, and then generating tetrahedral units in other areas, and using a hybrid grid to perform viscous flow calculations on complex aircraft shapes can better improve the accuracy of numerical solutions and computational efficiency. Therefore, automatic and reliable grid generation technology in the boundary layer area is a key issue in the design process of aircraft aerodynamic shapes.

[0004] The optimization of the aerodynamic shape design of aircraft depends on the calculation results of numerical simulation, and the stable and reliable boundary layer mesh generation technology is an important guarantee for the efficiency and accuracy of numerical simulation calculation. The existing mesh generation technology usually uses the Advancing Layer Method to generate a hybrid mesh that meets the viscous flow calculation, that is, first generate the boundary layer mesh layer by layer according to the surface mesh, and then generate the internal unstructured tetrahedral mesh based on the boundary layer mesh. In the process of generating the boundary layer mesh, this traditional method needs to perform intersection detection when generating each layer of boundary layer mesh to avoid the generation of intersecting mesh units. For complex geometric features in complex large geometric models, it often causes intersection detection to be very time-consuming and the quality of the generated mesh units is difficult to guarantee. And if the relevant parameters of the boundary layer need to be adjusted after the numerical simulation calculation, this method needs to regenerate the entire mesh, which further increases the overall time of mesh generation and has poor robustness, thereby limiting the cycle of aircraft aerodynamic external simulation driven design. Summary of the invention

[0005] Based on this, it is necessary to provide an aircraft simulation design method based on tetrahedral grid secondary boundary layer generation, which can improve robustness, shorten and optimize the simulation design cycle of the aircraft aerodynamic shape, in order to address the above technical problems.

[0006] An aircraft simulation design method based on tetrahedral grid secondary boundary layer generation, the method comprising:

[0007] Design the geometry of the aircraft, generate and output the aircraft geometry model file according to the design parameters; read the aircraft geometry model file, establish a far-field bounding box with the aircraft as the center, and use unstructured grid generation technology to generate a tetrahedral grid of the external flow field;

[0008] Define the parameters for boundary layer mesh generation, and generate a global mesh with a boundary layer of specified number of layers, first layer height and growth rate between the triangle mesh and tetrahedral mesh of the specified surface;

[0009] The whole grid with boundary layer is exported as a general cgns format grid file for storage, and the cgns format grid file is imported into the general CFD simulation software for solution calculation to obtain the numerical results of viscous flow near the boundary layer in the aircraft shape;

[0010] The physical phenomena existing in the boundary layer area of ​​the current aircraft shape are analyzed based on the numerical results. When the aircraft shape meets the required aerodynamic performance indicators, the final aircraft geometry is output. When the aircraft shape does not meet the required aerodynamic performance indicators, the aircraft geometry is redesigned.

[0011] The above-mentioned aircraft simulation design method based on tetrahedral mesh secondary boundary layer generation, this application generates a tetrahedral mesh using mature unstructured mesh generation technology after importing the aircraft geometry model, and automatically generates a high-quality boundary layer mesh on this mesh to obtain an overall mesh containing a boundary layer mesh, and then performs CFD numerical calculations on it to obtain the viscous flow phenomenon near the boundary layer and feedback the results to form a complete aircraft simulation driven design solution. This application is based on a tetrahedral mesh-based boundary layer secondary generation method. It does not need to be generated in the manner of first generating a boundary layer mesh and then generating an internal volume mesh. Instead, the mesh containing the boundary layer is secondary generated by adjusting the units in the boundary area on the existing tetrahedral mesh. This method realizes the decoupled generation of tetrahedral mesh and boundary layer mesh, is more robust to complex aircraft aerodynamic shapes, has better quality of generated boundary layer mesh, and has high mesh generation efficiency when changing boundary layer parameters to study numerical solutions. It is a more optimized aircraft simulation-driven design method. At the same time, an advantage of using tetrahedral mesh as the initial mesh is that there is no need for time-consuming boundary layer unit intersection detection, and the validity of the mesh can be checked by pre-solving the Euler equations, and then the boundary layer mesh is used to generate a hybrid mesh for numerical simulation of viscous flow calculations. When studying numerical solutions by changing boundary layer parameters, the application does not need to regenerate the mesh for the entire model, but only needs to regenerate the mesh in the boundary layer area, thereby avoiding the instability of mesh generation in complex aircraft models and reducing the aircraft simulation-driven design cycle. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 A schematic flow chart of an aircraft simulation design method based on tetrahedral grid secondary boundary layer generation in one embodiment;

[0013] Figure 2 A schematic diagram of a tetrahedral mesh generated by reading a geometric model and creating a far-field bounding box in one embodiment;

[0014] Figure 3 A schematic diagram of different types of vertices for generating a boundary layer in one embodiment;

[0015] Figure 4 is a schematic diagram of the growth directions of different types of vertices in another embodiment;

[0016] Figure 5 A schematic diagram of a movable space when the growth direction of the internal vertices is smooth in one embodiment;

[0017] Figure 6 A schematic diagram of a movable space when the growth direction of a boundary vertex is smooth in one embodiment;

[0018] Figure 7Schematic diagram of the inversion of the internal tetrahedral unit after the to-be-grown vertex grows to a specified height in one embodiment, wherein (a) is a local plan view of the internal unit, (b) is a schematic diagram of the internal unit before the inversion, (c) is a schematic diagram of the excessive growth distance in the growth direction of the to-be-grown vertex, and (d) is a schematic diagram of the internal unit after the inversion;

[0019] Figure 8 A schematic diagram of a two-three exchange in an embodiment;

[0020] Fig. 9 A schematic diagram of shell transformation in one embodiment;

[0021] Fig.10 A schematic diagram of point collapse in one embodiment;

[0022] Fig.11 A schematic diagram of generating a layer of boundary layer grid cells in one embodiment;

[0023] Fig.12 A schematic diagram of a mesh after vertex reconnection in one embodiment;

[0024] Fig.13 Schematic diagram of an overall grid with a boundary layer in one embodiment. DETAILED DESCRIPTION

[0025] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0026] In one embodiment, Figure 1 As shown, an aircraft simulation design method based on tetrahedral grid secondary boundary layer generation is provided, comprising the following steps:

[0027] Step 1: Design the aircraft geometry, generate and output the aircraft geometry model file according to the design parameters.

[0028] The geometric three-dimensional model data is stored in international standard files, such as iges, step and other file formats, for reading geometric information in subsequent mesh generation steps.

[0029] Step 2: read in the aircraft geometry model file, establish a far-field bounding box with the aircraft as the center, and use unstructured grid generation technology to generate a tetrahedral grid of the external flow field.

[0030] Read in the aircraft geometry model file, create a far-field bounding box with the aircraft as the center, and use mature unstructured mesh generation technology to generate a tetrahedral mesh. The effect of this step is as follows: Figure 2 shown.

[0031] Step 3, define the parameters for boundary layer mesh generation.

[0032] The parameters for boundary layer mesh generation include the first layer height of the boundary layer , the growth ratio between adjacent layers ( ), the default value is 1.2), the total number of boundary layers , the surface for which the boundary layer needs to be generated (such as Figure 2 The curved surfaces of the aircraft shape shown in the figure).

[0033] Step 4: Generate an overall mesh with a boundary layer of a specified number of layers, first layer height and growth rate between the triangular mesh and the tetrahedral mesh of the specified surface.

[0034] Generates a specified number of layers between the triangular mesh of the specified surface and the tetrahedral mesh of the external flow field , ground floor height and growth rate The prismatic boundary layer elements are added to the mesh and the consistency of the mesh topology is maintained. The specific process includes the following steps:

[0035] 4.1. Initialize the boundary layer parameter information on the vertices in the surface mesh unit of the specified surface, and classify the vertices into internal vertices and boundary vertices (collectively referred to as vertices to be grown), such as Figure 4 shown.

[0036] 4.2. Calculate the growth direction of the vertices of the generated boundary layer. If the boundary layer mesh to be generated is not the first layer, the growth direction of the corresponding vertex in the previous layer and the boundary layer parameter information are assigned to the current vertex and jump to 4.3; if the generated boundary layer is the first layer, the growth direction calculation of the vertex of the generated boundary layer can be divided into two types: one is the internal vertex. The growth direction is calculated by averaging the vertices Normals of the surface elements surrounding the generated boundary layer Get the growth direction of each internal vertex , which is calculated as follows: Represents a vertex The number of triangular face elements around which the boundary layer is generated; one is the boundary vertex To calculate the growth direction of the surrounding boundary layer, it is necessary to convert the surface element normals of the surrounding boundary layer into After projecting onto the symmetry plane, the average is taken to obtain the growth direction of each boundary vertex. , which is calculated as follows: is the normal direction of the symmetry surface unit. The growth direction diagram of different types of vertices is shown in Figure 4 shown.

[0037] 4.3. Smoothing the growth direction of the generated boundary layer vertices. Smoothing the growth direction based on the quality of the prism unit to be generated. The smoothing method is different for different nodes. The specified growth height of the layer The calculation method is: .

[0038] For the growth direction of the internal vertex, the movable space in the growth direction must be within the isosurface formed by the same growth height, that is, the growth height cannot be changed while the growth direction is smoothed. ,like Figure 5 As shown, at the growth height Generate two mutually perpendicular unit vectors within the isosurface , , and find the quality function of the worst quality unit of the prism unit formed by the current vertex growth direction and the surrounding vertex growth direction exist , Directional derivative in direction , , use the directional derivative and mutually perpendicular unit vectors to find the gradient of the current vertex growth direction , that is, find the direction of the growth direction, and then use the three-point equal interval search method to determine the moving distance, and get the specific position of the current vertex growth direction after smoothing;

[0039] For the growth direction of the boundary vertex, the movable space in the growth direction is the same growth height. The intersection line of the formed isosurface and the symmetry plane, that is, the smoothing growth direction and the unchanging growth height And it must be within the symmetry plane, such as Figure 6 As shown, the intersection lines in is the isosurface normal, is the normal of the symmetry surface, and finds the quality function of the worst quality unit of the prism unit formed by the growth direction of the current vertex and the growth direction of the surrounding vertices exist Directional derivative in direction , using directional derivatives and intersection lines to find the gradient of the growth direction , that is, find out the direction of movement of the growth direction, and then use the three-point equal-interval search method to determine the moving distance.

[0040] 4.4. Create a priority queue based on the collapse value of tetrahedral cells.

[0041] 4.4.1 When each vertex to be grown generates a new vertex in the growth direction, grow the vertex to be grown along the growth direction to the specified height As a dynamic process, the volume of the internal tetrahedral unit connected to the vertex to be grown will also change. If the volume of the tetrahedral unit collapses to 0 during the change to the specified height, it means that the growth height in the growth direction of the current vertex will cause the existing volume unit to reverse, such as Figure 7 As shown, (a) is a local plan view of the internal unit, (b) is a schematic diagram of the internal unit before inversion, (c) is a schematic diagram of the excessive growth distance in the growth direction of the vertex to be grown, and (d) is a schematic diagram of the internal unit after inversion. The value when the tetrahedron volume collapses to 0 (growth height) is calculated by first fitting with a cubic Bezier curve to obtain a curve of the volume change when the vertex to be grown in the tetrahedron grows to a specified height along the growth direction, and then using Newton iteration to find the root. The root found is the collapse value of the tetrahedron unit containing the vertex to be grown. .

[0042] 4.4.2 Determine whether there is a triangular unit belonging to the symmetric face among the four faces of the tetrahedron. If so, it is necessary to calculate the collapse value of the triangular unit and take the minimum value of the collapse value of the triangular unit and the collapse value of the tetrahedron unit as the collapse value of the current tetrahedron unit. Assume that the vertex to be grown in the triangular unit is Move a certain proportion along the growth direction ( ) at a specified growth height, its coordinates can be expressed as ,in Vertex The initial position of is the growth direction, then the normal of the triangle before moving is , the normal of the triangle after the growth vertex moves Expand to get the following formula 3, then the area in is the normal of the initial triangle and the normal of the triangle after the vertex to be grown moves The angle between the two angles is , then the area change curve of the vertex to be grown in the triangular unit when it is transformed to a specified height along the growth direction can be approximated as a quadratic function As shown in formula 4, the root is found according to the quadratic function root-finding formula, and the root is multiplied by the specified growth height That is, the collapse value of the triangular face unit containing the vertex to be grown ;

[0043]

[0044] 4.4.3 Establish a priority queue of tetrahedral mesh cells based on the collapse value of each tetrahedral mesh cell.

[0045] 4.5. Process the tetrahedral units in the priority queue whose collapse values ​​do not meet the requirements. When the collapse value of the tetrahedral unit containing the vertex to be grown does not meet the requirements, that is, the unit volume has collapsed to 0 when the vertex to be grown has not grown to the specified height along the growth direction. If it grows to the specified height, the unit will be reversed. It is necessary to process the unit that will be reversed so that it can grow to the specified height without reversing. The priority queue will be updated every time a tetrahedral unit is processed. The processing method for the tetrahedral unit whose collapse value does not meet the requirements is as follows according to the number of points to be grown.

[0046] 4.5.1 The tetrahedral unit that does not meet the requirements contains a vertex to be grown. First, perform a two-three exchange on the triangular face opposite to the vertex to be grown. If the exchange is successful, it means the processing is successful. If it fails, perform a shell transformation on the three edges of the opposite face. If the shell transformation is successful, it means the processing is successful. If it fails, continue to perform point collapse on the three vertices of the opposite triangular face. If the collapse is successful, it means the processing is successful. If it fails, it means the processing of the current tetrahedral unit has failed.

[0047] 4.5.2 The tetrahedral unit that does not meet the requirements contains two vertices to be grown. Perform shell transformation on the two edges that are not connected to the vertices to be grown. If the transformation is successful, it means the processing is successful. If it fails, perform two-three exchanges on the two triangular faces containing the edges connected to the non-vertices to be grown. If there is a successful exchange, it means the processing is successful. If it fails, perform point collapse on the two non-vertices to be grown. If there is a successful collapse, it means the processing is successful. If it fails, it means the processing of the current tetrahedron has failed.

[0048] 4.5.3 The tetrahedral unit that does not meet the requirements contains three vertices to be grown. Shell transformation is performed on the three edges connected to the non-to-be-grown vertices. If the transformation is successful, it means the processing is successful. If it fails, two-three exchanges are performed on the three faces containing the non-to-be-grown vertices respectively. If the exchange is successful, it means the processing is successful. If it fails, point collapse is performed on the non-to-be-grown vertices. If the collapse is successful, it means the processing is successful. If it fails, it means the processing of the current tetrahedral unit has failed.

[0049] The basic operations for the two-three exchange and shell transformation and point collapse in 4.5.1, 4.5.2 and 4.5.3 are as follows:

[0050] Two-three exchange: First find the two tetrahedrons that contain the three vertices that need to be exchanged, and get the minimum value of the collapse value of the two tetrahedrons before the exchange Then calculate the minimum value of the collapse value of the three tetrahedrons after the exchange ,like Then the two-three exchange of grid cells is completed, such as Figure 8 Otherwise, the exchange fails.

[0051] Shell transformation: First find all tetrahedral units containing the edges that need to be transformed, and calculate the minimum value of the collapse value in the surrounding tetrahedrons , calculate the minimum collapse value of the tetrahedron after shell transformation at each skirt point , and then from Find the value in The skirt point .if The skirt point Complete the shell transformation of the mesh cells, such as Fig. 9 As shown, all the connecting edges and skirts in the structure after the shell transformation are successful are shell transformed, and all the connecting surfaces are exchanged once; if This means that the shell transformation failed.

[0052] Point collapse: First determine whether there are candidate vertices that can collapse around the vertex to be collapsed (the vertex that needs to be collapsed). If so, calculate the vertex to be collapsed to each candidate vertex Minimum value of collapse value among the surrounding tetrahedral units , and then from each candidate vertex The minimum collapse value Find the maximum value in Candidate vertices As the actual collapse vertex and complete the collapse of the grid unit, if there is no candidate vertex for collapse around it, it returns point collapse failure. Fig.10 As shown. The method for determining whether there are candidate vertices that can collapse around the vertex to be collapsed is as follows: 1. Calculate each shell vertex The visibility of every other shell triangle (not including the current shell vertex) ( ,in is the normal of the current shell triangle, From any vertex in the current shell triangle to the shell vertex Forming a vector) 2. If there is a shell vertex that is visible to every other shell triangle ( ) then the shell vertex is the candidate vertex; if there is no such shell vertex, then a shell transformation is performed on each edge connected to the current vertex to be collapsed. If there is an edge that has been successfully transformed, the surrounding tetrahedron structure after the change is judged again. If all fail, a two-three exchange is performed on the shell triangles. If there is a shell triangle that has been successfully exchanged, the surrounding tetrahedron structure after the transformation is judged again. If all exchanges fail, it means that there are no candidate vertices that can collapse around the current vertex to be collapsed.

[0053] 4.6. Generate boundary layer units in the grid. After the tetrahedrons whose collapse values ​​do not meet the requirements are processed in the above steps, the vertices to be grown can grow to a specified height along the growth direction to complete the generation of new vertices (growth points), and will not cause the internal tetrahedral units to be reversed. Therefore, the boundary layer units (prism units, pyramid units, tetrahedron units) can be generated in the existing grid using the vertices to be grown and the growth points in each triangular unit of the generated boundary layer, such as Fig.11 shown.

[0054] 4.7. Reconnect the vertices of the internal tetrahedral mesh units. After the boundary layer units are generated, the boundary layer units and the processed tetrahedral units exist in the mesh at the same time. It is necessary to traverse each tetrahedral unit containing the vertex to be grown and replace the vertex to be grown in the unit with the growth point corresponding to the vertex to be grown to complete the reconnection of the tetrahedral units. Fig.12 Then determine whether the number of boundary layers currently generated meets the requirements. If it does, jump to step 5, otherwise jump to step 4.2.

[0055] Step 5: Export the entire mesh with the boundary layer into a common cgns format mesh file for storage.

[0056] Will be like Fig.13 The overall mesh with boundary layer generated is exported as a general cgns format mesh file for storage.

[0057] Step 6, using general CFD simulation software to import the cgns format grid file for solution calculation, to obtain the numerical results of the viscous flow near the boundary layer in the aircraft shape.

[0058] Use general CFD simulation software to import the cgns format grid file generated in step 5 for solution calculation to obtain the numerical results of the viscous flow near the boundary layer in the aircraft shape. If the parameters of the boundary layer need to be adjusted, jump to step 3.

[0059] Step 7, analyzing the physical phenomena existing in the boundary layer area of ​​the current aircraft shape based on the numerical results. When the aircraft shape meets the required aerodynamic performance indicators, the final aircraft geometry is output. When the aircraft shape does not meet the required aerodynamic performance indicators, the aircraft geometry is redesigned.

[0060] According to the above numerical results, the physical phenomena existing in the boundary layer area of ​​the current aircraft shape are analyzed. When the aircraft shape does not meet the required aerodynamic performance indicators (pressure ratio, thrust coefficient, etc.), the geometric shape of the aircraft is redesigned and the first step is executed. Otherwise, it ends.

[0061] The above-mentioned aircraft simulation design method based on tetrahedral mesh secondary boundary layer generation, this application generates a tetrahedral mesh using mature unstructured mesh generation technology after importing the aircraft geometry model, and automatically generates a high-quality boundary layer mesh on this mesh to obtain an overall mesh containing a boundary layer mesh, and then performs CFD numerical calculations on it to obtain the viscous flow phenomenon near the boundary layer and feedback the results to form a complete aircraft simulation driven design solution. This application is based on a tetrahedral mesh-based boundary layer secondary generation method. It does not need to be generated in the manner of first generating a boundary layer mesh and then generating an internal volume mesh. Instead, the mesh containing the boundary layer is secondary generated by adjusting the units in the boundary area on the existing tetrahedral mesh. This method realizes the decoupled generation of tetrahedral mesh and boundary layer mesh, is more robust to complex aircraft aerodynamic shapes, has better quality of generated boundary layer mesh, and has high mesh generation efficiency when changing boundary layer parameters to study numerical solutions. It is a more optimized aircraft simulation-driven design method. At the same time, an advantage of using tetrahedral mesh as the initial mesh is that there is no need for time-consuming boundary layer unit intersection detection, and the validity of the mesh can be checked by pre-solving the Euler equations, and then the boundary layer mesh is used to generate a hybrid mesh for numerical simulation of viscous flow calculations. When studying numerical solutions by changing boundary layer parameters, the application does not need to regenerate the mesh for the entire model, but only needs to regenerate the mesh in the boundary layer area, thereby avoiding the instability of mesh generation in complex aircraft models and reducing the aircraft simulation-driven design cycle.

[0062] In one embodiment, generating a global mesh with a boundary layer having a specified number of layers, first layer height and growth rate between a triangular mesh and a tetrahedral mesh of a specified surface includes:

[0063] Step 2.1: Initialize the boundary layer parameter information on the vertices in the surface mesh unit of the specified surface, and classify the vertices into internal vertices and boundary vertices; the boundary vertices are the vertices to be grown;

[0064] Step 2.2: Calculate the vertex growth direction of the generated boundary layer. If the boundary layer mesh to be generated is not the first layer, assign the corresponding growth direction of the previous layer vertex and the boundary layer parameter information to the current vertex and jump to 2.3; if the generated boundary layer is the first layer, calculate the vertex growth direction of the generated boundary layer.

[0065] Step 2.3: Smoothing the vertex growth direction based on the quality of the prism unit to be generated, and obtaining the specific position of the current vertex growth direction after smoothing and the direction of movement of the growth direction;

[0066] Step 2.4: Calculate the collapse value of the mesh cells of the tetrahedral mesh based on the direction of movement of the growth direction, and establish a priority queue of the tetrahedral mesh cells according to the collapse value of each mesh cell;

[0067] Step 2.5: Process the tetrahedral mesh units in the priority queue whose collapse values ​​do not meet the requirements. When the collapse value of the tetrahedral unit containing the vertex to be grown does not meet the requirements, that is, when the vertex to be grown has not grown to the specified height along the growth direction, the unit volume has become 0 and collapsed. If the unit is reversed after growing to the specified height, it is necessary to process the unit that will be reversed so that it can grow to the specified height without reversing, and update the priority queue every time a tetrahedral unit is processed;

[0068] Step 2.6: Generate boundary layer units in the existing grid using the vertices to be grown and the growth points in each triangular face unit of the generated boundary layer; the boundary layer units include prism units, pyramid units and tetrahedron units;

[0069] Step 2.7: After the boundary layer unit is generated, the boundary layer unit and the processed tetrahedral unit exist in the grid at the same time. Traverse each tetrahedral unit containing the vertices to be grown, and replace the vertices to be grown in the unit with the growth points corresponding to the vertices to be grown to complete the reconnection of the tetrahedral unit. When the number of boundary layers currently generated meets the specified number of layers, output the entire grid with the boundary layer.

[0070] In a specific embodiment, the movable space when the growth direction is smoothed is obtained for different types of vertices to be grown, and the directional derivative of the mass function of the worst quality unit around the movable space in the movable space is solved to obtain the moving direction (gradient) when the growth direction is smoothed, and then the moving distance is determined by the three-point equal-interval search method, thereby improving the quality of the boundary layer grid units and avoiding the problem that the quality of the boundary layer units cannot be guaranteed when the traditional Laplace smoothing growth direction is used.

[0071] In one embodiment, calculating and generating the vertex growth direction of the boundary layer includes:

[0072] The growth direction of each internal vertex is obtained by averaging the normals of the surface elements that generate the boundary layer around the vertex:

[0073]

[0074] in, represents the surface element normal, Represents the average vertex The number of triangular face elements around which the boundary layer is generated;

[0075] After projecting the normal of the surface unit of the surrounding generated boundary layer onto the symmetry surface and averaging it, the growth direction of each boundary vertex is obtained as follows:

[0076]

[0077] in, is the normal direction of the symmetry surface element.

[0078] In one embodiment, the vertex growth direction is smoothed based on the quality of the prism unit to be generated, and the specific position of the current vertex growth direction after smoothing includes:

[0079] At growth height Generate two mutually perpendicular unit vectors within the isosurface , , and find the quality function of the worst quality unit of the prism unit formed by the current vertex growth direction and the surrounding vertex growth direction exist , Directional derivative in direction , , use the directional derivative and mutually perpendicular unit vectors to find the gradient of the current vertex growth direction , that is, find the direction of the growth direction, and then use the three-point equal interval search method to determine the moving distance, and get the specific position of the current vertex growth direction after smoothing;

[0080] For the growth direction of the boundary vertex, the movable space in the growth direction is the same growth height. The intersection line of the formed isosurface and the symmetry plane, that is, the smoothing growth direction and the unchanging growth height And it must be in the symmetry plane, and the intersection line is in is the isosurface normal, is the normal of the symmetry surface, and finds the quality function of the worst quality unit of the prism unit formed by the growth direction of the current vertex and the growth direction of the surrounding vertices exist Directional derivative in direction , using directional derivatives and intersection lines to find the gradient of the growth direction , that is, find out the direction of movement of the growth direction, and then use the three-point equal-interval search method to determine the moving distance.

[0081] In one embodiment, the collapse value of the mesh cells of the tetrahedral mesh is calculated based on the direction of movement of the growth direction, and a priority queue of the tetrahedral mesh cells is established according to the collapse value of each mesh cell, including:

[0082] Step 2.4.1: When each vertex to be grown generates a new vertex in the growth direction, grow the vertex to be grown along the growth direction to the specified height If it is regarded as a dynamic process, the volume of the internal tetrahedral unit connected to the vertex to be grown will also change. If the volume of the tetrahedral unit collapses to 0 in the process of changing to the specified height, it means that the growth height in the growth direction of the current vertex will cause the existing body units inside to reverse. The value when the tetrahedral volume collapses to 0 is calculated as follows: first use the cubic Bezier curve to fit to obtain the volume change curve when the vertex to be grown in the tetrahedron grows to the specified height along the growth direction, and then use Newton iteration to find the root. The root found is the collapse value of the tetrahedral unit containing the vertex to be grown. .

[0083] Step 2.4.2: Determine whether there is a triangular unit belonging to the symmetry plane among the four faces of the tetrahedron. If so, it is necessary to calculate the collapse value of the triangular unit, and take the minimum value of the collapse value of the triangular unit and the collapse value of the tetrahedron unit as the collapse value of the current tetrahedron unit;

[0084] Step 2.4.3: Establish a priority queue of tetrahedral grid cells according to the collapse value of each tetrahedral grid cell.

[0085] In a specific embodiment, a detection algorithm is designed to determine whether a tetrahedral unit will be inverted by calculating the size of the collapse value of the tetrahedral unit. When the top to be grown grows to a specified height along the growth direction, the growth height at which the volume of the tetrahedral unit containing the top to be grown is zero is the collapse value of the tetrahedral unit. When the collapse value does not reach the specified growth height, it indicates that the unit will be inverted. This method can effectively detect units that are about to be inverted, thereby ensuring that the inverted tetrahedral units are correctly processed.

[0086] In one embodiment, the process of calculating the collapse value of the triangular unit includes:

[0087] Assume that the vertex to be grown in the triangular unit Move a certain proportion along the growth direction ( ) at a specified growth height, its coordinates are expressed as ,in Vertex The initial position of is the growth direction, then the normal of the triangle before moving is , the normal direction of the triangle after the growth vertex moves is , then the area ,in is the normal of the initial triangle and the normal of the triangle after the vertex to be grown moves The angle between the two angles is , then the area change curve of the vertex to be grown in the triangular unit when it is transformed to a specified height along the growth direction can be approximated as a quadratic function , find the root according to the quadratic function root-finding formula, and multiply the root by the specified growth height That is, the collapse value of the triangular face unit containing the vertex to be grown .

[0088] In one embodiment, the normal direction of the triangle after the vertex to be grown moves is

[0089] .

[0090] In one embodiment, processing the tetrahedral mesh cells in the priority queue whose collapse values ​​do not meet the requirements includes:

[0091] Step 2.5.1: The tetrahedral unit that does not meet the requirements contains a vertex to be grown. First, perform a two-three exchange on the triangular face opposite to the vertex to be grown. If the exchange is successful, it means the processing is successful. If it fails, perform a shell transformation on the three edges of the opposite face. If the shell transformation is successful, it means the processing is successful. If it fails, continue to perform point collapse on the three vertices of the opposite triangular face. If the collapse is successful, it means the processing is successful. If it fails, it means the processing of the current tetrahedral unit has failed;

[0092] Step 2.5.2: The tetrahedral unit that does not meet the requirements contains two vertices to be grown. Shell transformation is performed on the two edges that are not connected to the vertices to be grown. If the transformation is successful, it means the processing is successful. If it fails, two-three exchange is performed on the two triangular faces containing the edges connected to the non-vertices to be grown. If there is a successful exchange, it means the processing is successful. If it fails, point collapse is performed on the two non-vertices to be grown. If there is a successful collapse, it means the processing is successful. If it fails, it means that the current tetrahedron processing has failed;

[0093] Step 2.5.3: The tetrahedral unit that does not meet the requirements contains three vertices to be grown. Shell transformation is performed on the three edges connected to the non-vertices to be grown. If the transformation is successful, it means the processing is successful. If it fails, two-three exchanges are performed on the three faces containing the non-vertices to be grown respectively. If the exchange is successful, it means the processing is successful. If it fails, point collapse is performed on the non-vertices to be grown. If the collapse is successful, it means the processing is successful. If it fails, it means that the processing of the current tetrahedral unit has failed.

[0094] In a specific embodiment, a mesh smoothing method is used to process tetrahedral units whose collapse values ​​do not meet the requirements. According to the different numbers of vertices to be grown in the tetrahedron, a combination of two-three exchange, shell transformation, point collapse and other basic operations are used to process the tetrahedral units whose collapse values ​​do not meet the requirements. This method can effectively adjust the shape of the internal tetrahedral mesh to avoid mesh errors caused by the generation of growth points.

[0095] In one embodiment, the two-three exchange includes first finding two tetrahedrons containing three vertices of the faces to be exchanged, and obtaining the minimum value of the collapse value of the two tetrahedrons before the exchange. Then calculate the minimum value of the collapse value of the three tetrahedrons after the exchange ,like The two-three exchange of the grid unit is completed, otherwise the exchange failure is returned; the shell transformation includes first finding all tetrahedral units containing the edges to be transformed, and calculating the minimum value of the collapse value in the surrounding tetrahedrons , calculate the minimum collapse value of the tetrahedron after shell transformation at each skirt point , and then from Find the value in The skirt point ,if The skirt point Complete the shell transformation of the grid unit, and perform a shell transformation on all the connecting edges and skirts in the structure after the shell transformation is successful, and perform a two-three exchange on all the connecting surfaces; if This means that the shell transformation has failed. Point collapse includes first determining whether there are candidate vertices that can collapse around the vertex to be collapsed. If so, calculate the vertex to be collapsed to each candidate vertex. Minimum value of collapse value among the surrounding tetrahedral units , and then from each candidate vertex The minimum collapse value Find the maximum value in Candidate vertices As the actual collapse vertex and complete the collapse of the grid unit, if there is no candidate collapse vertex around, the return point collapse fails.

[0096] In one embodiment, the method for determining whether there are candidate vertices that can be collapsed around the vertex to be collapsed includes calculating each shell vertex Visibility to every other shell triangle, if there is a shell vertex that is visible to every other shell triangle, that is ,in is the normal of the current shell triangle, From any vertex in the current shell triangle to the shell vertex If a vector is formed, the shell vertex is a candidate vertex; if there is no such shell vertex, a shell transformation is performed on each edge connected to the current vertex to be collapsed. If there is an edge that has been successfully transformed, the surrounding tetrahedron structure after the change is judged again. If all fail, a two-three exchange is performed on the shell triangle. If there is a shell triangle that has been successfully exchanged, the surrounding tetrahedron structure after the transformation is judged again. If all exchanges fail, it means that there are no candidate vertices that can collapse around the current vertex to be collapsed.

[0097] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0098] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0099] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0100] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. An aircraft simulation design method based on tetrahedral grid secondary boundary layer generation, characterized in that: The method comprises: Design the geometry of the aircraft, generate and output the aircraft geometry model file according to the design parameters; read the aircraft geometry model file, establish a far-field bounding box with the aircraft as the center, and use unstructured grid generation technology to generate a tetrahedral grid of the external flow field; Defining parameters for boundary layer mesh generation, generating an overall mesh with a boundary layer having a specified number of layers, first layer height and growth rate between the triangular mesh of the specified surface and the tetrahedral mesh; The whole grid with the boundary layer is exported as a general cgns format grid file for storage, and the cgns format grid file is imported into a general CFD simulation software for solution calculation to obtain the numerical result of the viscous flow near the boundary layer in the aircraft shape; Analyzing the physical phenomena existing in the current aircraft shape near the boundary layer region according to the numerical results, outputting the final aircraft geometry when the aircraft shape meets the required aerodynamic performance index, and redesigning the aircraft geometry when the aircraft shape does not meet the required aerodynamic performance index; Generate a global mesh with a boundary layer of a specified number of layers, first layer height and growth rate between the triangular mesh of the specified surface and the tetrahedral mesh, including: Step 2.1: Initialize the boundary layer parameter information on the vertices in the surface mesh unit of the specified surface, and classify the vertices into internal vertices and boundary vertices; the boundary vertices are vertices to be grown; Step 2.2: Calculate the vertex growth direction of the generated boundary layer. If the boundary layer mesh to be generated is not the first layer, assign the corresponding growth direction of the previous layer vertex and boundary layer parameter information to the current vertex and jump to 2.3; if the generated boundary layer is the first layer, calculate the vertex growth direction of the generated boundary layer; Step 2.3: Smoothing the vertex growth direction based on the quality of the prism unit to be generated, and obtaining the specific position of the current vertex growth direction after smoothing and the direction of movement of the growth direction; Step 2.4: Calculate the collapse value of the mesh cells of the tetrahedral mesh based on the direction of movement of the growth direction, and establish a priority queue of the tetrahedral mesh cells according to the collapse value of each mesh cell; Step 2.5: Process the tetrahedral mesh units in the priority queue whose collapse values ​​do not meet the requirements. When the collapse value of the tetrahedral unit containing the vertex to be grown does not meet the requirements, that is, when the vertex to be grown has not grown to the specified height along the growth direction, the unit volume has become 0 and collapsed. If the unit is reversed after growing to the specified height, it is necessary to process the unit that will be reversed so that it can grow to the specified height without reversing, and update the priority queue every time a tetrahedral unit is processed; Step 2.6: Generate boundary layer units in the existing grid using the vertices to be grown and the growth points in each triangular face unit of the generated boundary layer; the boundary layer units include prism units, pyramid units and tetrahedron units; Step 2.7: After the boundary layer unit is generated, the boundary layer unit and the processed tetrahedral unit exist in the grid at the same time. Traverse each tetrahedral unit containing the vertices to be grown, and replace the vertices to be grown in the unit with the growth points corresponding to the vertices to be grown to complete the reconnection of the tetrahedral unit. When the number of boundary layers currently generated meets the specified number of layers, output the entire grid with the boundary layer.

2. The method according to claim 1, characterized in that The calculation of the vertex growth direction of the generated boundary layer includes: The growth direction of each internal vertex is obtained by averaging the normals of the surface elements that generate the boundary layer around the vertex: in, represents the surface element normal, Represents the average vertex The number of triangular face elements around which the boundary layer is generated; The growth direction of each boundary vertex is obtained by projecting the normal of the surface unit of the surrounding generated boundary layer onto the symmetry surface and then averaging it: in, is the normal direction of the symmetry surface element.

3. The method according to any one of claims 1 to 2, characterized in that: The vertex growth direction is smoothed based on the quality of the prism unit to be generated. The specific position of the current vertex growth direction after smoothing includes: At growth height Generate two mutually perpendicular unit vectors within the isosurface , , and find the quality function of the worst quality unit of the prism unit formed by the current vertex growth direction and the surrounding vertex growth direction exist , Directional derivative in direction , , use the directional derivative and mutually perpendicular unit vectors to find the gradient of the current vertex growth direction , that is, find the direction of the growth direction, and then use the three-point equal interval search method to determine the moving distance, and get the specific position of the current vertex growth direction after smoothing; For the growth direction of the boundary vertex, the movable space in the growth direction is the same growth height. The intersection line of the formed isosurface and the symmetry plane, that is, the smoothing growth direction and the unchanging growth height And it must be in the symmetry plane, and the intersection line is in is the isosurface normal, is the normal of the symmetry surface, and finds the quality function of the worst quality unit of the prism unit formed by the growth direction of the current vertex and the growth direction of the surrounding vertices exist Directional derivative in direction , using directional derivatives and intersection lines to find the gradient of the growth direction , that is, find out the direction of movement of the growth direction, and then use the three-point equal-interval search method to determine the moving distance.

4. The method according to claim 1, characterized in that: The collapse value of the mesh cells of the tetrahedral mesh is calculated based on the direction of movement of the growth direction. According to the collapse value of each mesh cell, a priority queue of the tetrahedral mesh cells is established, including: Step 2.4.1: When each vertex to be grown generates a new vertex in the growth direction, grow the vertex to be grown along the growth direction to the specified height If it is regarded as a dynamic process, the volume of the internal tetrahedral unit connected to the vertex to be grown will also change. If the volume of the tetrahedral unit collapses to 0 in the process of changing to the specified height, it means that the growth height in the growth direction of the current vertex will cause the existing body units inside to reverse. The value when the tetrahedral volume collapses to 0 is calculated as follows: first use the cubic Bezier curve to fit to obtain the volume change curve when the vertex to be grown in the tetrahedron grows to the specified height along the growth direction, and then use Newton iteration to find the root. The root found is the collapse value of the tetrahedral unit containing the vertex to be grown. ; Step 2.4.2: Determine whether there is a triangular unit belonging to the symmetry plane among the four faces of the tetrahedron. If so, it is necessary to calculate the collapse value of the triangular unit, and take the minimum value of the collapse value of the triangular unit and the collapse value of the tetrahedron unit as the collapse value of the current tetrahedron unit; Step 2.4.3: Establish a priority queue of tetrahedral grid cells according to the collapse value of each tetrahedral grid cell.

5. The method according to claim 4, characterized in that The process of calculating the collapse value of a triangular element includes: Assume that the vertex to be grown in the triangular unit Move a certain proportion along the growth direction When the growth height is specified, its coordinates are expressed as ,in Vertex The initial position of is the growth direction, then the normal of the triangle before moving is , the normal direction of the triangle after the growth vertex moves is , then the area ,in is the normal of the initial triangle and the normal of the triangle after the vertex to be grown moves The angle between the two angles is , then the area change curve of the vertex to be grown in the triangular surface unit when it is transformed to a specified height along the growth direction can be approximated as a quadratic function , find the root according to the quadratic function root-finding formula, and multiply the root by the specified growth height That is, the collapse value of the triangular face unit containing the vertex to be grown .

6. The method according to claim 5, characterized in that The normal direction of the triangle after the vertex to be grown moves is 。 7. The method according to claim 1, characterized in that Processing of tetrahedral mesh elements in the priority queue whose collapse values ​​do not meet the requirements includes: Step 2.5.1: The tetrahedral unit that does not meet the requirements contains a vertex to be grown. First, perform a two-three exchange on the triangular face opposite to the vertex to be grown. If the exchange is successful, it means the processing is successful. If it fails, perform a shell transformation on the three edges of the opposite face. If the shell transformation is successful, it means the processing is successful. If it fails, continue to perform point collapse on the three vertices of the opposite triangular face. If the collapse is successful, it means the processing is successful. If it fails, it means the processing of the current tetrahedral unit has failed; Step 2.5.2: The tetrahedral unit that does not meet the requirements contains two vertices to be grown. Shell transformation is performed on the two edges that are not connected to the vertices to be grown. If the transformation is successful, it means the processing is successful. If it fails, two-three exchange is performed on the two triangular faces containing the edges connected to the non-vertices to be grown. If there is a successful exchange, it means the processing is successful. If it fails, point collapse is performed on the two non-vertices to be grown. If there is a successful collapse, it means the processing is successful. If it fails, it means that the current tetrahedron processing has failed; Step 2.5.3: The tetrahedral unit that does not meet the requirements contains three vertices to be grown. Shell transformation is performed on the three edges connected to the non-vertices to be grown. If the transformation is successful, it means the processing is successful. If it fails, two-three exchanges are performed on the three faces containing the non-vertices to be grown respectively. If the exchange is successful, it means the processing is successful. If it fails, point collapse is performed on the non-vertices to be grown. If the collapse is successful, it means the processing is successful. If it fails, it means that the processing of the current tetrahedral unit has failed.

8. The method according to claim 7, characterized in that The two-three exchange includes first finding two tetrahedrons containing three vertices of the faces to be exchanged, and obtaining the minimum value of the collapse value of the two tetrahedrons before the exchange. Then calculate the minimum value of the collapse value of the three tetrahedrons after the exchange ,like The two-three exchange of the grid unit is completed, otherwise the exchange failure is returned; the shell transformation includes first finding all tetrahedral units containing the edges to be transformed, and calculating the minimum value of the collapse value in the surrounding tetrahedrons , calculate the minimum collapse value of the tetrahedron after shell transformation at each skirt point , and then from Find the value in The skirt point ,if The skirt point Complete the shell transformation of the grid unit, and perform a shell transformation on all the connecting edges and skirts in the structure after the shell transformation is successful, and perform a two-three exchange on all the connecting surfaces; if The point collapse includes first determining whether there are candidate vertices that can collapse around the vertex to be collapsed, and if so, calculating the collapse of the vertex to be collapsed to each candidate vertex. Minimum value of collapse value among the surrounding tetrahedral units , and then from each candidate vertex The minimum collapse value Find the maximum value in Candidate vertices As the actual collapse vertex and complete the collapse of the grid unit, if there is no candidate collapse vertex around, the return point collapse fails.

9. The method according to claim 8, characterized in that The method of determining whether there are candidate vertices that can collapse around the vertex to be collapsed includes calculating each shell vertex Visibility to every other shell triangle, if there is a shell vertex that is visible to every other shell triangle, that is ,in is the normal of the current shell triangle, From any vertex in the current shell triangle to the shell vertex If a vector is formed, the shell vertex is a candidate vertex; if there is no such shell vertex, a shell transformation is performed on each edge connected to the current vertex to be collapsed. If there is an edge that has been successfully transformed, the surrounding tetrahedron structure after the change is judged again. If all fail, a two-three exchange is performed on the shell triangle. If there is a shell triangle that has been successfully exchanged, the surrounding tetrahedron structure after the transformation is judged again. If all exchanges fail, it means that there are no candidate vertices that can collapse around the current vertex to be collapsed.

Citation Information

Patent Citations

  • Aircraft simulation drive design method based on octree refined tetrahedral mesh

    CN115994410A

  • Spraying pipe aerodynamic configuration design method and device based on automatic generation of boundary layer grids

    CN116628899A