Method and system for automatic generation of finite element mesh of parameterized hollow shaft radial hole region
The parameterized automatic generation method for finite element meshes in the radial hole region of hollow shafts solves the problem of low mesh accuracy in existing technologies, achieving efficient and high-precision mesh generation, which is suitable for finite element analysis of the radial hole region of hollow shafts.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-15
- Publication Date
- 2026-03-24
Smart Images

Figure CN115828670B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of finite element simulation, and relates to a method and system for automatically generating a parameterized finite element grid of a radial hole area of a hollow shaft. BACKGROUND
[0002] Hollow shafts with radial holes are widely used in aero-engine, helicopter transmission system and other mechanical equipment. Figure 1 As shown in the figure, a bolt or a pin is fixed in the flange through the radial hole 11 to transmit torque between the hollow shaft 10 and other parts. In addition, since the radial hole is a stress concentration structure in shape, it is a high stress area of the entire shaft and also the weakest area of the entire shaft in strength.
[0003] Therefore, when performing finite element analysis, the radial hole area is the focus. Often, a separate detailed stress analysis is performed on it, that is, the local area containing the radial hole is taken out, and the grid is encrypted for finite element analysis.
[0004] However, the commonly used commercial software can generate a grid of 4-face 10-node solid elements more conveniently, as shown in the figure. Figure 2 This element has low accuracy, and in addition, the commonly used commercial software is difficult to realize parameterized automatic grid generation, which cannot meet the needs of many engineering practices.
[0005] Application No. 2018102087953 discloses a hexahedral finite element grid division method for simulating thread cooperation. According to the distance variation law of the thread surface and the thread axis, the axial finite element grid size of the minimum feature of the thread is determined. Then, according to the number of layers of the grid divided in the single pitch inner shaft and the rotation angle relationship between adjacent layers, the number of circumferential finite element grids is determined, and the single-layer hexahedral grid is formed by stretching the four-sided grid of the bolt thread end face. This method does not disclose the finite element grid division of the radial hole area of the hollow shaft, and the grid generated by the method of stretching the four-sided grid of the end face to form a single-layer hexahedral grid has low accuracy. SUMMARY
[0006] The purpose of the present application is to provide a method and system for automatically generating a parameterized finite element grid of a radial hole area of a hollow shaft, to realize parameterized 20-node 6-face finite element grid automatic generation, to improve the accuracy of finite element analysis, and to take out the local area containing the radial hole for detailed stress analysis.
[0007] The technical solution for achieving the purpose of the present application is as follows:
[0008] A method for automatically generating a parameterized finite element grid of a radial hole area of a hollow shaft, comprising the following steps:
[0009] S01: dividing the radial hole area into a plurality of symmetrical regions;
[0010] S02: generating nodes on a curve along the radial direction of a hole region of one area, and then sweeping a layer of nodes of one area along the circumferential direction, the distribution of the nodes of the layer corresponding to an 8-node 4-edge polygon of one end face of a 20-node 6-polyhedron unit;
[0011] S03: generating k layers of nodes along the thickness direction of the hole region, when k is an odd number, the distribution of the nodes corresponding to a 4-node 4-edge polygon of a face of a 20-node 6-polyhedron unit, and when k is an even number, the distribution of the nodes corresponding to an 8-node 4-edge polygon of a face of a 20-node 6-polyhedron unit;
[0012] S04: generating 2D face grid nodes layer by layer, and then forming a 3D grid by every 3 layers of 2D face grid nodes, to obtain an area grid;
[0013] S05: generating a grid of the entire radial hole region by mirror symmetry replication to obtain other area grids.
[0014] In the preferred technical solution, the radial hole region is divided into four symmetrical areas in step S01, and one area is divided into an a area and a b area.
[0015] In the preferred technical solution, the method for generating the coordinates x[i], y[i], and z[i] of the nodes in step S02 comprises:
[0016] S21: cyclically generating circumferential nodes of the a area;
[0017] If the layer number k is an odd number and the curve number j is an odd number, go to the next curve; otherwise, calculate:
[0018] ct = j x π / (8 x Nt)
[0019] dy = [j x L / (2 x Nr) - Y0] / (2 x Nt)
[0020] X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0021] Ab = arcsin(X0 / Ri), dal = (At - Ab) / (2 x Nr)
[0022] Wherein, Nt is the number of circumferential units, Nr is the number of radial units, L is half the length of the hole region, Rh is the radial hole radius, At is the hole region angle, Ab is the initial angle of the hole region along the radial direction, X0, Y0, dy, and dal are intermediate variables without special meaning.
[0023] S22: cyclically generating radial nodes of the a area;
[0024] If k is odd and node number i is odd, or j is odd and node number i is odd, go to the next node; otherwise,
[0025] Calculate:
[0026] alf = Ab + i x dal
[0027] x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf)
[0028] Wherein, Ri is the distance from the node to the origin, alf is the angle between the line segment formed by the node and the origin and the positive direction of the z axis;
[0029] S23: Loop to generate b-zone circumferential nodes;
[0030] If k is odd and j is odd, J≥1, go to the next curve; otherwise,
[0031] Calculate:
[0032] ct = j x pi / (8 x Nr)
[0033] dy = (L - Y0) / (2 x Nt)
[0034] X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0035] Ab = arcsin(X0 / Ri), dal = [j x At / (2 x Nt) - Ab] / (2 x Nr)
[0036] S24: Loop to generate b-zone radial nodes;
[0037] If k is odd and node number i is odd, or j is odd and node number i is odd, go to the next node; otherwise,
[0038] Calculate:
[0039] alf = Ab + i x dal
[0040] x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf).
[0041] In the preferred technical solution, the method for generating k layers of nodes in the thickness direction of the hole zone in step S03 comprises:
[0042] Calculate the distance between layers dh = (R2 - R1) / (2 x Nh)
[0043] Circulating the layer number k from 0 to 2Nh+1 along the thickness direction of the hole region to generate nodes, wherein Nh is the number of units in the thickness direction, and 2Nh+1 is the number of layers of nodes to be generated;
[0044] Calculate Ri=R1+k×dh;
[0045] Wherein R1 is the inner radius of the hollow shaft, and R2 is the outer radius of the hollow shaft.
[0046] In the preferred technical solution, the regional grid generation method in step S04 comprises:
[0047] Calculate the number of points L1=2*Nr+1 on one curve;
[0048] Calculate the number of points L2=L1+Nr+1 on two curves;
[0049] Generate the unit node number and exist in the unit node array JE[ie][je], wherein ie is the unit node number, and je is the unit number;
[0050] Set the initial unit number je=0, calculate the node number of 20 nodes of each unit, and the calculation formula is as follows:
[0051] JE[ie][0]=2*i+1+L2*j+A2*k
[0052] JE[ie][8]=JE[ie][0]+1
[0053] JE[ie][1]=JE[ie][0]+2
[0054] JE[ie][3]=JE[ie][0]+L2
[0055] JE[ie]
[10] =JE[ie][3]+1
[0056] JE[ie][2]=JE[ie][2]+2
[0057] JE[ie]
[11] =i+L2*j+L1+k*A2+1
[0058] JE[ie][9]=JE[ie]
[11] +1
[0059] JE[ie][4]=JE[ie][0]+A2
[0060] JE[ie]
[12] =JE[ie][4]+1
[0061] JE[ie][5]=JE[ie][4]+2
[0062] JE[ie][7] = JE[ie][4] + L2
[0063] JE[ie]
[14] = JE[ie][7] + 1
[0064] JE[ie][6] = JE[ie][7] + 2
[0065] JE[ie]
[15] = i + L2*j + L1 + k*A2 + A2 + 1
[0066] JE[ie]
[13] = JE[ie]
[15] + 1
[0067] JE[ie]
[16] = i + j*(Nr + 1) + k*A2 + A1 + 1
[0068] JE[ie]
[17] = JE[ie]
[15] + 1
[0069] JE[ie]
[19] = JE[ie]
[16] + Nr + 1
[0070] JE[ie]
[18] = JE[ie]
[19] + 1
[0071] The node numbers of all the 20 nodes of the unit are calculated to obtain a region grid.
[0072] The application further discloses a computer storage medium, which stores a computer program, and the computer program is executed to realize the parameterized hollow shaft radial hole region finite element grid automatic generation method.
[0073] The application further discloses a parameterized hollow shaft radial hole region finite element grid automatic generation system, which comprises:
[0074] The radial hole region division module divides the radial hole region into a plurality of symmetrical regions;
[0075] The radial and circumferential node generation module generates nodes on a curve along the radial direction of the hole region of one region, and then sweeps a layer of nodes of one region along the circumferential direction, and the distribution of the nodes of the layer corresponds to the 8-node 4-edge polygon of one end face of the 20-node 6-polyhedron unit;
[0076] The thickness direction node generation module generates k layers of nodes along the thickness direction of the hole region, and when k is an odd number, the distribution of the nodes corresponds to the 4-node 4-edge polygon of the middle face of the 20-node 6-polyhedron unit, and when k is an even number, the distribution of the nodes corresponds to the 8-node 4-edge polygon of the middle face of the 20-node 6-polyhedron unit;
[0077] The region grid generation module generates 2D face grid nodes layer by layer, and then 2D face grid nodes of every three layers form a layer of 3D grid to obtain a region grid;
[0078] The radial hole region grid generation module generates the grid of the whole radial hole region by mirror symmetry replication of other region grids.
[0079] In the preferred technical solution, the radial hole region division module divides the radial hole region into four symmetrical regions, and divides one region into a region a and a region b.
[0080] In the preferred technical solution, the method for generating the coordinates x[i], y[i], z[i] of the node by the radial circumferential node generation module comprises:
[0081] S21: circularly generate the circumferential node of the region a;
[0082] If the layer number k is odd and the curve number j is odd, turn to the next curve; otherwise, calculate:
[0083] ct = j x pi / (8 x Nt)
[0084] dy = [j x L / (2 x Nr) - Y0] / (2 x Nt)
[0085] X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0086] Ab = arcsin(X0 / Ri), dal = (At - Ab) / (2 x Nr)
[0087] Wherein, Nt is the number of circumferential units, Nr is the number of radial units, L is half the length of the hole region, Rh is the radial hole radius, At is the hole region angle, Ab is the starting angle of the hole region along the radial direction, X0, Y0, dy and dal are intermediate variables;
[0088] S22: circularly generate the radial node of the region a;
[0089] If k is odd and node number i is odd, or j is odd and node number i is odd, turn to the next node; otherwise,
[0090] Calculate:
[0091] alf = Ab + i x dal
[0092] x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf)
[0093] Wherein, Ri is the distance from the node to the origin, and alf is the included angle between the line segment formed by the node and the origin and the positive direction of the z axis;
[0094] S23: circularly generate the circumferential node of the region b;
[0095] If k is odd and j is odd, J≥1, turn to the next curve; otherwise,
[0096] Calculate:
[0097] ct = j x π / (8 x Nr)
[0098] dy = (L-Y0) / (2 x Nt)
[0099] X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0100] Ab = arcsin(X0 / Ri), dal = [j x At / (2 x Nt)-Ab] / (2 x Nr)
[0101] S24: Loop to generate b-zone radial nodes;
[0102] If k is odd and node number i is odd, or j is odd and node number i is odd, turn to the next node; otherwise,
[0103] Calculate:
[0104] alf = Ab + i x dal
[0105] x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf).
[0106] In the preferred technical solution, the method for generating k layers of nodes along the thickness direction of the hole zone in the hole zone thickness direction generation module comprises:
[0107] Calculate the distance between layers dh = (R2-R1) / (2 x Nh)
[0108] Loop to generate nodes along the thickness direction of the hole zone with layer number k from 0 to 2Nh+1, wherein Nh is the number of units in the thickness direction, and 2Nh+1 is the number of layers of nodes to be generated;
[0109] Calculate Ri = R1 + k x dh;
[0110] Wherein R1 is the inner radius of the hollow shaft, and R2 is the outer radius of the hollow shaft.
[0111] Compared with the prior art, the present application has the following advantages:
[0112] 1. The method can realize automatic generation of parameterized grid, thus having high efficiency: saving a lot of manpower, shortening calculation time, and providing a grid generation basis for gear optimization design.
[0113] 2. The 20-node 6-hedron 3D element used is the element with the highest precision and the highest shape simulation precision among the commonly used 3D elements of finite elements, so that the subsequent finite element analysis can obtain higher precision. BRIEF DESCRIPTION OF DRAWINGS
[0114] Figure 1 A schematic diagram of a hollow shaft with a radial hole;
[0115] Figure 2 A schematic diagram of a 4-hedron 10-node solid element;
[0116] Figure 3 A flowchart of the method for automatically generating a finite element grid of a parameterized hollow shaft radial hole area of the embodiment;
[0117] Figure 4 A 3D view of the radial hole area of the embodiment;
[0118] Figure 5 A z-direction projection view of the embodiment 1 area;
[0119] Figure 6 A schematic diagram of the node numbering of the 20-node 6-hedron element of the embodiment;
[0120] Figure 7 A schematic diagram of the 8-node 4-edged 2D element of the embodiment;
[0121] Figure 8 A schematic diagram of the 8-hedron 4-node 4-edged element of the embodiment;
[0122] Figure 9 A schematic diagram of the hole area angle and inner and outer hole radii of the embodiment;
[0123] Figure 10 A schematic diagram of the parameter L, the radial element number Nr, and the circumferential element number Nt of the embodiment;
[0124] Figure 11 A schematic diagram of a certain layer node of area a of the embodiment;
[0125] Figure 12 A schematic diagram of a point generated on a curve and a face composed of lines of the embodiment;
[0126] Figure 13 A schematic diagram of a body composed of faces of the embodiment;
[0127] Figure 14 A schematic diagram of Ri and alf of the embodiment;
[0128] Figure 15 A schematic diagram of node generation on a curve of the embodiment;
[0129] Figure 16A schematic diagram of the automatic generation system for finite element meshes of radial hole regions of a parametric hollow shaft according to an embodiment;
[0130] Figure 17 Mesh diagram of 20-node hexahedral elements in the radial hole region of the embodiment;
[0131] Figure 18 The stress distribution map obtained by using this mesh for finite element detailed stress analysis in the embodiment. Detailed Implementation
[0132] The principle of this invention is that the radial hole region of the hollow shaft is automatically generated by parameterized hexahedral finite element mesh through control parameters. The method is very effective, the mesh quality is high, it can save a lot of manpower and shorten the calculation cycle, and its superiority is particularly prominent in the optimization design of this type of structure.
[0133] Example 1:
[0134] like Figure 3 As shown, an automatic finite element mesh generation method for the radial hole region of a parameterized hollow shaft includes the following steps:
[0135] S01: Divide the radial hole region into multiple symmetrical areas;
[0136] S02: Generate nodes on the curve along the radial direction of the hole area of a region, and then sweep along the circumferential direction to generate a layer of nodes in a region. The distribution of nodes in this layer corresponds to an 8-node quadrilateral on a certain end face of a 20-node hexahedral element.
[0137] S03: Generate k layers of nodes along the thickness direction of the hole area. When k is odd, the distribution of nodes corresponds to the 4-node quadrilateral on the face of the 20-node hexahedral element. When k is even, it corresponds to the 8-node quadrilateral on the face of the 20-node hexahedral element.
[0138] S04: Generate 2D surface mesh nodes layer by layer, and then form a 3D mesh layer by every 3 layers of 2D surface mesh nodes to obtain a region mesh;
[0139] S05: Obtain the mesh of other regions by mirror symmetry copying, and generate the mesh of the entire radial hole region.
[0140] In a better implementation, such as Figure 4 As shown, in step S01, the radial hole region is divided into four symmetrical regions, and one region is further symmetrically divided into region a and region b. A spatial coordinate system XYZ is established with the center of the radial hole as the origin. Figure 4 It can be seen that the radial hole region is symmetrical about the xz and yz planes. For example... Figure 4As shown, the radial hole area is divided into regions 1, 2, 3, and 4. Only one region needs to be meshed, and the meshes of the other three regions can be obtained by symmetrical replication.
[0141] like Figure 5 As shown, region 1 is further divided into sub-regions a and b, thus... Figure 5 Region 1, with its five edges, was transformed into two sub-regions, each with four edges (circled numbers in the diagram indicate edge numbers). Figure 6 As shown, each end face of a hexahedral element is a quadrilateral, which makes it easy to generate a hexahedral mesh. Figure 6 This is a schematic diagram of a 20-node hexahedral element. Each element edge connects two corner points and one midpoint. Each of the six end faces has eight nodes, forming an 8-node quadrilateral. Figure 7 As shown. The midpoints of each edge form 3 mid-planes, each with 4 points (these 4 points are not connected by lines, so they are represented by dashed lines), as shown. Figure 8 As shown.
[0142] like Figure 5 The mesh for region 1 is generated by mirroring the mesh of region 1 about the yz plane. Then, the mesh of region 1 is mirrored and copied to generate the mesh of region 2. The meshes of regions 1 and 2 are then rotated 180 degrees around the z-axis to obtain the meshes of regions 3 and 4, thus forming the mesh of the entire hole area.
[0143] Therefore, the first step is to mesh area 1. Then, using the copying method described above, meshes for areas 2, 3, and 4 are generated.
[0144] The control parameters for automatic generation of parametric meshes are shown in Table 1.
[0145] Table 1 Control Parameters
[0146]
[0147]
[0148] The above control parameters are illustrated in the diagram. Figure 9 , 10 .
[0149] Figure 11 This is a schematic diagram of a node in a certain layer of region a. First, generate the node on the curve in the direction of "r" (radial) in the diagram (see also...). Figure 10 Then sweep in the "t" (circumferential) direction to generate a layer of nodes for the entire area a.
[0150] The main process of generating the grid in Zone 1 is as follows:
[0151] like Figure 12As shown, first, nodes are generated on the circular arc curve 0, 1, 2, …, i, 2Nt with Ri as the radius, the z-axis as the central axis, and the intersection point of the z-axis and the small circle axis as the center, and 2Nt+1 curves constitute a layer. As shown in the figure, the 1 layer is composed of 2Nt+1 curves. Figure 13 As shown, the body is composed of 2Nh+1 faces, and the figure is a 2-layer 3D unit, i.e. Nh=2, 2Nh+1=5, which is composed of 0-layer, 1-layer, 2-layer, 3-layer, and 4-layer faces.
[0152] For the a area, the node coordinate calculation formula is as follows:
[0153] x i =Ri×sin(alf) (1)
[0154] z i =Ri×cos(alf) (2)
[0155] y i =Y0+i×dy (3)
[0156] alf=Ab+i×dal (4)
[0157] dal=(At-Ab) / (2×Nr) (5)
[0158] Ri=R1+k×dh (6)
[0159] dh=(R2-R1) / (2×Nh) (7)
[0160] Ab=arcsin(X0 / Ri) (8)
[0161] X0=Rh×cos(ct) (9)
[0162] Y0=Rh×sin(ct) (10)
[0163] dy=[j×L / (2×Nr)-Y0] / (2×Nt) (11)
[0164] ct=j×π / (8×Nt) (12)
[0165] When k is even, j=0, 1, 2, …, 2Nt;
[0166] When k is even and when j is even, i=0, 1, 2, …, 2Nr;
[0167] When k is even and when j is odd, i=0, 2, 4, …, 2Nr;
[0168] When k is odd, j=0, 2, 4, …, 2Nt; i=0, 2, 4, …, 2Nr
[0169] Where: i is the point number along the r direction of the curve; j is the curve number along the t direction; k is the surface number along the thickness direction (how many layers).
[0170] Where, Ri is the distance from the node to the origin, alf is the angle between the line segment formed by the node and the origin and the positive direction of the z axis, as shown in Figure 14 .
[0171] For the b area, most of the formulas are the same as those in the a area, and the point coordinate calculation formula is as follows:
[0172] x i =Ri x sin(alf) (1)
[0173] z i =Ri x cos(alf) (2)
[0174] y i =Y0 + i x dy (3)
[0175] alf=Ab + i x dal (4)
[0176] dal=[j x At / (2 x Nt) - Ab] / (2 x Nr) (5a)
[0177] Ri=R1 + k x dh (6)
[0178] dh=(R2 - R1) / (2 x Nh) (7)
[0179] Ab=arcsin(X0 / Ri) (8)
[0180] X0=Rh x cos(ct) (9)
[0181] Y0=Rh x sin(ct) (10)
[0182] dy=(L - Y0) / (2 x Nt) (11a)
[0183] ct=j x pi / (8 x Nr) (12a)
[0184] Where: At, R1, R2, Rh, L, Nr, Nt, Nh are control parameters.
[0185] According to the above formulas, the coordinates of all nodes can be generated.
[0186] Figure 12 and Figure 15 are schematic diagrams of nodes generated on the curve, and the 1D nodes on several curves thus generated constitute a layer of 2D nodes as shown in Figure 12 .
[0187] In a preferred implementation, the method for generating the coordinates x[i], y[i], z[i] of the nodes in step S02 comprises:
[0188] S21: loop to generate the circumferential nodes in region a;
[0189] If the layer number k is odd and the curve number j is odd, go to the next curve; otherwise, calculate:
[0190] ct = j x π / (8 x Nt)
[0191] dy = [j x L / (2 x Nr) - Y0] / (2 x Nt)
[0192] X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0193] Ab = arcsin(X0 / Ri), dal = (At - Ab) / (2 x Nr)
[0194] where Nt is the number of circumferential units, Nr is the number of radial units, L is half the length of the hole region, Rh is the radial hole radius, At is the hole region angle, Ab is the starting angle of the hole region along the radial direction, X0, Y0, dy and dal are intermediate calculation values introduced for simplification of calculation;
[0195] S22: loop to generate the radial nodes in region a;
[0196] If k is odd and the node number i is odd, or j is odd and the node number i is odd, go to the next node; otherwise,
[0197] calculate:
[0198] alf = Ab + i x dal
[0199] x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf)
[0200] where Ri is the distance of the node to the origin, and alf is the angle of the line segment formed by the node and the origin with the positive direction of the z axis;
[0201] S23: loop to generate the circumferential nodes in region b;
[0202] If k is odd and j is odd, J ≥ 1, go to the next curve; otherwise,
[0203] calculate:
[0204] ct = j x π / (8 x Nr)
[0205] dy = (L - Y0) / (2 x Nt)
[0206] X0 = Rh x cos (ct), Y0 = Rh x sin (ct)
[0207] Ab = arcsin (X0 / Ri), dal = [j x At / (2 x Nt) - Ab] / (2 x Nr)
[0208] S24: cyclically generating radial nodes in the b region;
[0209] If k is odd and the node number i is odd, or j is odd and the node number i is odd, go to the next node; otherwise,
[0210] Calculate:
[0211] alf = Ab + i x dal
[0212] x[i] = Ri x sin (alf), y[i] = Y0 + i x dy, z[i] = Ri x cos (alf).
[0213] In a preferred implementation, the method of generating k layers of nodes in the thickness direction of the hole region in step S03 comprises:
[0214] Calculate the distance between layers dh = (R2 - R1) / (2 x Nh)
[0215] Cyclically generate nodes in the thickness direction of the hole region with the layer number k from 0 to 2Nh+1, where Nh is the number of units in the thickness direction, and 2Nh+1 is the number of layers of nodes to be generated;
[0216] Calculate Ri = R1 + k x dh;
[0217] Where R1 is the inner radius of the hollow shaft, and R2 is the outer radius of the hollow shaft.
[0218] The layered 2D grid node generation is to generate 2D surface grid nodes one layer at a time from bottom to top, and then every 3 layers of 2D surface grid nodes constitute a layer of 3D grid (see Figure 13 ).
[0219] As shown in Figure 13 , if the number of units in the thickness direction is Nh, then:
[0220] Nhp = 2*Nh+1 layers of 2D surface grid nodes.
[0221] The distance between layers dh is:
[0222] dh = (R2 - R1) / (2 x Nh). R2 - R1 is the wall thickness of the hollow shaft (see Figure 9 ).
[0223] For example, Figure 13Nh=2, Nhp=2*Nh+1=2*2+1=5 layers of nodes need to be generated.
[0224] Take 0 layer as the starting layer, respectively: 0 layer, 1 layer, 2 layer, 3 layer, 4 layer.
[0225] The specific method is as follows:
[0226] 1) Generate all nodes of 0 layer according to the above 1D node generation method, that is, calculate the coordinates of all nodes of 0 layer according to formulas (1)-(12) and save them in arrays x[i], y[i], z[i], wherein i is the node number. The distribution of 0 layer nodes corresponds to 8 nodes of 4 edges of a certain end face of a 20-node 6-polyhedron unit (see Figure 7 and Figure 12 ).
[0227] 2) Then generate nodes of j=1, 2, …, 2*Nh layers according to similar methods. When j is odd, the distribution of nodes corresponds to 4 nodes of a middle section of a 20-node 6-polyhedron unit (see Figure 8 ), and when j is even, it corresponds to 8 nodes of 4 edges (see Figure 7 ).
[0228] 3) When j (>1) is even, a new layer of 20-node 6-polyhedron 3D unit can be generated until the generation of the entire area of 3D grid is completed.
[0229] For example, j=2, that is, Figure 8 2 layers, the nodes required for the first layer of 20-node 6-polyhedron 3D unit grid are all generated. 0 layer and 2 layer are 8 nodes of 4 edges, which correspond to two end faces of the 20-node 6-polyhedron unit of Figure 6 and Figure 7 ) and are also 8 nodes. 1 layer is 4 nodes of 4 edges, which correspond to a middle section of the 20-node 6-polyhedron unit of Figure 6 and Figure 8 and are also 4 nodes. At this time, the unit node number can be generated according to the node arrangement order shown in Figure 6 and exists in the unit node array: JE[ie][je], wherein ie is the unit node number, and je is the unit number (j=1, 2, …, 20).
[0230] In a preferred implementation, the area grid generation method in step S04 comprises:
[0231] Calculate the number of points L1=2*Nr+1 on one curve;
[0232] Calculate the number of points L2=L1+Nr+1 on two curves;
[0233] Set the initial unit number je=0, calculate the node number of 20 nodes of each unit, and the calculation formula is as follows:
[0234] JE[ie][0] = 2*i + 1 + L2*j + A2*k
[0235] JE[ie][8] = JE[ie][0] + 1
[0236] JE[ie][1] = JE[ie][0] + 2
[0237] JE[ie][3] = JE[ie][0] + L2
[0238] JE[ie]
[10] = JE[ie][3] + 1
[0239] JE[ie][2] = JE[ie][2] + 2
[0240] JE[ie]
[11] = i + L2*j + L1 + k*A2 + 1
[0241] JE[ie][9] = JE[ie]
[11] + 1
[0242] JE[ie][4] = JE[ie][0] + A2
[0243] JE[ie]
[12] = JE[ie][4] + 1
[0244] JE[ie][5] = JE[ie][4] + 2
[0245] JE[ie][7] = JE[ie][4] + L2
[0246] JE[ie]
[14] = JE[ie][7] + 1
[0247] JE[ie][6] = JE[ie][7] + 2
[0248] JE[ie]
[15] = i + L2*j + L1 + k*A2 + A2 + 1
[0249] JE[ie]
[13] = JE[ie]
[15] + 1
[0250] JE[ie]
[16] = i + j*(Nr+1) + k*A2 + A1 + 1
[0251] JE[ie]
[17] = JE[ie]
[15] + 1
[0252] JE[ie]
[19] = JE[ie]
[16] + Nr+1
[0253] JE[ie]
[18] = JE[ie]
[19] + 1
[0254] Calculate the node numbers of all 20 nodes in each cell to obtain the region grid.
[0255] In another embodiment, a computer storage medium storing a computer program is characterized in that, when the computer program is executed, it implements the above-described method for automatically generating finite element meshes for radial hole regions of a parameterized hollow shaft.
[0256] In another embodiment, such as Figure 16 As shown, an automatic finite element mesh generation system for the radial hole region of a parameterized hollow shaft includes:
[0257] The radial hole region division module 100 divides the radial hole region into multiple symmetrical regions;
[0258] The radial circumferential node generation module 200 generates nodes on the curve along the radial direction of the hole area of a region, and then sweeps along the circumferential direction to generate a layer of nodes in a region. The distribution of nodes in this layer corresponds to an 8-node quadrilateral on a certain end face of a 20-node hexahedral element.
[0259] The thickness direction node generation module 300 generates k layers of nodes along the thickness direction of the hole area. When k is odd, the distribution of nodes corresponds to a 4-node quadrilateral on the face of a 20-node hexahedral element. When k is even, it corresponds to an 8-node quadrilateral on the face of a 20-node hexahedral element.
[0260] The region mesh generation module 400 generates 2D surface mesh nodes layer by layer, and then every 3 layers of 2D surface mesh nodes form a 3D mesh layer to obtain a region mesh.
[0261] The radial hole region mesh generation module 500 generates the mesh of the entire radial hole region by mirror-symmetric copying of other regions' meshes.
[0262] The following describes in detail the workflow of the parameterized hollow shaft radial hole region finite element mesh automatic generation system using a preferred embodiment as an example:
[0263] The specific implementation steps suitable for computer programming are as follows:
[0264] 1) Start
[0265] 2) Input control parameters
[0266] Enter the control parameters listed in Table 1.
[0267] 3)A1=(2*Nr+1)*(2*Nt+1)+(Nr+1)*2*Nt
[0268] Calculate the number of nodes in even-numbered layers (0, 2, 4, ..., 2*Nh). The number of elements in the thickness direction is Nh.
[0269] 4) A2 = A1 + (nu+1)*(2*nv+1)
[0270] Calculate the sum of the number of nodes of even layers and the number of nodes of odd layers in layer 1.
[0271] 5) nnode = A1*(Nh+1) + (Nr+1)*(2*Nt+1)*Nh
[0272] Calculate the total number of nodes nnode.
[0273] 6) nnel = 2*nu*nv*nw
[0274] Wherein, nu is the number of circumferential units along the shaft, nv is the number of axial units along the shaft, and nw is the number of units along the thickness direction.
[0275] Calculate the total number of units nnel.
[0276] 7) Set node coordinate arrays x[i], y[i], z[i]
[0277] The x[i], y[i], z[i] array stores the 3-direction coordinate values of the node, i is the node number minus 1, starting from 0 (the node number is numbered from 1), and the array is applied for memory space according to the total number of nodes.
[0278] 8) Set the unit node array JE[ie][je]
[0279] The array JE[ie][je] stores the unit node number, ie is the unit number minus 1, and je = 0-19 is the local sequential number of the unit node. The array is applied for memory space according to the total number of units.
[0280] 9) Calculate the distance between layers dh = (R2-R1) / (2*Nh)
[0281] See formula (7). Set the thickness increment, i.e. the distance between layers, for example Figure 16 The distance between layer 0 and layer 1.
[0282] 10) for(k = 0; k < 2*Nh+1; k++)
[0283] Node generation loop along the thickness direction of the hole area, i.e. the sequence number k of the layer plane from 0 to 2*Nh+1, wherein Nh: the number of units in the thickness direction, 2*Nh+1: the number of layers to be generated.
[0284] 11) Calculate Ri = R1+k*dh
[0285] Calculate Ri, see Figure 14 and formula (6).
[0286] 12) for (j = 0; j < 2Nt + 1; j++)
[0287] a zone circumferential (t) node generation loop, see Figure 11 .
[0288] 13) if k is odd and j is odd, go to 12)
[0289] If k is odd and j is odd, it indicates that no edge midpoint needs to be generated.
[0290] 14) ct = j x π / (8 x Nt)
[0291] 15) dy = [j x L / (2 x Nr) - Y0] / (2 x Nt)
[0292] 16) X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0293] 17) Ab = arcsin(X0 / Ri), dal = (At - Ab) / (2 x Nr)
[0294] 18) for (i = 0; i < 2Nr + 1; i++)
[0295] a zone radial (r) node generation loop, see Figure 11 .
[0296] 19) if k is odd and i is odd, go to 18)
[0297] If k is odd and i is odd, it indicates that no edge midpoint needs to be generated.
[0298] 20) if j is odd and i is odd, go to 18)
[0299] If j is odd and i is odd, it indicates that no edge midpoint needs to be generated.
[0300] 21) alf = Ab + i x dal
[0301] 22) x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf)
[0302] 23) go to 18) until loop ends
[0303] 24) go to 12) until loop ends
[0304] 25) for (j = 1; j < 2Nt + 1; j++)
[0305] b zone circumferential (t) node generation loop, see Figure 11Here j starts from 1 (different from a zone) to avoid coinciding with the last curve in a zone.
[0306] 26) If k is odd and j is odd, go to 25)
[0307] If k is odd and j is odd, it indicates that no edge midpoint needs to be generated.
[0308] 27) ct = j x pi / (8 x Nr)
[0309] 28) dy = (L - Y0) / (2 x Nt)
[0310] 29) X0 = Rh x cos(ct), Y0 = Rh x sin(ct)
[0311] 30) Ab = arcsin(X0 / Ri), dal = [j x At / (2 x Nt) - Ab] / (2 x Nr)
[0312] 31) for(i = 0; i < 2Nr + 1; i++)
[0313] b zone radial (r) direction node generation loop, see Figure 11 .
[0314] 32) If k is odd and i is odd, go to 31)
[0315] If k is odd and i is odd, it indicates that no edge midpoint needs to be generated.
[0316] 33) If j is odd and i is odd, go to 31)
[0317] If j is odd and i is odd, it indicates that no edge midpoint needs to be generated.
[0318] 34) alf = Ab + i x dal
[0319] 35) x[i] = Ri x sin(alf), y[i] = Y0 + i x dy, z[i] = Ri x cos(alf)
[0320] 36) Go to 31) until the loop ends
[0321] 37) Go to 25) until the loop ends
[0322] 38) Go to 10) until the loop ends
[0323] 39) L1 = 2 x Nr + 1
[0324] Calculate the number of points on one curve, such as Figure 12 even curve 0, curve 2, etc.
[0325] 40) L2 = L1 + Nr + 1
[0326] Calculate the number of points on the two curves, such as Figure 12 Sum of nodes on curve 0, curve 1.
[0327] 41) je = 0
[0328] Set the initial cell number.
[0329] 42) for (k = 0; k < Nh; k++)
[0330] Generate the thickness direction loop of the cell node information.
[0331] 43) for (j = 0; j < 2Nt; j++)
[0332] Generate the circumferential (t-direction) loop of the cell node information.
[0333] 44) for (i = 0; i < 2Nr; i++)
[0334] Generate the radial (r-direction) loop of the cell node information.
[0335] 45){
[0336] JE[ie][0] = 2*i + 1 + L2*j + A2*k
[0337] JE[ie][8] = JE[ie][0] + 1
[0338] JE[ie][1] = JE[ie][0] + 2
[0339] JE[ie][3] = JE[ie][0] + L2
[0340] JE[ie]
[10] = JE[ie][3] + 1
[0341] JE[ie][2] = JE[ie][2] + 2
[0342] JE[ie]
[11] = i + L2*j + L1 + k*A2 + 1
[0343] JE[ie][9] = JE[ie]
[11] + 1
[0344] JE[ie][4] = JE[ie][0] + A2
[0345] JE[ie]
[12] = JE[ie][4] + 1
[0346] JE[ie][5] = JE[ie][4] + 2
[0347] JE[ie][7] = JE[ie][4] + L2
[0348] JE[ie]
[14] = JE[ie][7] + 1
[0349] JE[ie][6] = JE[ie][7] + 2
[0350] JE[ie]
[15] = i + L2 * j + L1 + k * A2 + A2 + 1
[0351] JE[ie]
[13] = JE[ie]
[15] + 1
[0352] JE[ie]
[16] = i + j * (Nr + 1) + k * A2 + A1 + 1
[0353] JE[ie]
[17] = JE[ie]
[15] + 1
[0354] JE[ie]
[19] = JE[ie]
[16] + Nr + 1
[0355] JE[ie]
[18] = JE[ie]
[19] + 1
[0356] }
[0357] The above calculates the node number of each unit 20 nodes.
[0358] 46) je = je + 1
[0359] The unit number is increased by 1.
[0360] 47) go to 44) until the loop ends
[0361] 48) go to 43) until the loop ends
[0362] 49) go to 42) until the loop ends
[0363] 50) Mirror symmetry copy 1 area grid to generate 2 area grid
[0364] Copy the 1 area grid to the 2 area by the method of mirror symmetry about yz.
[0365] 51) Rotate 1 area, 2 area grid 180° to copy to 3, 4 area
[0366] Rotate the 1 area, 2 area grid 180° around the z axis to copy to 3, 4 area, thereby completing the grid generation of the entire hole area.
[0367] 52) Output the calculation result
[0368] The output calculation result includes total node number: nnode, total element number: nnel, node coordinates: x[i], y[i], z[i], and element node number JE[ie][je].
[0369] 53) stop
[0370] Figure 17 Fig. 6 is a stress distribution diagram obtained by using the grid to perform finite element detail stress analysis. Figure 18
[0371] Repeated application in engineering shows that the hollow shaft radial hole area parameterization 6-hedron finite element grid automatic generation method is very effective, the grid quality is high, a large amount of manpower can be saved, the calculation period is shortened, and the superiority is particularly prominent in the optimization design of the structure.
[0372] The above examples are preferred embodiments of the present application, but the embodiments of the present application are not limited by the above examples, and any changes, modifications, substitutions, combinations, simplifications made without departing from the spirit and principles of the present application are equivalent replacement methods and are included in the protection scope of the present application.
Claims
1. A method for automatically generating finite element meshes for the radial hole region of a parametric hollow shaft, characterized in that, Includes the following steps: S01: Divide the radial hole region into multiple symmetrical areas; S02: Generate nodes on the curve along the radial direction of the hole area of a region, and then sweep along the circumferential direction to generate a layer of nodes in a region. The distribution of nodes in this layer corresponds to an 8-node quadrilateral on a certain end face of a 20-node hexahedral element. S03: Generate k layers of nodes along the thickness direction of the hole region. When k is odd, the node distribution corresponds to a 4-node quadrilateral on the face of a 20-node hexahedral element; when k is even, it corresponds to an 8-node quadrilateral on the face of a 20-node hexahedral element. The method for generating k layers of nodes along the thickness direction of the hole region includes: Calculate the distance between layers ; Along the thickness direction of the hole area, the layer number k is cycled from 0 to 2Nh+1 to generate nodes, where Nh is the number of elements in the thickness direction and 2Nh+1 is the number of node layers to be generated. calculate ; Where R1 is the inner radius of the hollow shaft and R2 is the outer radius of the hollow shaft; S04: Generate 2D surface mesh nodes layer by layer, and then form a 3D mesh layer with every 3 layers of 2D surface mesh nodes to obtain a region mesh; the region mesh generation method includes: Calculate the number of points on a curve, L1 = 2 Nr+1; Calculate the number of points on the two curves: L2 = L1 + Nr + 1; Generate cell node numbers and store them in a cell node array JE[ie][je], where ie is the cell node number and je is the cell number; Set the initial unit number je=0, and calculate the node numbers of the 20 nodes in each unit using the following formula: JE[ie][0]= 2 i+1+L2 j+A2 k JE[ie][8] = JE[ie][0] + 1 JE[ie][1] = JE[ie][0] + 2 JE[ie][3] = JE[ie][0] + L2 JE[ie][10] = JE[ie][3] + 1 JE[ie][2] = JE[ie][2] + 2 JE[ie][11]=i+L2 j+L1+k A2+1 JE[ie][9] = JE[ie][11] + 1 JE[ie][4] = JE[ie][0] + A2 JE[ie][12] = JE[ie][4] + 1 JE[ie][5] = JE[ie][4] + 2 JE[ie][7] = JE[ie][4] + L2 JE[ie][14] = JE[ie][7] + 1 JE[ie][6] = JE[ie][7] + 2 JE[ie][15]=i+L2 j+L1+k A2+A2+1 JE[ie][13] = JE[ie][15] + 1 JE[ie][16]=i+j (Nr+1)+k A2+A1+1 JE[ie][17] = JE[ie][15] + 1 JE[ie][19] = JE[ie][16] + Nr + 1 JE[ie][18] = JE[ie][19] + 1 Calculate the node numbers of all 20 nodes in each cell to obtain the region grid; S05: Obtain the mesh of other regions by mirror symmetry copying, and generate the mesh of the entire radial hole region.
2. The method for automatically generating finite element meshes for the radial hole region of a parameterized hollow shaft according to claim 1, characterized in that, In step S01, the radial hole region is divided into four symmetrical regions, and one region is symmetrically divided into region a and region b.
3. The method for automatically generating finite element meshes for the radial hole region of a parameterized hollow shaft according to claim 2, characterized in that, The method for generating the coordinates x[i], y[i], z[i] of the node in step S02 includes: S21: Cyclicly generate circumferential nodes in region a; If the layer number k is odd and the curve number j is odd, proceed to the next curve; otherwise... calculate: , , Where Nt is the number of circumferential elements, Nr is the number of radial elements, L is half the length of the hole region, Rh is the radial hole radius, At is the hole region angle, Ab is the starting angle of the hole region along the radial direction, and X0, Y0, dy and dal are intermediate variables with no special meaning. S22: Cyclicly generate radial nodes in region a; If k is odd and node i is odd, or j is odd and node i is odd, proceed to the next node; otherwise, calculate: , , Where Ri is the distance from the node to the origin, and alf is the angle between the line segment formed by the node and the origin and the positive z-axis. S23: Loop through and generate circumferential nodes in region b; If k is odd and j is odd, then J ≥ 1, proceed to the next curve; otherwise... calculate: , , S24: Cyclicly generate radial nodes in region b; If k is odd and node i is odd, or j is odd and node i is odd, proceed to the next node; otherwise, calculate: , , 。 4. A computer storage medium having a computer program stored thereon, characterized in that, When the computer program is executed, it implements the automatic generation method of finite element mesh for radial hole region of parameterized hollow shaft as described in any one of claims 1-3.
5. A system for automatically generating finite element meshes for radial hole regions of a parametric hollow shaft, implementing the method for automatically generating finite element meshes for radial hole regions of a parametric hollow shaft as described in any one of claims 1-3, characterized in that, include: The radial hole region division module divides the radial hole region into multiple symmetrical areas; The radial node generation module generates nodes on the curve along the radial direction of the hole area of a region, and then sweeps along the circumferential direction to generate a layer of nodes in a region. The distribution of nodes in this layer corresponds to an 8-node quadrilateral on a certain end face of a 20-node hexahedral element. The thickness direction node generation module generates k layers of nodes along the thickness direction of the hole area. When k is odd, the distribution of nodes corresponds to a 4-node quadrilateral on the face of a 20-node hexahedral element. When k is even, it corresponds to an 8-node quadrilateral on the face of a 20-node hexahedral element. The region mesh generation module generates 2D surface mesh nodes layer by layer, and then every 3 layers of 2D surface mesh nodes form a 3D mesh layer, resulting in a region mesh. The radial hole region mesh generation module generates the mesh for the entire radial hole region by mirror-symmetric copying of other regions' meshes.
6. The automatic generation system for finite element mesh of radial hole region of parametric hollow shaft according to claim 5, characterized in that, The radial hole region division module divides the radial hole region into four symmetrical regions, and divides each region into region a and region b.
7. The automatic generation system for finite element mesh of radial hole region of parameterized hollow shaft according to claim 6, characterized in that, The method by which the radial circumferential node generation module generates the coordinates x[i], y[i], z[i] of the node includes: S21: Cyclicly generate circumferential nodes in region a; If the layer number k is odd and the curve number j is odd, proceed to the next curve; otherwise... calculate: , , Where Nt is the number of circumferential elements, Nr is the number of radial elements, L is half the length of the hole region, Rh is the radial hole radius, At is the hole region angle, Ab is the starting angle of the hole region along the radial direction, and X0, Y0, dy and dal are intermediate variables. S22: Cyclicly generate radial nodes in region a; If k is odd and node i is odd, or j is odd and node i is odd, proceed to the next node; otherwise, calculate: , , Where Ri is the distance from the node to the origin, and alf is the angle between the line segment formed by the node and the origin and the positive z-axis. S23: Loop through and generate circumferential nodes in region b; If k is odd and j is odd, then J ≥ 1, proceed to the next curve; otherwise... calculate: , , S24: Cyclicly generate radial nodes in region b; If k is odd and node i is odd, or j is odd and node i is odd, proceed to the next node; otherwise, calculate: , , 。
Citation Information
Patent Citations
A finite element mesh modeling method of a projectile rhombus groove,
CN109446541A
Parametric equivalent magnetic network modeling method for multi objective optimization of permanent magnet motor
US20220043950A1