氣體和液體的流體模擬有哪些異同?

我想把氣體模擬應用到地形侵蝕上面,剛剛接觸流體模擬不久,雖然看了GraphiCon感覺有了大致的理解,但對於氣體和液體的流體模擬的異同還是不太清楚。似乎多相流體模擬可以同時實現固液的流體模擬,但具體的實現方式也不是很明確,能否簡單介紹一下各自有哪些應用廣泛的適用於圖形學的演算法。


這個要看液體是按照單相還是多相模擬,

圖形學裡一般都是單相模擬,比如液體模擬的話就假設液體在真空中,只模擬液體物質部分,邊界條件設置一個法向無拖曳就可以了。物質advection只做液體部分。然後如評論區中提到的,要做表面追蹤,一般用網格的話就是Level Set或者用粒子的話就是Marker Particles,或者是顯式追蹤表面多邊形網格。由於計算資源有限,圖形學裡面用的模擬Grid通常比較粗糙,造成level set有數值diffusion的存在,表面細節缺失,再加上Level Set對美工不夠直觀,圖形學工業界一般還是用Particle的多。

對於氣體要簡單很多,就是整個區域都模擬,邊界是在區域的包圍盒上。然後最終出結果的時候一般直接把粒子splat到volume裡面,然後做體渲染。不需要追蹤介面之類的。不過由於氣體密度對溫度比較敏感,很多現象比如熱空氣上升之類通常是要模擬溫度場的。

直接整個區域模擬多相的話當然可以實現氣體-液體的混合模擬。不過因為要同時處理可壓和不可壓,然後如前面所說,在有限資源和時間情況下追蹤高質量的液體和空氣介面比較麻煩,所以最近幾年圖形學裡才開始有。可以參考Ron Fedkiw那篇A Hybrid Lagrangian-Eulerian Formulation for Bubble Generation and Dynamics,

以及Ryoichi Ando那個A Stream Function Solver for Liquid Simulations

題主提到的地形侵蝕感覺是另一個問題。圖形學最近的趨勢是把流體、固體之類都放到一個框架去解,嗯我說的就是MPM。所以題主說的那個問題在圖形學裡可以參考蔣老師那篇Augmented MPM for Phase-Change and Varied Materials及其後續做水和沙子的文章。

當然了,土力學裡面用MPM的已經有好幾篇了,比如Bandara和Soga的Coupling of Soil Deformation and pore fluid flow using material point method及其相關文章嗯。他們用的那個Mixture Theory好像對於題主那個問題很合適的樣子。這套理論向上可以追溯到愛因斯坦的博士答辯論文Eine neue Bestimmung der Moleküldimensionen(《一種新的分子大小測定法》,網上有英譯本,大概是講如何用混合液體的粘性變化測量阿伏伽德羅常數),以及Darcy、Terzaghi,Biot等一票水力學和土力學大佬的理論。


剛好做汽液兩項流數模擬,用flunet中的VOF模型做的,其實VOF方法求解的還是單一介質的控制方程,只不過多加一個VOF方程,來區分不同介質。其中氣體可壓縮時還要求解個能量方程。氣體不可壓時情況就簡單很多。


推薦閱讀:

一般在graphics research中是怎麼做unit test的?
遊戲中的GUI相比一般應用中的GUI在技術上有哪些差別?
Vulkan API什麼時候發布?
截圖顯示效果與顯卡類型、性能有無關係?

TAG:空氣動力學 | 流體力學 | 計算流體力學CFD | 計算機圖形學 | 計算機圖形學和可視化 |