摘要:目前,對(duì)于水流動(dòng)畫模擬的研究已經(jīng)取得了相當(dāng)豐富的成果?;谖锢砟P偷牧黧w動(dòng)畫模擬的研究,需要計(jì)算流體力學(xué)和計(jì)算機(jī)圖形學(xué)的交叉融合,根據(jù)其研究的背景與內(nèi)容的不同,可分為兩種類型?;谖锢砟P偷牧黧w動(dòng)畫模擬中描述流體運(yùn)動(dòng)的方法主要有兩種,一種是Euler方法,另一種是Lagrange方法。Euler方法的主要缺點(diǎn)是難以處理流體的細(xì)節(jié),Lagrange方法的優(yōu)點(diǎn)就是能很好地表現(xiàn)流體的細(xì)節(jié)。由于Euler方法和Lagrange方法的這些特點(diǎn),如果發(fā)展這兩種方法的綜合方法,則可取長(zhǎng)補(bǔ)短。
關(guān)鍵詞:水流動(dòng)畫模擬;Euler方法;Lagrange方法
中圖分類號(hào):TP399文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)14-20934-02
1 引言
近年來(lái),對(duì)自然景觀的模擬一直是計(jì)算機(jī)圖形學(xué)和動(dòng)畫中最具挑戰(zhàn)性的問(wèn)題之一,這是因?yàn)樽匀痪坝^遠(yuǎn)比大多數(shù)人物造型復(fù)雜得多,模擬相對(duì)比較困難,與山、樹相比,對(duì)水的模擬又更為困難。
2 水流動(dòng)畫模擬發(fā)展的現(xiàn)狀分析
目前,對(duì)于水流動(dòng)畫模擬的研究已經(jīng)取得了相當(dāng)豐富的成果。具有代表性的研究有兩個(gè)領(lǐng)域:一是計(jì)算流體力學(xué)領(lǐng)域,主要研究的是流體運(yùn)動(dòng)的科學(xué)求解,用Navier-Stokes方程(N-S方程)或其簡(jiǎn)化形式精確求解描述流體運(yùn)動(dòng),從而揭示流體運(yùn)動(dòng)的內(nèi)存規(guī)律,解決流體相關(guān)領(lǐng)域的工程計(jì)算問(wèn)題,已發(fā)展了大量高精度高效的數(shù)值方法,并取得了豐富的成果。二是計(jì)算機(jī)圖形學(xué)領(lǐng)域的流體模擬,注重流體現(xiàn)象的視覺效果,運(yùn)用計(jì)算機(jī)圖形學(xué)或一般圖形學(xué)原理和方法,將流場(chǎng)數(shù)據(jù)轉(zhuǎn)換為圖形、圖像,以直觀的形式表現(xiàn)出來(lái),從而獲得生動(dòng)、逼真的流體運(yùn)動(dòng)的視覺效果,并運(yùn)用于如電影特效、視頻游戲等的市場(chǎng)需求,該方向的工作也取得了很多成果。
隨著計(jì)算流體力學(xué)、計(jì)算機(jī)圖形學(xué)等學(xué)科的不斷發(fā)展與相互交叉,從而產(chǎn)生了許多更有效的模擬方法,其中,基于物理模型的流體動(dòng)畫模擬發(fā)展迅速,目前,已經(jīng)成為該領(lǐng)域的一個(gè)研究熱點(diǎn),同時(shí)也成為當(dāng)前和未來(lái)科學(xué)工程計(jì)算機(jī)與可視化發(fā)展的一個(gè)重點(diǎn)方向。
基于物理模型的流體動(dòng)畫模擬的研究,需要計(jì)算流體力學(xué)和計(jì)算機(jī)圖形學(xué)的交叉融合,根據(jù)其研究的背景與內(nèi)容的不同,可分為兩種類型。一種是利用計(jì)算流體力學(xué)成果,采用合適的模型和方法,從計(jì)算機(jī)圖形學(xué)的角度發(fā)展相應(yīng)的流體動(dòng)畫模擬所需要的流場(chǎng)表示方法、繪制技術(shù)等,研究工作主要集中在流體動(dòng)畫模擬中的計(jì)算機(jī)圖形學(xué)方面。如基于GPU帶有復(fù)雜邊界的三維實(shí)時(shí)流體模擬、基于LB模型的液-液混合流體模擬等[1-3]。另一種是以計(jì)算流體力學(xué)為基礎(chǔ),根據(jù)計(jì)算機(jī)硬件和計(jì)算機(jī)圖形學(xué)的發(fā)展水平,發(fā)展適合于流體動(dòng)畫模擬的CFD模型和方法,利用計(jì)算機(jī)圖形學(xué)的方法完成流體的動(dòng)畫模擬,不僅要科學(xué)求解,而且要獲得生動(dòng)、逼真的流體動(dòng)畫,這方面的研究在國(guó)內(nèi)還不多見。
基于物理模型的流體動(dòng)畫模擬中描述流體運(yùn)動(dòng)的方法主要有兩種,一種是Euler方法,另一種是Lagrange方法。前者研究充滿流體的空間區(qū)域的各個(gè)固定點(diǎn),將流體的速度、壓力、密度等流動(dòng)量看作是空間點(diǎn)坐標(biāo)x、y和時(shí)間t的函數(shù),研究每一固定點(diǎn)上的各種流量隨時(shí)間變化的情況,以及研究由某一空間點(diǎn)轉(zhuǎn)到另一空間點(diǎn)時(shí)這些流支量的變化情況,是一種基本網(wǎng)格的方法。后者研究組成流體的質(zhì)點(diǎn),跟蹤流體的質(zhì)點(diǎn)來(lái)研究流體中某一質(zhì)點(diǎn)的位置、密度、壓力等流動(dòng)量隨時(shí)間的變化情況,以及研究由一個(gè)質(zhì)點(diǎn)轉(zhuǎn)到其他質(zhì)點(diǎn)時(shí)這些流動(dòng)量的變化情況,是一種基于粒子的方法。
Euler方法的優(yōu)點(diǎn)是模型方程相對(duì)簡(jiǎn)單,可以利用場(chǎng)論理論分析問(wèn)題,入口條件和出口條件易于處理等等,相對(duì)來(lái)說(shuō),使用起來(lái)比較方便。在CFD中已發(fā)展了很多高精度高效的Euler方法,取得了豐富的計(jì)算結(jié)果[4]。其中具有代表性的有基于淺水方程線性化的高度場(chǎng)模擬、求解三維完全N-S方程的有限差分法、求解三維不可壓N-S方程的無(wú)條件穩(wěn)定方法及其推廣、水平集方法[5-9]等。Euler方法的主要缺點(diǎn)是難以處理流體的細(xì)節(jié),如水的飛濺、泡沫、波浪的破碎與翻卷等。
Lagrange方法的優(yōu)點(diǎn)就是能很好地表現(xiàn)流體的細(xì)節(jié)。其中具有代表性的有光滑粒子流體動(dòng)力學(xué)方法(SPH:smoothed particle hydrodynamics)[10],并被廣泛推廣和應(yīng)用[11]。Lagrange方法的缺點(diǎn)是除了沒有網(wǎng)格方法上述的一些方便之處外,計(jì)算上比較費(fèi)時(shí),計(jì)算代價(jià)相對(duì)較大。由于Euler方法和Lagrange方法的這些特點(diǎn),我們想到發(fā)展這兩種方法的綜合方法,取長(zhǎng)補(bǔ)短。這方面已經(jīng)取得的一些重要成就有:半拉格朗日算法[7]、粒子水平集方法[9]、經(jīng)典PIC(Particle-In-Cell)方法的推廣與應(yīng)用、粒子有限元方法,以及最近的耦合SPH和PLS的方法[12-14]。
3 水流動(dòng)畫模擬未來(lái)的發(fā)展前景
目前,在水流的計(jì)算機(jī)動(dòng)畫模擬中,人們最想看到的結(jié)果是,在模擬水的流動(dòng)的同時(shí),也能逼真地模擬出水的飛濺、泡沫、波浪的破碎與翻卷等細(xì)節(jié)現(xiàn)象。動(dòng)畫模擬的實(shí)時(shí)性要求模擬方法具有較高的計(jì)算速度,而能模擬出上述細(xì)節(jié)又要求模擬方法具有豐富的細(xì)節(jié)表現(xiàn)能力,但豐富的細(xì)節(jié)表現(xiàn)能力往往導(dǎo)致計(jì)算代價(jià)的增加從而降低計(jì)算速度,未來(lái)發(fā)展的關(guān)鍵問(wèn)題就是解決上述這一矛盾。
我們考慮研究耦合Euler方法和Lagrange方法的水流的計(jì)算機(jī)動(dòng)畫模擬,希望實(shí)現(xiàn)對(duì)水的飛濺、泡沫、波浪的破碎與翻卷等細(xì)節(jié)現(xiàn)象的模擬。
采用將水流分為稠密水體和彌散水體的描述模型,用弱可壓SPH方法代替常規(guī)SPH方法去求解彌散水體來(lái)同時(shí)提高方法的細(xì)節(jié)表現(xiàn)能力和計(jì)算效率。弱可壓SPH方法采用Tait方程聯(lián)系流體的壓力與密度,允許弱可壓性和小的密度波動(dòng),這與彌散水體的性態(tài)非常相吻合,解決了常規(guī)SPH方法在可壓與不可壓上兩難選擇的問(wèn)題。盡管給出弱可壓SPH方法的研究問(wèn)題時(shí)沒有采用將水流分為稠密水體和彌散水體的描述模型,沒有直接表明這一方案的有效性,但通過(guò)上述分析我們?nèi)阅芸吹皆摲桨傅目尚行浴?/p>
采用MLS方法代替PLS方法去構(gòu)造耦合方法來(lái)提高方法的計(jì)算效率。因?yàn)镸LS方法僅在流體的表面使用標(biāo)記,而PLS方法是在流體表面的一個(gè)管狀鄰域上布置粒子,因此,在計(jì)算代價(jià)上,PLS方法是一個(gè)三維問(wèn)題,而MLS方法只是一個(gè)二維問(wèn)題,因此MLS方法計(jì)算量明顯降低。而流體的細(xì)節(jié)現(xiàn)象的發(fā)生又都是在流體的表面部分,僅在流體的表面使用標(biāo)記同樣能準(zhǔn)確的追蹤表現(xiàn)出流體的細(xì)節(jié)。[14]中的研究結(jié)果證明了這一點(diǎn),因而這是個(gè)可行的不降低計(jì)算精度而提高計(jì)算效率的方案。
在描述水流的模型方面,采用廣義SWE代替三維不可壓N-S方程作為稠密水體的描述模型來(lái)提高模型的計(jì)算效率。[15]的工作為我們提供這一方案成功的實(shí)例,雖然[15]考慮的水流只是一些小尺度流體,但我們?cè)谇蠼釹WE方面有較多的工作經(jīng)驗(yàn),我們將仔細(xì)分析洪水泛濫、海嘯這些流體的特性,給出適合于這類問(wèn)題的廣義SWE。在提高效率方面,耦合方法應(yīng)該比單純的網(wǎng)格方法有更大的空間。
4 結(jié)束語(yǔ)
隨著計(jì)算流體力學(xué)、計(jì)算機(jī)圖形學(xué)等學(xué)科的不斷發(fā)展與相互交叉,以及計(jì)算機(jī)硬件的迅速發(fā)展,從而使許多更有效的模擬方法的實(shí)現(xiàn)成為可能,采用通過(guò)Euler方法和Lagrange方法的結(jié)合,發(fā)展一些高速、準(zhǔn)確的水流動(dòng)畫模擬方法,可以幫助研究如洪水泛濫、海嘯等復(fù)雜水流運(yùn)動(dòng),從而為水力開發(fā)、國(guó)防建設(shè)、災(zāi)害預(yù)防的實(shí)際問(wèn)題提供服務(wù),同時(shí),也可應(yīng)用于電影特效、視頻游戲等方面,因此,水流動(dòng)畫模擬方法的研究具有很高的實(shí)用價(jià)值。
參考文獻(xiàn):
[1] Jinhui Yu, Xinan Jiang, Haiying Chen , Cheng Yao. Real-time cartoon water animation.Comput. Animat.Virtual Worlds.2007.18(4-5):405-414.
[2] Yongxia Zhou, Xiehua Sun, Xiangyang Lan, Shengyou Lin. Fast smoke simulation of moving object, Comput. Animat.Virtual Worlds.2007.18(4-5):455-461.
[3] Hongbin Zhu, Xuehui Liu, Youquan Liu, Enhua Wu. Simulation of miscible binary mixtures based on lattice Boltzmann method, Comput. Animat.Virtual Worlds.2006.17(3-4):403–410.
[4] R. Bridson, R.Fedkiw, M.Muller-Fischer, Fluid simulation, Siggraph 2006 course notes. In SIGGRAPH'06: ACM SIGGRAPH 2006 Courses, New York, NY, USA,2006, ACM Press, 1–87.
[5] M.Kass, G.Miller, Rapid, stable fluid dynamics for computer graphics. Proceedings of the 17th annual conference on Computer graphics and interactive techniques .1990. 49–57.
[6] N.Foster, D.Metaxs, Realistic animation of liquids, In GI'96: Proceedings of the conference on Graphics interface'96, Toronto, Ont., Canada, 1996, Canadian Information Processing Society.204–212.
[7] J.Stam, Stable fluids. Proceedings of the 26th annual conference on Computer graphics and interactive techniques.1999.121–128.
[8] S.Elcott, Y.Tong, E.Kanso, P.Schroeder, M.Desbrun, Stable,circulation-preserving, simplicial fluids, ACM Trans. Graph. 2007.26(1):4.
[9] N.Foster, R.Fedkiw, Practical animation of liquids, In SIGGRAPH ’01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques,New York, NY, USA, 2001. ACM Press.23–30.
[10] M. Desbrun, M.-P. Cani, Smoothed particles: A new paradigm for animating highly deformable bodies, Comput. Anim. and Sim.'96(Proc. of EG Wrkshp. on Anim. and Sim.), R. Boulic and G. Hegron, Eds. Springer-Verlag.1996. 61–76,
[11] B.Solenthaler, J.Schlafli, R.Pajarola, A unified particle model for fluid solid interactions, Comput. Animat. Virtual Worlds 2007.18(1):69–82.
[12] Y.Zhu, R.Bridson, Animating sand as a fluid. In SIGGRAPH'05: ACM SIGGRAPH 2005 Papers, New York, NY, USA, 2005, ACM Press, 965–972.
[13] E. O?nate, J. Garcia, S. Idelsohn, and F. D. Pin, Finite calculus formulations for finite element analysis of incompressible flows. Eulerian, ALE and Lagrangian approaches, Comput. Meth. Appl. Mech. Eng., 2006.195:3001–3037.
[14] F.Losasso, J. Talton, N. Kwatra, R. Fedkiw, Two-way coupled SPH and particle level set fluid Simulation, IEEE Trans. on Vis. and Comput. Graph.,to appear.2007.6
[15] H. Wang, G. Miller, G.Turk, Solving general shallow wave equations on surfaces, Eurographics/ACM SIGGRAPH Symposium on Computer Animation,2007.