A large-scale smoke simulation method based on dynamic multi-grid

By using a dynamic multigrid method, the position of the vortex centroid and the velocity increment of the grid cell are calculated, which solves the problem of low efficiency in velocity field calculation in the vortex method and realizes efficient calculation for large-scale smoke simulation.

CN122490965APending Publication Date: 2026-07-31DALIAN MARITIME UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DALIAN MARITIME UNIVERSITY
Filing Date
2026-05-07
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing eddy current methods for simulating smoke suffer from low efficiency in velocity field calculations and high computational time complexity, making it difficult to achieve large-scale smoke simulations.

Method used

A dynamic multigrid-based approach is adopted, which creates a multigrid by computing bounding boxes, calculates the vorticity centroid position and velocity increment of the grid cells, and uses the multigrid to calculate the velocity field, thereby reducing the number of calculations for the Biot-Savart formula.

Benefits of technology

It significantly reduces the computational time complexity of velocity fields and improves the efficiency of smoke simulation, especially in large-scale smoke scenes, where computation time can be reduced by more than 200 times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122490965A_ABST
    Figure CN122490965A_ABST
Patent Text Reader

Abstract

This invention relates to the field of smoke simulation technology, specifically a large-scale smoke simulation method based on dynamic multigrids. The method includes: representing vorticity and velocity fields using discrete fluid particles, and calculating bounding boxes based on the positions of the fluid particles; creating a multigrid based on the bounding boxes; traversing the multigrid, calculating the centroid position and vorticity of each grid cell, and the velocity increment of the fluid particles within each grid cell at any position; calculating the velocity field using the multigrid, and calculating the velocity contribution of each grid cell at any position; updating the positions of the fluid particles at the next moment based on the velocity field calculated by the multigrid, thus achieving large-scale smoke simulation based on dynamic multigrids. This invention, through the dynamic multigrid method, reduces the computational time complexity of solving the velocity field using the vortex method, greatly improving the efficiency of smoke simulation and enabling the simulation of large-scale smoke scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of smoke simulation technology, and in particular to a large-scale smoke simulation method based on dynamic multigrids. Background Technology

[0002] The vortex method is a numerical approach for solving the curl form of the Navier-Stokes equations. It possesses excellent physical representation capabilities and can better represent the rotation of fluids. This method discretizes the vortex field onto Lagrange particles and calculates the fluid evolution by tracking changes in the properties of these particles. Smoke, as a highly vortexed fluid, can also be simulated using this method.

[0003] When using the eddy current method to simulate smoke, the bottleneck to efficiency improvement lies in calculating the velocity field. There are two ways to calculate the velocity field using the eddy current method: one is to map the eddy current stored in the fluid particles onto a mesh and then obtain the velocity field by solving the Poisson equation for the stream function; the other is to iterate through all fluid particles in the flow field using the Biot-Savart formula and calculate the velocity increment of each particle to obtain the velocity field. Comparatively, the former is more computationally efficient, but the frequent mapping operations increase numerical viscosity significantly. The latter is a meshless method that can work in unbounded open spaces and is more suitable for large-scale smoke simulations. However, the main drawback of the latter is its lower computational efficiency for the velocity field, with a computational time complexity of O(n log n), where O(n) is the number of fluid particles in the flow field.

[0004] To improve the efficiency of vortex methods in simulating smoke, researchers have proposed various methods to reduce the time complexity of calculating the velocity field. A common approach is to design efficient data structures to approximate fluid particles, thereby reducing the number of calculations for the Biot-Savart formula, such as the fast multipole method, octree method, and particle-particle-particle-mesh method. However, existing techniques still require improvement in computational efficiency. Therefore, a method is needed that can quickly calculate the velocity field and improve the efficiency of smoke simulation. Summary of the Invention

[0005] To address the aforementioned technical problems, this invention provides a large-scale smoke simulation method based on dynamic multigrids. First, the bounding box is calculated based on the positions of fluid particles, and a multigrid is created. Then, the vorticity centroid position and vorticity of each grid cell in the multigrid are calculated based on the particle distribution. For any position in the computational domain, the multigrid is traversed, and the velocity increment of each grid cell at that position is calculated to obtain the velocity field, which is then used to update the positions of the fluid particles. This invention, through the dynamic multigrid method, reduces the computational time complexity of solving the velocity field using the vortex method, significantly improving the efficiency of smoke simulation and enabling the simulation of large-scale smoke scenarios.

