Parametric Modeling Method for Porous Structures Based on Expected Porosity and Specific Surface Area
Through the combination of Grasshopper and Rhino tools, the Voronoi method and the GHpython plug-in are used to generate porous structures, which solves the problem of inability to control specific surface area in the existing technology, and realizes accurate modeling of porous structures and control of expected porosity and specific surface area, supporting the derivation of subsequent porous media pressure drop-flow formulas.
Patent Information
- Application Number
- CN202310472936.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-27
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2043-04-27
AI Technical Summary
The prior art cannot effectively control the specific surface area of a porous structure, resulting in the inability to achieve precise control of porosity and specific surface area within a specific range during modeling.
The parametric modeling method based on Grasshopper and its plug-in is adopted to generate porous structures through the Voronoi method, and the base point distribution code is compiled with the GHpython plug-in. The spatial unit body is generated using Voronoi3D batteries, and the porosity and specific surface area are controlled through the scaling ratio and basis point distribution. The grid segmentation and closure are used by the WeaverBird tool, and the intersection calculation of geometric models is performed by combining the Rhino tool, and finally the expected porosity and specific surface area are controlled by the fitting formula.
Accurate control of porous structures is achieved, and geometric models that meet the expected porosity and specific surface area can be generated, supporting the subsequent derivation of the pressure drop-flow formula of porous media, improving the accuracy and controllability of modeling.
Smart Images

