摘要

Smoothed particle hydrodynamics (SPH) method is a kind of meshless method, which is used to solve the problem of fluid simulation without complex operations of the grids. To reduce the computational complexity, SPH method based on the two-dimensional shallow water equations is employed to establish a fluid model. In large scale scenes, taking into account the high computational complexity and the serious distortion problems, in this paper we introduce an improved two-dimensional SPH algorithm according to the shallow water equations. The proposed method with two-dimensional complexity is obtained by discretizing the two-dimensional shallow water equations with SPH, and the depth of water is introduced as the particle's property. The problem of increased amount of calculation cannot be well solved by using traditional neighboring particle search method based on tree structure. To improve the efficiency of search and simplify the search operation of neighborhood particles, in this paper we introduce a point-in-box search algorithm and put forward a neighboring particles searching method on the basis of dynamic grid. Besides, for large scale scenes, by considering that the virtual particle method provides slow computation speed with complex boundary condition, the type-one virtual particles are utilized to ensure that the borders can be calculated precisely by combining the punish force to prevent the phenomenon of particle boundary penetrating. Therefore, a method is further obtained to handle boundary condition efficiently by combining the virtual particles with punish force in this paper. In the process of rendering, the fluid surface is first determined by mapping and interpolating particles into regular grids without the complex reconstruction of surface in three-dimensional. Then, we utilize the bilinear interpolation method to deal with the problem of missing values, and the surface grids are further densified. With OpenSceneGraph three-dimensional render engine, OpenGL Shading Language is adopted to speed up the rendering speed, and in this way, the real-time fluid simulation of large scale scenes can be further achieved. With the basic KD tree searching method employed in the simulations, the comparative experiments are provided to verify effectiveness of the proposed searching method based on dynamic grid. Given the data set obtained from random points, experimental results demonstrate that the method in this paper can be used to solve the problem of neighboring particles searching in large scale scenes. To show the effectiveness of the proposed method on the basis of the virtual particles and the punish force, another experiment based on the collapsing of a water column is further provided. Besides, in this paper we conduct an experiment on a certain actual reservoir terrain to prove that the proposed method can be applied to fluid simulation of large scale scenes.

全文