[0006] The technical means employed in this invention are as follows:

[0007] A large-scale smoke simulation method based on dynamic multigrids includes: representing vorticity and velocity fields using discrete fluid particles, and calculating bounding boxes based on the positions of the fluid particles; creating multigrids based on the bounding boxes; traversing the multigrids, calculating the centroid position and vorticity of each grid cell, and the velocity increment of the fluid particles within the grid cell at any position; calculating the velocity field using the multigrids, and calculating the velocity contribution of the grid cells at any position; updating the positions of the fluid particles at the next moment based on the velocity field calculated by the multigrids, thereby realizing large-scale smoke simulation based on dynamic multigrids.

[0008] Furthermore, the use of discrete fluid particles to represent the vorticity field and velocity field specifically includes: assuming that there exist... The fluid particle, the first The vortex intensity of each fluid particle is The location is The bounding box is calculated based on the position of the fluid particles. The bounding box contains all fluid particles in the flow field and is a minimal hexahedron parallel to the coordinate axes.

[0009] in, and These are the minimum and maximum vertices of the bounding box, respectively. Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in The directional component.

[0010] Furthermore, each grid in the multi-grid is the same size, but the grid cell spacing is different; assuming the number of grids is... In multigrids, the first The spacing of each grid is , , It is the spacing between the grid cells of the first grid, which is also the coarsest grid. As the number of grid cells increases, the spacing between the grid cells becomes smaller and smaller.

[0011] Furthermore, the calculation of the centroid position and vorticity of each grid cell specifically includes: summing the vorticity of the fluid particles contained within the grid cell to obtain the vorticity of the grid cell, and obtaining the centroid position of the grid cell by weighted averaging the positions of the fluid particles.

[0012] in, and It refers to the position of the centroid and the vorticity of the grid cell vorticity. It is the number of fluid particles contained within that grid cell. and It is the first in the grid cell The position and vorticity of a fluid particle.

[0013] Furthermore, the velocity increment of fluid particles at any position within the grid cell is approximated based on the characteristics of the Biot-Savart formula:

[0014] in, It is any location in space. It is the total number of vortex elements in the flow field. and It is the first The vorticity and position of each vortex element.

[0015] Furthermore, the calculation of the velocity field using a multigrid specifically includes: for any location within the computational domain... ,according to The distance to the grid cell determines which grid to use; distance The closer the distance, the smaller the grid spacing; the closer the distance. The farther away, the larger the grid spacing; define the incremental computation region for each grid in the multigrid. , The unit of each grid increment calculation region is the number of cells in the current grid, and the following conditions are met. Computational grid cell pairs When calculating the velocity increment, only the grid cells within each grid increment calculation region that are not within the calculation region of a higher-level grid increment are calculated; grid cells for... The velocity contribution is calculated according to the following formula: .

[0016] Compared with the prior art, the present invention has the following advantages: The large-scale smoke simulation method based on dynamic multigrid provided by this invention successfully reduces the computational time complexity of the smoke velocity field in the vortex method from... It dropped to This effectively reduces the calculation time for the velocity field and greatly improves simulation efficiency.

[0017] This invention exists within the flow field With a single fluid particle, the computation time can be reduced by up to approximately 200 times compared to directly applying the Biot-Savart formula. The speedup of the dynamic multigrid algorithm continues to increase with the number of fluid particles. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart of the large-scale smoke simulation method based on dynamic multigrid in this invention.

[0020] Figure 2 This is a schematic diagram of the incremental computation region of the multigrid in this invention.

[0021] Figure 3 The results are smoke simulation results from an embodiment of the present invention. Detailed Implementation

[0022] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.

[0023] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the present invention or its application or use. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0024] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of exemplary embodiments according to the invention. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.

[0025] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps described in these embodiments do not limit the scope of the invention. It should also be understood that, for ease of description, the dimensions of the various parts shown in the drawings are not drawn to actual scale. Techniques, methods, and devices known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and devices should be considered part of the specification. In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values. It should be noted that similar reference numerals and letters in the following figures denote similar items; therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0026] like Figure 1 As shown, this invention provides a large-scale smoke simulation method based on dynamic multigrids, including: representing the vorticity field and velocity field using discrete fluid particles, and calculating the bounding box based on the position of the fluid particles; in a preferred embodiment of this invention, it is assumed that there are multiple fluid particles in the flow field. The fluid particle, the first The vortex intensity of each fluid particle is The location is The bounding box is calculated based on the position of the fluid particles. The bounding box contains all fluid particles in the flow field and is the smallest hexahedron parallel to the coordinate axes.

