广东工业大学学报 ›› 2019, Vol. 36 ›› Issue (03): 25-31.doi: 10.12052/gdutxb.180173

• 综合研究 • 上一篇    下一篇

基于涡粒子的真实感烟雾快速模拟

朱鉴, 张浩晨, 陈炳丰, 蔡瑞初   

  1. 广东工业大学 计算机学院, 广东 广州 510006
  • 收稿日期:2018-12-18 出版日期:2019-05-09 发布日期:2019-04-04
  • 通信作者: 陈炳丰(1983-),男,博士,主要研究方向为数据挖掘、高性能计算,E-mail:735180@qq.com E-mail:735180@qq.com
  • 作者简介:朱鉴(1982-),男,副教授,博士,主要研究方向为计算机图形学、高性能计算和虚拟现实.
  • 基金资助:
    国家自然科学基金资助项目(61502109,61672502,61702112);广东省自然科学基金资助项目(2016A030310342);广东省信息物理融合系统重点实验室开放课题(2016B030301008);NSFC-广东联合基金资助项目(U1501254);广东省科技计划项目(2016A040403078,2017B010110015,2017B010110007);广州市珠江科技新星(201610010101);广州市科技计划项目(201604016075)

Fast Simulation of Realistic Smoke Based on Vortex Particles

Zhu Jian, Zhang Hao-chen, Chen Bing-feng, Cai Rui-chu   

  1. School of Computers, Guangdong University of Technology, Guangzhou 510006, China
  • Received:2018-12-18 Online:2019-05-09 Published:2019-04-04

摘要: 基于物理的流体模拟方法通过数值求解流体的控制方程可获得逼真的模拟结果,但求解中易产生数值耗散造成流体细节丢失.本文提出采用涡粒子模拟流体,通过求解涡度形式的流体控制方程获得涡度场,再将涡度场转换为不可压的速度场,可降低对流数值耗散,自动保证速度场散度为零,因而能够保持更丰富的流体细节.针对算法在涡度转换为速度时需求解泊松方程的性能瓶颈,基于图形处理器(GPU)设计并实现了一个高效的预条件共轭梯度法求解方程,比现有求解器加速超过10倍.实验结果表明,与现有方法相比,本文算法能够获得真实感更强的流体模拟效果,且模拟速度显著提升.

关键词: 烟雾模拟, 涡粒子方法, 预条件共轭梯度, 泊松方程, 图形处理器

Abstract: Physically based fluid simulation method can obtain realistic simulation results by solving the fluid governing equation directly, but numerical dissipations are liable to occur, thus causing the loss of fluid details. In this research, it is proposed to simulate the fluid with vortex particles. Firstly, the vorticity field is obtained by solving the curl form of the governing equation, upon which it is converted into an incompressible velocity field. This method greatly reduces numerical dissipations, automatically guaranteeing that the final velocity field is divergence-free, and thus can preserve much more fluid details. In addition, aiming at the performance bottleneck of the algorithm in solving Poisson equation for the vorticity-to-velocity conversion, an efficient preconditioned conjugate gradient method is designed and implemented based on GPU (graphics processing unit) to solve this equation, which can be more than ten times faster than the existing solvers. Experimental results show that the proposed algorithm can achieve more realistic fluid simulation results than the existing methods, and the simulation speed is significantly improved.

Key words: smoke simulation, vortex particle method, preconditioned conjugate gradient, Poisson equation, graphics processing unit

中图分类号: 

  • TP391