Figure CN116665813B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of porous structure modeling, and in particular to a parametric modeling method for porous structures based on expected porosity and specific surface area. Background Art
[0002] As a new type of lightweight metal material, porous metal combines the advantages of structural and functional materials. It not only retains the weldability, electrical conductivity, and ductility of metals, but also has the properties of porous materials such as low density, large specific surface area, and good energy absorption effect. With the development of materials science and surface treatment science, the emergence of new porous medium materials and the use of surfactants have provided new ideas for space fluid management. In the space environment, surface tension replaces gravity as the main control force for liquids. Research shows that by setting layered porous materials with a certain pore gradient, the capillary movement of liquids can be controlled to achieve gas-liquid separation of gas-containing liquids. Therefore, porous structures can be used in the aerospace industry for gas-liquid separation and propellant storage devices. Currently, industrially produced porous media cannot macroscopically and formulaically characterize their porosity and specific surface area. Based on this shortcoming, this paper starts from the porosity and irregularity of porous media and constructs a parametric generation algorithm for porous media models.
[0003] Currently, when modeling, Grasshopper and its built-in plugins are often used to perform porous structure modeling by the Voronoi method. To obtain the porosity of the corresponding structure, the random seed packing sphere method, the dodecahedron model method, and the Kelvin tetrakaidecahedron model method are often used to analyze the relationship between the porosity of the porous structure model and the scaling ratio. Or use the TPMS method to establish a complex surface inside the cell to serve as the boundary between the porous structure entity and the pores.
[0004] Currently, the Sierpinski carpet structure is mainly used to calculate the specific surface area, and the fractal dimension is calculated and deduced to calculate the specific surface area of the porous structure.
[0005] Currently, the modeling algorithms mainly focus on parameters such as porosity and elastic modulus, and cannot provide corresponding control algorithms for porous structure models with specific surface areas within a certain range. Summary of the Invention
[0006] The purpose of the present invention is to solve the technical problems existing in the prior art and provide a parametric modeling method for porous structures based on expected porosity and specific surface area.
[0007] To achieve the above purpose, the technical solution provided by the present invention is: a parametric modeling method for porous structures based on expected porosity and specific surface area, the method comprising the following steps:
[0008] S1. Parametrically generate a porous structure geometric model based on Grasshopper and its plugins; to avoid structural defects caused by insufficient base points at the boundaries of the spatial region, when setting the initial calculation boundary, select a size 50% larger than the spatial size of the final geometric model;
[0009] S2. Determine the arrangement pattern of the regular base point lattice according to the requirements of the porous structure model;
[0010] S3. Use the built-in GHpython plugin in Grasshopper to compile the arrangement code of the spatial base point group;
[0011] S4. Call the built-in Voronoi3D component in Grasshopper, import the base point set generated in S3 and the spatial region in S1, and obtain a series of spatial Voronoi cells;
[0012] S5. Calculate the centroid of each spatial Voronoi cell and the centroid of each face of the spatial Voronoi cell respectively, and scale the spatial cell and each face of the spatial cell along their respective centroids and face centroids by a certain scaling ratio f;
[0013] S6. Extract the boundaries of each edge of the scaled spatial cell and each face after scaling in S5;
[0014] S7. Extract the starting point and ending point of each edge in S6 to obtain 4 point sets respectively composed of the starting points and ending points of each edge;
[0015] S8. Based on the point sets in S7, construct planes from four points and divide the face mesh according to the planes;
[0016] S9. Join the meshes in S8, and use the WeaverBird surface subdivision tool to subdivide and smooth the obtained joined meshes;
[0017] S10. Call the Close Mesh component to close the edges of the meshes in S9;
[0018] S11. Import the external contour geometric model of the required parts in Rhino and read the geometric model through the Geometry component;
[0019] S12. Mesh the imported external contour geometric model in S11, and use mesh volume to calculate the volume of the region enclosed by the external contour; use boolean operations to obtain the intersection of the external contour geometric model and the generated porous structure model to get the required closed porous structure model, and Bake it to the corresponding layer in Rhino;
[0020] S13. Use the mesh volume plugin of Grasshopper or enter the Volume command in Rhino to obtain the volume of the resulting porous structure;
[0021] S14. Use the mesh area plugin of Grasshopper or enter the Area command in Rhino to obtain the surface area of the resulting porous structure;
[0022] S15. By comparing the volume ratio of the volume of the resulting porous structure obtained in S13 to the volume of the area enclosed by the external contour in S12, the porosity of the porous structure at this time can be obtained and compared with the expected porosity;
[0023] S16. Replace different expected porosities to obtain the actual porosities of different structures; Use curve fitting to obtain the functional expression between porosity and scaling ratio;
[0024] S17. Adjust the relevant code, perform repeated calculations to verify the effectiveness of the results; Repeat S13 and S14;
[0025] S18. Calculate using the surface area of the porous structure obtained in S14 and the volume of the porous structure obtained in S13 to obtain the specific surface area of the porous structure;
[0026] S19. Based on the expected specific surface area and porosity, use the empirical formulas in S16 and step S18 to deduce the relevant input variables.
[0027] Preferably, the specific function of the arrangement code for compiling the spatial base point group in S3 is:
[0028] ① Based on the preset perturbation variable, change the possible distribution positions of each base point in the initial preset lattice to the spherical surface with the preset point as the center of the sphere and the perturbation variable r as the radius, and characterize the perturbed points in spherical coordinates, that is:
[0029] ;
[0030] ② Generate the perturbed base points in layers. Set a reasonable threshold according to the spacing of the initial points. During the generation process, judge the positions between the newly generated base points and the adjacent base points. If the distance between the two points is less than the set threshold, delete the point and regenerate a random point until the distance between the two points meets the expected requirements;
[0031] ③ Import the points generated in step ② into the point set, and finally obtain a GHpython base point generation battery with the point spacing, the number of base points in the X direction per layer, the number of base points in the Y direction per layer, the number of base points in the Z direction per layer, and the perturbation variable r as input variables and the base point set A as the output variable.
[0032] Preferably, the perturbation variable is not greater than half of the initial distance between two points.
[0033] Advantages of the present invention:
[0034] Based on the scaling ratio of the porous structure and the initial spacing of the base point distribution, the present invention parametrically generates a geometric model of the porous structure, combines computer-aided tools to obtain calculation formulas for the surface area and volume of the corresponding model, provides support for the subsequent derivation of the pressure drop-flow rate formula of the porous medium, and helps to generate the corresponding geometric model according to the required permeability. Description of the drawings
[0035] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention.
[0036] Figure 1 It is an equivalent model diagram of the Voronoi unit in the present invention;
[0037] Figure 2 It is a connection diagram of the midpoints of the side lines of the skeleton structure area in the present invention;
[0038] Figure 3 It is a schematic diagram of the intersection area in the present invention;
[0039] Figure 4 It is a schematic diagram of the output geometric model process in the present invention. Detailed implementation manners
[0040] This part will describe in detail the specific embodiments of the present invention. The preferred embodiments of the present invention are shown in the drawings. The role of the drawings is to supplement the description of the text part of the specification, enabling people to intuitively and vividly understand each technical feature and the overall technical solution of the present invention, but it cannot be understood as a limitation of the protection scope of the present invention.
[0041] The current modeling algorithms mainly focus on parameters such as porosity and elastic modulus, and cannot provide corresponding control algorithms for porous structure models with specific surface areas within a certain range. The present invention provides a corresponding calculation method with the expected porosity and specific surface area as the modeling criteria.
[0042] Referring to Figures 1-4 , a preferred embodiment of the present invention, a parametric modeling method for a porous structure based on expected porosity and specific surface area, the method comprising the following steps:
[0043] S1. Parametrically generate a geometric model of the porous structure based on grasshopper and its plug-ins; to avoid structural defects caused by insufficient base points at the boundary of the spatial region, when setting the initial calculation boundary, select a size 50% larger than the spatial size of the final geometric model;
[0044] S2. Determine the arrangement of the regular base point lattice according to the requirements of the porous structure model;
[0045] S3. Use the GHpython plug-in built into grasshopper to compile the arrangement code of the spatial base point group;
[0046] S4. Call the Voronoi3D battery built into grasshopper, import the base point set generated in S3 and the spatial region in S1, and obtain a series of spatial Voronoi cells;
[0047] S5. Respectively obtain the centroid of each spatial Voronoi cell and the centroid of each face of the spatial Voronoi cell, and scale the spatial cell and each face of the spatial cell along their respective centroids and face centroids by a certain scaling ratio f;
[0048] S6. Extract the boundaries of each edge and each face of the scaled spatial cell in S5;
[0049] S7. Extract the starting point and ending point of each edge in S6 to obtain 4 point sets respectively composed of the starting point and ending point of each edge;
[0050] S8. Based on the point sets in S7, construct a plane by four points, and divide the surface mesh according to the plane;
[0051] S9. Join the meshes in S8, and use the WeaverBird surface subdivision tool to subdivide and smooth the obtained joined meshes;
[0052] S10. Call the Close Mesh battery to close the edges of the meshes in S9;
[0053] S11. Import the external contour geometric model of the required parts in Rhino, and read the geometric model through the Geometry battery;
[0054] S12. Mesh the imported external contour geometric model in S11, and use mesh volume to calculate the volume of the region surrounded by the external contour; Use boolean operations to obtain the intersection of the external contour geometric model and the generated porous structure model to obtain the required closed porous structure model, and Bake it to the corresponding layer in Rhino;
[0055] S13. Use the mesh volume plug-in of grasshopper or enter the Volume command in Rhino to obtain the volume of the obtained porous structure;
[0056] S14. Use the mesh area plugin of Grasshopper or enter the Area command in Rhino to obtain the surface area of the resulting porous structure;
[0057] S15. By comparing the volume ratio of the volume of the obtained porous structure in S13 to the volume of the area surrounded by the outer contour in S12, the porosity of the porous structure at this time can be obtained and compared with the expected porosity;
[0058] S16. Replace different expected porosities to obtain the actual porosities of different structures; Use curve fitting to obtain the functional expression between porosity and scaling ratio;
[0059] S17. Adjust the relevant code for repeated calculations to verify the effectiveness of the results; Repeat S13 and S14;
[0060] S18. Calculate using the surface area of the porous structure obtained in S14 and the volume of the porous structure obtained in S13 to obtain the specific surface area of the porous structure;
[0061] S19. Based on the expected specific surface area and porosity, use the empirical formulas in S16 and step S18 to deduce the relevant input variables, and the relevant input variables include the scaling ratio f and the base point spacing L, etc.
[0062] In this embodiment, the specific function of programming the arrangement code of the spatial base point group in S3 is:
[0063] ① Based on the preset perturbation variable, change the possible distribution positions of each base point in the initial preset lattice to the spherical surface with the preset point as the center of the sphere and the perturbation variable r as the radius, and represent the perturbed points in spherical coordinates, that is:
[0064] ;
[0065] ② Generate the perturbed base points in layers, set a reasonable threshold according to the spacing of the initial points, and judge the positions between the subsequently generated base points and the adjacent base points during the generation process. If the spacing between the two points is less than the set threshold, delete the point and regenerate a random point until the spacing between the two points meets the expected requirements;
[0066] ③ Import the points generated in step ② into the point set, and finally obtain a GHpython base point generation battery with the point spacing, the number of base points in the X direction per layer, the number of base points in the Y direction per layer, the number of base points in the Z direction per layer, and the perturbation variable r as input variables and the base point set A as the output variable.
[0067] In this embodiment, the perturbation variable is not greater than half of the initial distance between two points.
[0068] Starting from the scaling ratio of the porous structure and the initial spacing of the base point distribution, a geometric model of the porous structure is parametrically generated, and the calculation formulas for the surface area and volume of the corresponding model are obtained in combination with computer-aided tools, providing support for the subsequent derivation of the pressure drop-flow rate formula for porous media and helping to generate the corresponding geometric model according to the required permeability.
[0069] Example 1: Obtaining the scaling ratio
[0070] To obtain the scaling ratio f corresponding to the porosity, the spatial Voronoi cell is characterized by referring to a simplified model:
[0071] ① The spatial Voronoi unit is equivalent to a Kelvin tetrakaidecahedron as Figure 1 a, which contains 6 square faces and 8 regular hexagonal faces. Let its side length be L. Let the volume of the tetrakaidecahedron at this time be V 14 , then:
[0072]
[0073] Figure 1 The area (structure 1) shown in a is the plane formed by four points where the starting and ending points of each side on the surface after scaling of the spatial polyhedron in S8 and the starting and ending points of each side on the surface of the corresponding face of the spatial polyhedron. Figure 1 b is the skeleton structure (structure 2) obtained by rotating the spatial cell in S8 around each side. Extract the midpoints of the four side lines shown in the skeleton structure and connect them, as Figure 2 shown, which are two right triangles.
[0074] Referring to Figure 3 , let the scaling ratio of the unit cell be , the scaling distance of the square face after scaling is , and the scaling distance of the regular hexagonal face is . After calculation:
[0075]
[0076] Through the analysis of the tetrakaidecahedron model, it can be seen that the cell contains 24 regions wrapped by the boundaries of quadrilateral faces and hexagonal faces V 46 and 12 regions wrapped only by the boundaries of hexagonal faces V 66 and the intersection regions of adjacent unit polyhedra V s ( Figure 3The structure shown in the circle (region 3). The intersection region consists of 4 unit polyhedra. For simplicity of calculation, the intersection region of adjacent unit polyhedra is simplified to a spherical region with the vertex of the unit polyhedron as the center of the sphere and a radius of R. After calculation, it is obtained that: the scaling distance of the square face after scaling along the face center is , and the scaling distance of the hexagonal face along the face center is .
[0077]
[0078] After calculation, it is obtained that:
[0079] Moreover, each unit polyhedron contains 24 vertices, and the spherical region of each vertex is shared by 4 unit polyhedra. Therefore:
[0080]
[0081] The porosity is obtained . After simplification, the relationship between the porosity and the scaling ratio f is:
[0082]
[0083] By randomly setting the scaling ratio, a porous medium model corresponding to the porosity is obtained, and multiple groups of data points are obtained as shown in Table 1. Using curve fitting calculation, the function expression of the porosity and the scaling ratio is:
[0084]
[0085] By solving the cubic equation of one variable, the scaling ratio corresponding to different porosities can be obtained.
[0086] Example 2: Specific surface area calculation
[0087] As shown by Figure 1 b (region 2), Figure 3 (region 3), the surface area of the porous medium is the area of the pink region in the figure, which consists of the boundaries of 6 quadrilateral faces, the boundaries of 8 hexagonal faces, and the spherical intersection region. Let the boundary area of the quadrilateral face be S 4, the boundary area of the hexagonal face be S 6, and the area of the spherical region be S s . Then:
[0088]
[0089] The surface area of a single unit is obtained as:
[0090]
[0091] Based on the simplified model proposed in Example 1, the relationship between the porosity of the porous medium and the scaling ratio is as follows:
[0092]
[0093] The corresponding scaling ratio is obtained by solving the cubic equation of one variable through the Shengjin formula method, and the expected porosity and scaling ratio are recorded And the porosity value calculated by the system. Since the surface subdivision and fillet transition operations are performed on the mesh model during the generation of the final model of the porous structure, there is a large deviation between the formula calculation results. Therefore, the obtained data is polynomially fitted to obtain the relationship between the modified porosity and the corresponding scaling ratio:
[0094]
[0095] Using the relationship between the modified porosity and the scaling ratio, the comparison between the formula calculation value and the grasshopper plug-in calculation value is shown in Table 1:
[0096] Table 1 Comparison of preset porosity and improved porosity
[0097] Porosity Initial scaling ratio Initial porosity Fitted scaling ratio Improved porosity Porosity calculated by plug-in 0.2 0.405 0.374 0.23 0.166 0.203 0.25 0.421 0.393 0.29 0.23 0.251 0.3 0.437 0.413 0.34 0.289 0.300 0.35 0.453 0.435 0.38 0.339 0.345 0.4 0.470 0.457 0.43 0.404 0.406 0.45 0.488 0.482 0.46 0.444 0.444 0.5 0.507 0.507 0.5 0.498 0.497 0.55 0.527 0.534 0.54 0.552 0.551 0.6 0.549 0.564 0.58 0.605 0.605 0.65 0.573 0.595 0.61 0.644 0.645 0.7 0.598 0.629 0.65 0.695 0.698 0.75 0.627 0.666 0.69 0.744 0.748 0.8 0.660 0.708 0.73 0.79 0.795 0.85 0.698 0.753 0.78 0.844 0.849 0.9 0.746 0.807 0.84 0.8998 0.902 0.95 0.811 0.874 0.92 0.959 0.952
[0098] After obtaining the relationship between the porosity and the scaling ratio, in order to calculate the surface area of the generated porous structure, let the surface area of the porous medium model be , then
[0099]
[0100] Among them, N is the number of base points within the external contour of the required part. Considering the influence of the surface subdivision and fillet transition operations, the obtained surface area calculation formula is optimized to obtain:
[0101]
[0102] Table 2 shows the comparison of the calculation results of the initial formula, the calculation results after fitting, and the calculation results of the grasshopper built-in plug-in.
[0103] Table 2 Comparison of the surface area calculated by the system and the porosity calculated by the improved formula
[0104] Porosity Fitted scaling ratio Surface area calculated by software Initial output surface area Surface area after fitting Formula / Program 0.2 0.23 19556.57 13722.7 13720.76 0.9999 0.25 0.29 19215.23 14986.98 14977.44 0.9994 0.3 0.34 18778.12 15738.07 15763.52 1.0016 0.35 0.38 18328.50 16146.25 16233.42 1.0054 0.4 0.43 17641.57 16419.18 16299.45 0.9927 0.45 0.46 17162.79 16454.03 16459.13 1.0003 0.5 0.5 16446.7 16354.66 16343.18 0.9993 0.55 0.54 15641.78 16090.7 16089.79 0.9999 0.6 0.58 14748.04 15666.2 15673.57 1.0005 0.65 0.61 14019.45 15237.72 15342.53 1.0069 0.7 0.65 12970.27 14530.49 14563.45 1.0023 0.75 0.69 11832.26 13673.81 13614.67 0.9957 0.8 0.73 10605.43 12664.87 12579.76 0.9933 0.85 0.78 8946.98 11208.66 11165.85 0.9962 0.9 0.84 6773.64 9183.48 9329.40 1.0159 0.95 0.92 3564.97 6071.89 6023.38 0.9920
[0105] The biggest advantage of the technical solution proposed by the present invention compared with the existing solutions is that it can control the input variables simultaneously to obtain a porous structure model with a porosity and specific surface area close to the expected values.
[0106] On the premise of not conflicting, those skilled in the art can freely combine and superimpose the above-mentioned additional technical features.
[0107] The above are only the preferred embodiments of the present invention, and all technical solutions that achieve the purpose of the present invention by substantially the same means fall within the protection scope of the present invention.
Claims
1. A parametric modeling method for porous structures based on expected porosity and specific surface area, characterized in that: The method includes the following steps: S1. Parametrically generate a porous structure geometric model based on Grasshopper and its plug-ins; to avoid structural defects caused by insufficient base points at the boundaries of the spatial region, when setting the initial calculation boundary, select a size 50% larger than the spatial size of the final geometric model; S2. Determine the arrangement mode of the regular base point lattice according to the requirements of the porous structure model; S3. Use the built-in GHpython plug-in of Grasshopper to compile the arrangement code of the spatial base point group; S4. Call the built-in Voronoi3D battery of Grasshopper, import the base point set generated in S3 and the spatial region in S1, and obtain a series of spatial Voronoi unit bodies; S5. Respectively obtain the centroid of each spatial Voronoi unit body and the centroid of each face of the spatial Voronoi unit body, and scale the spatial unit body and each face of the spatial unit body along their respective centroids and face centroids through a certain scaling ratio f; S6. Extract the boundaries of each side of the scaled spatial unit body and each face in S5; S7. Extract the starting points and ending points of each side in S6 to obtain 4 point sets respectively composed of the starting points and ending points of each side; S8. Based on the point sets in S7, construct planes formed by four points, and divide the face meshes according to the planes; S9. Join the meshes in S8, and use the WeaverBird surface subdivision tool to subdivide and smooth the obtained joined meshes; S10. Call the Close Mesh battery to close the edges of the meshes in S9; S11. Import the external contour geometric model of the required parts in Rhino, and read the geometric model through the Geometry battery; S12. Perform mesh division on the imported external contour geometric model in S11, and calculate the volume of the region surrounded by the external contour using mesh volume; use Boolean operation to obtain the intersection of the external contour geometric model and the generated porous structure model to obtain the required closed porous structure model, and Bake it to the corresponding layer in Rhino; S13. Use the mesh volume plug-in of Grasshopper or enter the Volume command in Rhino to obtain the volume of the obtained porous structure; S14. Use the mesh area plug-in of Grasshopper or enter the Area command in Rhino to obtain the surface area of the obtained porous structure; S15. By comparing the volume ratio of the volume of the obtained porous structure obtained in S13 to the volume of the region surrounded by the external contour in S12, the porosity of the porous structure at this time can be obtained, and it is compared with the expected porosity; S16. Replace different expected porosities to obtain the actual porosities of different structures; use curve fitting to obtain the function expression between the porosity and the scaling ratio; S17. Adjust the relevant code, perform repeated calculations to verify the effectiveness of the results; repeat S13 and S14; S18. Calculate using the surface area of the porous structure obtained in S14 and the volume of the porous structure obtained in S13 to obtain the specific surface area of the porous structure; S19. Derive relevant input variables based on the expected specific surface area and porosity using the empirical formulas of S16 and step S18.
2. A parametric modeling method for porous structures based on expected porosity and specific surface area according to claim 1, characterized in that: The specific function of compiling the arrangement code of the spatial base point group in S3 is as follows: ①Based on a preset perturbation variable, change the possible distribution positions of each base point in the initial preset dot matrix to points on the spherical surface centered at a preset point with the perturbation variable r as the radius, and represent the perturbed points in spherical coordinates, that is: ; ② Generate perturbed base points layer by layer. Set a reasonable threshold according to the spacing between the initial points. During the generation process, judge the position between the generated base point and the adjacent base point. If the spacing between the two points is less than the set threshold, delete the point and regenerate a random point until the spacing between the two points meets the expected requirements; ③ Import the points generated in step ② into the point set, and finally obtain a GHpython base point generation component with the point spacing, the number of base points in the X direction per layer, the number of base points in the Y direction per layer, the number of base points in the Z direction per layer, and the perturbation variable r as the input variables and the base point set A as the output variable.
3. A parametric modeling method for porous structures based on expected porosity and specific surface area according to claim 2, characterized in that: The perturbation variable is not greater than half of the spacing between the initial two points.
Citation Information
Patent Citations
Multi-scale optimization design method for gradient random dot matrix / porous structure
CN114357546A
Equivalent stiffness customization-oriented porous material design method
CN115274011A