[0027] in, and These are the minimum and maximum vertices of the bounding box, respectively. Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in The directional component.

[0028] A multi-mesh is created based on a bounding box; in a preferred embodiment of the invention, each mesh in the multi-mesh is the same size, but the spacing between mesh cells is different; assuming the number of meshes is... In multigrids, the first The spacing of each grid is , , It is the spacing between the grid cells of the first grid, which is also the coarsest grid. As the number of grid cells increases, the spacing between the grid cells becomes smaller and smaller.

[0029] Traversing multiple grids, the position of the center of mass and vorticity of each grid cell, as well as the velocity increment of fluid particles at any position within the grid cell, are calculated. Specifically, in a preferred embodiment of this invention, calculating the position of the center of mass and vorticity of each grid cell includes: The vorticity of the grid cell is obtained by summing the vorticity of the fluid particles contained within it, and the centroid position of the grid cell is obtained by weighted averaging the positions of the fluid particles.

[0030] in, and It refers to the position of the centroid and the vorticity of the grid cell vorticity. It is the number of fluid particles contained within that grid cell. and It is the first in the grid cell The position and vorticity of a fluid particle.

[0031] In a specific implementation, as a preferred embodiment of the present invention, the velocity increment of fluid particles at any position within a grid cell is approximated based on the characteristics of the Biot-Savart formula:

[0032] in, It is any location in space. It is the total number of vortex elements in the flow field. and It is the first The vorticity and position of each vortex element.

[0033] The velocity field is calculated using a multi-grid system to determine the velocity contribution of each grid cell at any location. Specifically, in a preferred embodiment of this invention, for any location within the computational domain... ,according to The distance to the grid cell determines which grid to use; distance The closer the distance, the smaller the grid spacing; the closer the distance. The farther away, the larger the grid spacing; define the incremental computation region for each grid in the multigrid. , The incremental calculation region is a spherical region, such as Figure 2 As shown. The unit of each grid increment calculation region is the number of cells in the current grid, and it satisfies the condition. Computational grid cell pairs When calculating the velocity increment, only the grid cells within each grid increment calculation region that are not within the calculation region of a higher-level grid increment are calculated; grid cells for... The velocity contribution is calculated according to the following formula: .

[0034] By updating the position of fluid particles in the next moment based on the velocity field calculated by the multigrid, a large-scale smoke simulation based on dynamic multigrid is realized.

[0035] Example This invention provides a large-scale smoke simulation method based on dynamic multigrids. The main purpose of this invention is to improve the efficiency of velocity field calculation in the Lagrange vortex method, thereby improving the efficiency of smoke simulation. Based on the properties of the Biot-Savart formula, a dynamic multigrid data structure is designed to map the vorticity of fluid particles within the grid cells onto the grid cells, reducing the number of calculations in the Biot-Savart formula, lowering the computational time complexity of velocity field calculation, and improving simulation efficiency.

[0036] For any given flow field, the vorticity field and velocity field are discretized onto fluid particles, and the number of grids in the dynamic multigrid and the incremental computational domain of each grid are set. This includes the following steps: S1. Calculate the bounding box. Traverse all fluid particles within the flow field and calculate the vertices of the bounding box based on the positions of the fluid particles. and .

[0037] S2. Create a multi-mesh grid. Set the number of grid cells in the multi-mesh grid. Spacing between grid cells of the first grid Taking two-dimensional space as an example, since the spacing between grid cells of different grids is an integer multiple, the th... Any grid cell in the nth grid corresponds to the nth grid in spatial location. Four grid cells in a grid.

[0038] S3. Calculate the vorticity centroid location and vorticity of each grid cell. Based on the properties of the Biot-Savart formula, traverse the fluid particles within each grid cell to obtain the vorticity centroid location and vorticity of each grid cell. To quickly locate the fluid particles contained within each grid cell, a spatial hash table is created for each grid cell to improve traversal efficiency.

[0039] S4. Calculate the velocity field. First, define an incremental calculation region for each grid. A higher grid index results in a smaller computational domain for the incremental grid calculation. This is to avoid redundant calculations of grid cell pairs within the same space. The velocity increment, for the first The first grid cell is calculated only for the first grid cell. Within the calculation region of the grid increment and not in the first grid increment calculation region Each grid increment computes the grid cells within the calculated region. Then, the grid cells of each grid are computed for any spatial location. The speed increment.