[1] HUANG Z P, GONG G H, HAN L. Physically-based smoke simulation for computer graphics:a survey[J]. Multimedia Tools and Applications, 2015, 74(18):7569-7594
[2] BRIDSON R. Fluid simulation for computer graphics[M]. New York, America:A K Peters/CRC Press, 2015:21-28.
[3] HUANG Z P, KAVAN L, LI W K, et al. Reducing numerical dissipation in smoke simulation[J]. Graphical Models, 2015, 78:10-25
[4] COTTET G H, KOUMOUTSAKOS P D. Vortex methods:theory and practice[M]. Cambridge, UK:Cambridge University Press, 2000.
[5] SELLE A, RASMUSSEN N, FEDKIW R. A vortex particle method for smoke, water and explosions[J]. ACM Transactions on Graphics, 2005, 24(3):910-914
[6] PFAFF T, THUEREY N, GROSS M. Lagrangian vortex sheets for animating fluids[J]. ACM Transactions on Graphics, 2012, 31(4):1-8
[7] MAURICIO V, BEN H, LANG J, et al. Vortical inviscid flows with two-way solid-fluid coupling[J]. IEEE Transaction on Visualization and Computer Graphics, 2014, 20(2):303-315
[8] ZHANG X X, LI M C, BRIDSON R. Resolving fluid boundary layers with particle strength exchange and weak adaptivity[J]. ACM Transactions on Graphics, 2016, 35(4):1-8
[9] EBERHARDT S, WEISSMANN S, PINKALL U, et al. Hierarchical vorticity skeletons[C]//Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation. NY, USA:ACM Press, 2017:1-11.
[10] ZHU J, LUO Y, REN X H, et al. Synthetic fluid details for the vorticity loss in advection[J]. Computer Animation and Virtual Worlds, 2018, 29(3-4):1-11
[11] JANG T, BLANCO I RIBERA R, BAE J, et al. Simulating SPH fluid with multi-level vorticity[J]. International Journal of Virtual Reality, 2011, 10(1):17-23
[12] PEER A, TESCHNER M. Prescribed velocity gradients for highly viscous SPH fluids with vorticity diffusion[J]. IEEE Transactions on Visualization and Computer Graphics, 2017, 23(12):2656-2662
[13] COOK S. CUDA Programming:a developer's guide to parallel computing with GPUs[M]. Waltham, USA:Elsevier, 2013:106-205.
[14] TOLKE J, KRAFCZYK M. Teraflop computing on a desktop pc with gpus for 3d cfd[J]. International Journal of Computational Fluid Dynamics, 2008, 22(7):443-456
[15] MCADAMS A, SIFAKIS E, TERAN J. A parallel multigrid Poisson solver for fluids simulation on large grids[C]//ACM SIGGRAPH Symposium on Computer Animation. Madrid, Spain:Eurographics Association Aire-la-Ville, 2010:65-74.
[16] BAILEY D, BIDDLE H, AVRAMOUSSIS N, et al. Distributing liquids using OpenVDB[C]//ACM SIGGRAPH 2015 Talks. Los Angeles:ACM Press, 2015:1.
[17] YANG Y, YANG X B, YANG S C. A fast iterated orthogonal projection framework for smoke simulation[J]. IEEE Transactions on Visualization and Computer Graphics, 2016, 22(5):1492-1502
[18] LIU H X, MITCHELL N, AANJANEYA M, et al. A scalable Schur-complement fluids solver for heterogeneous compute platforms[J]. ACM Transactions on Graphics, 2016, 35(6):1-12
[19] CHU J Y, ZAFAR N B, YANG X B. A schur complement preconditioner for scalable parallel fluid simulation[J]. ACM Transactions on Graphics, 2017, 36(5):1-10
[20] TAKADA K, NITTA T, OHNO K. Acceleration of SPH-based fluid simulation on GPU[C]//High Performance Computing Symposium. Los Angeles, USA:ACM Press, 2017:26-35.
[21] GAO M, WANG X L, WU K, et al. GPU optimization of material point methods[J]. ACM Transactions on Graphics, 2018, 37(6):1-12
[22] AMADOR G, GOMES A. CUDA-based linear solvers for stable fluids[C]//ICISA 2010:2010 International Conference on Information Science and Applications. Seoul:IEEE, 2010:279-286.
[1] 曾文曲; 文有为; 孙海卫; . 图像恢复中的一种新预处理算子[J]. 广东工业大学学报, 2000, 17(2): 76-81.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!