郭琳
摘要:針對流體仿真中邊界粒子穿透現(xiàn)象造成的失真,本文采用一種虛擬邊界粒子的方法來解決這個常見問題。所構(gòu)建的模型對流體和固體統(tǒng)一用粒子來表示。由于網(wǎng)格法在表現(xiàn)流體運動的局限性與計算效率上的不足,因此采用SPH(Smoothed Particle Hydrodynamics)方法對流體、固體粒子的各種屬性進行統(tǒng)一計算。最后通過仿真模擬驗證了該方法的有效性。
關(guān)鍵詞:SPH;流體仿真;液固交互
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)27-0261-04
Fluid-solid Interaction Simulation Based on SPH Method
GUO Lin
(School of Information Engineering,North China University of Water Resources and Electric Power, Zhengzhou 450000, China)
Abstract: Previous algorithms for modeling fluid may cause a penetration distortion at the boundary. In order to solve these problems, this study presented a method using virtual boundary particles.As a result a particle-based single-way coupling algorithm was proposed Based on the uniform particle representation of fluid and solid.Because of the limitations of fluid motion simulation and the lack of computational efficiency in mesh method, Smoothed Particle Hydrodynamics(SPH) method was used to discrete the forces acting on fluid and solid.Experimental results show that the algorithm efficiently handled the coupling simulation.
Key words: smoothed particle hydrodynamics(SPH); fluid modeling;solid-fluid interaction
隨著計算機圖形學(xué)的發(fā)展,人們熱衷于使用程序還原現(xiàn)實世界中的種種自然現(xiàn)象,包括火焰,云,煙霧,水流等沒有具體形狀的物體。通過此類的仿真再結(jié)合虛擬現(xiàn)實技術(shù),再現(xiàn)一個逼真的虛擬世界。而近年來,流體仿真一直是虛擬現(xiàn)實領(lǐng)域研究的重點和難點之一。對流體的仿真主要有兩種方法,一是傳統(tǒng)的基于網(wǎng)格的歐拉方法,二是近年來提出的基于無網(wǎng)格的拉格朗日方法。光滑粒子流體動力學(xué)(SPH)方法作為無網(wǎng)格方法代表之一,它不受網(wǎng)格的約束,流體粒子可以在計算域中自由移動。這樣,SPH的公式模型并不受流體粒子位置分布的影響,完全不需要網(wǎng)格。與傳統(tǒng)網(wǎng)格法相比,網(wǎng)格法需要生成網(wǎng)格,對于大規(guī)模流動的問題時,會造成網(wǎng)格的扭曲,這時就需要對網(wǎng)格進行重構(gòu)來解決。SPH方法對于大規(guī)模,大變形的流動問題能夠很好的模擬。同時,也能處理流體與固體交互問題的仿真。所以,光滑粒子流體動力學(xué)近年來很收學(xué)術(shù)界的關(guān)注。
光滑粒子流體動力學(xué)最初提出是在1977年,由Lucy[1]和Gingold和Monaghan[2]用于解決三維開放空間天體物理學(xué)問題提出的數(shù)學(xué)模型,特別是多變形問題。1992年Libersky[3]等人率先將材料強度效應(yīng)引入SPH方法成功地開展了高速碰撞數(shù)值模擬計算。到1994年,MnaghaJ J[4]第一次用SPH方法模擬自由表面流動,這個研究引起了人們對粒子方法在自由表面應(yīng)用的重視[5-6]。SPH方法的應(yīng)用范圍非常廣泛,由CFD到CSM,由微觀、宏觀到天文尺度,由離散系統(tǒng)到連續(xù)系統(tǒng)。本文使用SPH方法同時模擬流體與固體,仿真出液固交互的效果。
1 SPH基本原理
光滑粒子流體運動學(xué)(SPH)方法是一種基于粒子的無網(wǎng)格的方法,SPH 方法的基本原理是將連續(xù)的流體散化為相互作用的粒子質(zhì)點[14],各個粒子質(zhì)點上承載質(zhì)量、速度、密度等物理量,通過求解質(zhì)點組的動力學(xué)方程和跟蹤每個粒子的運動軌跡,求得整個系統(tǒng)的力學(xué)行為。該方法是一種基于物理的拉格朗日算法,通過一系列粒子質(zhì)點的“核函數(shù)估值”將流體力學(xué)基本方程組轉(zhuǎn)換成數(shù)值計算用的公式[15-18]。其核心是插值,通過對研究粒子一定的光滑長度范圍內(nèi)其他臨近粒子質(zhì)點連續(xù)物理量影響程度的權(quán)函數(shù)插值得到。如圖1所示,所有的粒子都使用統(tǒng)一的光滑核半徑,而且都具有質(zhì)量、密度、速度、加速度、位置等屬性,這些物理量的計算如式(2.1)所示。
2 仿真建模
光滑粒子流體力學(xué)(SPH)方法是一種基于粒子的插值方法,在使用該方法模擬流體時,首先是將流體離散的看作一顆顆粒子。這些假想的流體粒子在仿真開始時給定,所有的粒子都使用統(tǒng)一的光滑核半徑,而且都具有質(zhì)量、密度、速度、加速度、位置等屬性,這些屬性在模擬仿真過程中會不斷地發(fā)生變化。最后再使用移動立方體算法(MC)提取流體的表面,對重建的流體表面進行可視化渲染。
2.1 流體建模
SPH算法的基本設(shè)想,就是將連續(xù)的流體想象成一個個相互作用的微粒,每個微粒都有一個固定的光滑半徑,在這個光滑半徑內(nèi)可以包含其他粒子,粒子的密度屬性就根據(jù)光滑半徑的大小決定。因為粒子們相互交錯,所以他們相互影響各自的屬性,而每一個粒子就相當于一個水分子一樣是有質(zhì)量的,他們是滿足牛頓第二定律的。
2.2 邊界處理
流體的仿真由大量粒子組成,通常在仿真時需要提供一個仿真域來限定流體仿真的邊界。SPH方法的一個重要難題就是其在流體域邊界時會產(chǎn)生粒子密度不均勻的情況,造成仿真的不穩(wěn)定。同時,在液固交互模型中,固體的邊界往往是不規(guī)則的形狀,用簡單的預(yù)測修正方法就不能快速地對流體邊界粒子的位置進行定位。前面提到的這種方法還有個缺點就是,當時間步長偏大時會造成流體粒子穿透容器邊界的失真,而采用較小的時間步長又會帶來過大的時間開銷。
本文采用虛擬粒子法來處理邊界問題。該方法的核心思想是將固體邊界和流體看作是統(tǒng)一的粒子模型。這樣,處理流體粒子邊界交互的問題,就轉(zhuǎn)化為處理相同粒子間的受力問題,我們只需要將固體邊界粒子也納入SPH模型公式計算,就可以得到均勻的流體粒子密度。虛擬邊界粒子法首先要做的是,需要對固體邊界進行粒子采樣,粒子的密度要和流體粒子的密度保持一致。需要注意的是,固體邊界粒子雖然也加入SPH公式進行流體粒子屬性的計算,但是還是要區(qū)分固體粒子和流體粒子,因為固體粒子的位置是固定不變的。在每一次迭代計算結(jié)束后,要將固體粒子的速度置為0,以確保固體不會隨水沖走。如圖3-2所示,是固體粒子和流體粒子統(tǒng)一進行核函數(shù)計算的示意圖。因為核函數(shù)的半徑大小往往能包納2-3層粒子,所以我們在進行固體邊界粒子采樣的時候,可以適當?shù)囟嗖蓸訋讓恿W?,使得流體粒子邊界處的屬性計算更加穩(wěn)定。
2.3 仿真步驟
本文所述算法具體過程描述如下:
1) 初始化空間網(wǎng)格,對固體容器邊界進行粒子采樣,初始化流體粒子
2) 根據(jù)網(wǎng)格建立流體粒子的臨接表
3) 計算流體粒子的屬性,密度,壓力和粘滯力
4) 計算粒子合力,計算加速度,并確定下一個時間步長粒子位置
5) 提取流體表面,進行可視化渲染
6) 重復(fù)步驟(2-5)
3 實驗結(jié)果
本文的實驗環(huán)境為:Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz,8GB內(nèi)存,NVIDIA GeForce 610M 顯卡。使用的開發(fā)工具為Visual Studio 2013,使用的渲染工具為Blender 2.79。
實驗中,我們開發(fā)程序?qū)崿F(xiàn)SPH算法,計算出每個時間間隔粒子的位置,輸出保存為文件。然后將幀的流體粒子數(shù)據(jù)導(dǎo)入到渲染軟件Blender中,調(diào)整好渲染參數(shù),進行可視化渲染。其中每個粒子大小為0.004mm,光滑核半徑為0.02mm,粒子質(zhì)量0.0004g。由于計算資源的限制,我們仿真了5000顆粒子的流體效果,實現(xiàn)了潰壩模擬和往池子注水兩種較真實的水流效果。
3.1 潰壩模擬
4 總結(jié)
借助SPH方法,本文仿真了流體潰壩模擬和向水池中注水兩種常見的流體現(xiàn)象。通過虛擬邊界粒子法來處理流體仿真時流體與固體邊界交互時的邊界處理問題,采用了一種將邊界進行粒子采樣,通過將邊界粒子納入流體粒子來計算流體粒子的各種屬性值,來解決一般邊界處理方法中導(dǎo)致粒子穿透等失真現(xiàn)象的不足。最后使用Blender進行可視化渲染,從而得到較真實的仿真效果。
參考文獻:
[1] Lucy L B.Lucy,L.B.:Numerical approach to testing of fission hypothesis.Astron.J.82(12),1013-1024[J]. Astronomical Journal,1977,82:1013-1024.
[2] Gingold R A, Monaghan J J. Smoothed particle hydrodynamics: theory and application to non-spherical stars[J]. Monthly Notices of the Royal Astronomical Society, 1977, 181(3):375-389.
[3] Libersky L D, Petschek A G. Smooth particle hydrodynamics with strength of materials[M]// Advances in the Free-Lagrange Method Including Contributions on Adaptive Gridding and the Smooth Particle Hydrodynamics Method. Springer Berlin Heidelberg, 1991:248-257.
[4] Monaghan J J.Simulation free surface flows with SPH[J].Journal of Computational Physics,1994,110:399-406
[5] Idelsohn S R, Storti M A, O?ate E. Lagrangian formulations to solve free surface incompressible inviscid fluid flows[J]. Computer Methods in Applied Mechanics & Engineering, 2001, 191(6-7):583-593.
[6] Koshizuka S, Oka Y. Moving-Particle Semi-Implicit Method for Fragmentation of Incompressible Fluid[J].Nuclear Science & Engineering,1996,123(3):421-434.
[7] 李婷,季民,靳奉祥,等.基于光滑粒子流體動力學(xué)算法的海浪建模仿真研究[J].地球信息科學(xué)學(xué)報,2017,19(2):161-166.
[8] 袁志勇,郭甲翔,楊成,等.基于粒子的流體和可形變固體雙向耦合[J].系統(tǒng)仿真學(xué)報,2013,25(10):67-71.
[通聯(lián)編輯:梁書]