SPH算法簡介(二): 粒子受力分析

SPH算法簡介(二): 粒子受力分析

2011年03月31日 |本網站遵守CC版權協議 轉載請註明出自www.thecodeway.com


    SPH算法的基本設想,就是將連續的流體想象成一個個相互作用的微粒,這些例子相互影響,共同形成了複雜的流體運動,對於每個單獨的流體微粒,依舊遵循最基本的牛頓第二定律

(2.1)

    這是我們分析的基礎,在SPH算法裏,流體的質量是由流體單元的密度決定的,所以一般用密度代替質量

(2.2)

    這裏的的作用力F的量綱發生變化,dim F=MT-2L-2,後面的分析都是用這個量綱的“作用力”,這一點一定要注意。作用在一個微粒上的作用力由三部分組成

(2.3)

    其中FExternal稱爲外部力,一般就是重力,所以

(2.4)

    FPressure是由流體內部的壓力差產生的作用力,試想一下在水管中流動的液體,進水口區域的壓力一定會比出水口區域大,所以液體纔會源源不斷的流動,數值上,它等於壓力場的梯度,方向由壓力高的區域指向壓力低的區域。

(2.5)

    FViscosity是由粒子之間的速度差引起的,設想在流動的液體內部,快速流動的部分會施加類似於剪切力的作用力到速度慢的部分,這個力的大小跟流體的粘度係數μ以及速度差有關

(2.6)

    帶入公式2.2,可以得到

(2.7)

    加速度形式:

(2.8)

    如果你學習過流體力學,一定會發現上面這個公式就是Navier-Stokes方程的一個簡單形式,但N-S方程有更嚴格的形式和推導過程,感興趣的朋友可以從流體力學相關的書中找到,這裏有一篇比較比較淺顯的文檔可以參考,經過聯繫作者flysea,拿到這篇文檔的原始文件放在這裏,再次感謝flysea的幫助。
    實際運算過程中,有時還要考慮表面張力的影響,所謂表面張力大家應該並不陌生,肥皂泡、毛細管等有趣的物理現象都跟表面張力有關,這個力可以簡單理解爲流體試圖減小表面而產生的力。

表面張力是由於界面層流體分子受力不均衡產生的


    由於表面張力只涉及到表層的粒子,所以計算方法和上面的有所不同,這部分會在以後的章節介紹。
    經過上面的分析,我們基本上搞清楚了SPH粒子的運動計算方法,下節我們將正式開始介紹SPH算法的關鍵部分,如何通過光滑核函數計算粒子運動規律。
轉載自:http://www.thecodeway.com/blog/?p=1610
發佈了95 篇原創文章 · 獲贊 34 · 訪問量 59萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章