[0040] S5. Update the positions of the fluid particles. Based on the velocity field obtained from the dynamic multigrid, calculate the positions of the fluid particles at the next moment using the third-order Runge-Kutta integral:

[0041] in, It refers to the position of the fluid particles. For the first The velocity of each fluid particle It is the time step.

[0042] The performance of velocity field calculation using the dynamic multigrid method and direct calculation of the Biot-Savart formula was compared through experimental data. For flow fields containing different numbers of particles, multiple experiments were conducted on the NVIDIA CUDA platform, using different configurations of multigrid and direct calculation methods to calculate the velocity field. The calculation time for each method was recorded, as shown in Table 1.

[0043] Table 1. Computation time data for velocity field calculation using the multigrid method

[0044] The three multigrids used the same cell spacing but different incremental computation regions. The multigrid had four cells, and the configuration of each incremental computation region is shown in Table 2.

[0045] Table 2 Specific configuration of each grid incremental calculation region

[0046] It can be seen that the multigrid method achieves a maximum speedup of 211 for calculating the velocity field, which greatly improves the efficiency of smoke simulation. Figure 3 The simulation results of two plumes of smoke colliding, simulated using a multigrid method, are shown from left to right and top to bottom, depicting the process of the smoke colliding and then merging together.

[0047] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A large-scale smoke simulation method based on dynamic multigrids, characterized in that, include: The vorticity and velocity fields are represented using discrete fluid particles, and the bounding box is calculated based on the position of the fluid particles. Create a multi-mesh based on the bounding box; Traverse the multigrid, calculate the centroid position and vorticity of each grid cell, and the velocity increment of fluid particles at any position within the grid cell; The velocity field is calculated using the multi-grid method, and the velocity contribution of each grid cell at any location is calculated. The position of the fluid particles at the next moment is updated based on the velocity field calculated by the multigrid, realizing large-scale smoke simulation based on dynamic multigrid.

2. The large-scale smoke simulation method based on dynamic multigrids according to claim 1, characterized in that, The use of discrete fluid particles to represent the vorticity field and velocity field specifically includes: Assume that there exists within the flow field The fluid particle, the first The vortex intensity of each fluid particle is The location is The bounding box is calculated based on the position of the fluid particles. The bounding box contains all fluid particles in the flow field and is a minimal hexahedron parallel to the coordinate axes. in, and These are the minimum and maximum vertices of the bounding box, respectively. Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in directional components, Indicates the first A fluid particle in The directional component.

3. The large-scale smoke simulation method based on dynamic multigrids according to claim 1, characterized in that, Each grid in the multi-grid is the same size, but the spacing between grid cells is different; assuming the number of grids is... In multigrids, the first The spacing of each grid is , , It is the spacing between the grid cells of the first grid, which is also the coarsest grid. As the number of grid cells increases, the spacing between the grid cells becomes smaller and smaller.

4. The large-scale smoke simulation method based on dynamic multigrids according to claim 1, characterized in that, The calculation of the centroid position and vorticity of each grid cell specifically includes: The vorticity of the grid cell is obtained by summing the vorticity of the fluid particles contained within it, and the centroid position of the grid cell is obtained by weighted averaging the positions of the fluid particles. in, and It refers to the position of the centroid and the vorticity of the grid cell vorticity. It is the number of fluid particles contained within that grid cell. and It is the first in the grid cell The position and vorticity of a fluid particle.

5. The large-scale smoke simulation method based on dynamic multigrids according to claim 4, characterized in that, The velocity increment of fluid particles at any position within the grid cell is approximated based on the properties of the Biot-Savart formula: in, It is any location in space. It is the total number of vortex elements in the flow field. and It is the first The vorticity and position of each vortex element.

6. The large-scale smoke simulation method based on dynamic multigrids according to claim 5, characterized in that, The calculation of the velocity field using a multigrid specifically includes: For any position within the computational domain ,according to The distance to the grid cell determines which grid to use; distance The closer the distance, the smaller the grid spacing; the distance The farther away, the larger the grid spacing; define the incremental computation region for each grid in the multigrid. , The unit of each grid increment calculation region is the number of cells in the current grid, and the following conditions are met. Computational grid cell pairs When calculating the velocity increment, only the grid cells within each grid increment calculation region that are not within the calculation region of a higher-level grid increment are calculated; grid cells for... The velocity contribution is calculated according to the following formula: 。