用有限體積方法求解尤拉方程

2022-06-03 23:36:02 字數 3133 閱讀 2759

有限體積法求解二維可壓縮euler方程

——計算流體力學課程大作業

老師: 夏健、劉學強

學生: 徐錫虎

學號: sq0901*******

日期: 2023年2月5日

目錄一、內容摘要2)

二、流動控制方程2)

三、有限體積法的空間離散2)

四、人工耗散3)

五、時間離散4)

六、邊界條件5)

七、計算結果8)

八、結論與展望11)

參考文獻11)

一、內容摘要

本文通過運用jameson有限體積法求解了二維定常和非定常可壓縮euler方程。程式實現語言為c++。其中,使用的網格是三角形非結構網格。

在時間推進上使用的是四步龍—庫塔推進格式。推進的時間步長取的是當地的時間步長。為了消除迭代誤差、round-off等誤差,本文採用了新增人工耗散項的辦法。

另外,本文計算了naca0012翼型在跨音速下不同迎角的情況,並與fluent軟體的計算結果進行了比較,來驗證程式的準確性。

二、流動控制方程

守恆形式的euler方程:

1)其中x和y代表笛卡兒座標系。w是守恆變數。

2)f,g表示通量

3),p , h和e表示密度,壓強,單元總焓和單元總能量。u,v表示笛卡兒座標系下的速度向量。這些量由理想氣體的單位體積的總能量和總焓相互聯絡。

4)5)

三、有限體積法的空間離散

計算域被劃分為互不重疊的單元。在每個單元運用守恆形式的euler方程。由於每個單元相對於時間都是不變的,所以等式(1)可以寫成:

8) 其中和s是單元的體積和邊界。w是單元的平均值。

在對上述方程進行時間離散前,先對空間進行離散,則方程(6)可以寫為:

9)其中表示第k個單元的體積,是第k個單元的守恆變數。表示第k個單元的通量。方程(7)的右邊項可以寫成:

10)其中11)

(8)式中的求和是對第k個單元的所有邊進行的。守恆引數的量是單元中心值,在求通量時,第i條邊的守恆引數值是用左右單元的平均來表示的:

12)引入變數:

13)則第k單元的euler方程可以寫為:

14)在本文中,採用的是jamenson有限體積法,為了減少儲存的相關資訊的量,其儲存的方式選擇的是按邊儲存的方法。在儲存的每條邊的資訊中,包含了這條邊的邊號,左右單元號和邊的端點。在計算通量時採用按邊迴圈的方式:

do i=1,nedge

k=connmatrix(i,1)

a=connmatrix(i,2)

b=connmatrix(i,3)

p=connmatrix(i,4)

flux=function(k,a,b,p)

sum(k)=sum(k)+flux

sum(p)=sum(p)-flux

end do

這裡給出的是fotran語言的形式,我編寫採用的是c,具體表現在上交的程式中。

在計算時間步長、人工耗散項等也可用象這樣按邊迴圈,從此處我們可以看出求解時與單元的形狀無關。

四、人工耗散

人工粘性模型對方法的成功應用起著關鍵作用,人工粘性抑制解在激波附近的振盪,又阻尼解在光滑區域內的高階誤差,對解的線性穩定和收斂於定態是很重要的。本文在方程(14)的右端加入了人工耗散項,如對於單元k,其表示式可以表示為:

15)在有限體積法中,耗散項的公式可以表示為:

16)其中:

17)其中的i表示單元k和p的公共邊,定義為:

18)上面的j表示與k相鄰的單元。

19)20)

其中的量的範圍是:。

在計算時發現上面方法得到的人工耗散項並不太適合。其在光滑區域耗散項太大,而在大剃度區域又顯得太小,為了彌補上面的不足,作下面的修改:

21)自適應係數為:

22)尺度係數為:

23)其中的u,v表示邊上的值,c表示當地聲速。

五、時間離散

方程最後的穩定解是通過時間上的迭代得到的,可以寫為:

24)右邊項的表示式為:

25)為了加速收斂,時間迭代使用的是4步龍—庫塔推進格式。格式如下:

26) 其中的n表示的是當前的時間步,n+1表示的是新的時間步:

27)28)

為了減小計算時間,人工耗散項的計算只在第一步進行,在下面幾步的迭代中保持不變。運用上面的方法計算,可以發現cfl數可以取到,本文中使用的是2.0。

使用顯示格式迭代的主要缺點是由於穩定區域的限制,所以不能使用過大的時間步長。可以用近似的方法估算時間步長,對於任意形狀的網格,可以使用下面的方法:

29)六、邊界條件

1 固面邊界條件

對與無粘流動,固面邊界條件無穿透條件,設其法向的速度通量為零,即。由於壓強項的影響,x-向和y-向的動量通量並不為零。固面的壓強近似的取為其相鄰的單元的單元中心壓強。

廣泛的數值研究證明,如果貼近壁面的單元足夠小,並且人工耗散項運用正確,用這種方法取得的壓強對結果的精度不會產生太大的影響。

2 遠場邊界條件

本文提到的遠場,實際是人為的有界邊界,對於流場中的擾動會傳到很遠的地方。因而對於遠場邊界條件,情況比較複雜,它不能直接給定具體的流場值,需要與流場內的值來共同確定遠邊場的流場值。如果邊界取得過小,則通常採用環量修正。

一般情況下,我們採用無反射邊界條件。

為了保證擾動波不會反射回流場,應用提出的遠場邊界法向一維特徵分析方法,來建立無反射的遠場邊界條件。

一維均熵流動的euler方程可寫成:

30)31)

這裡,動量方程中除去了壓強項,將上式寫成矩陣形式為:

32)這裡:

33)的特徵值為:,

因此,上式的兩族特徵線為:

34)35)

(34)為特徵線,(35)為特徵線。

沿,給出了眾所周知的riemann不變數,:

36)37)

這裡不變數,沿入流特徵線是常數,可以用來流條件計算得到;沿出流特徵線是常數,可以用流場內部向外插值計算:

38)39)

上式中下標「」表示來流值,下標「」表示以計算域內部引數外插獲得的值。

通過riemann不變數,的加減,可獲得遠場的法向速度和音速:

40)41)

根據riemann不變數,按邊界附近資訊傳播的性質把遠場邊界條件分成以下四種情況:

a、 亞音速入流條件,它有三條入流特徵線,需規定三個條件:

42)43)

用向量方法求空間角和距離

在高考的立體幾何試題中,求角與距離是常考查的問題,其傳統的 三步曲 解法 作圖 證明 解三角形 作輔助線多 技巧性強,是教學和學習的難點 向量進入高中教材,為立體幾何增添了活力,新思想 新方法與時俱進,本專題將運用向量方法簡捷地解決這些問題 1 求空間角問題 空間的角主要有 異面直線所成的角 直線和...

求函式值域的幾種方法用

常用函式的值域,這是求其他複雜函式值域的基礎。1.函式的值域為r 2.二次函式當時值域是 當時值域是 3.反比例函式的值域為 4.指數函式的值域為 5.對數函式的值域為r 6.函式的值域為 1,1 函式,的值域為r 一觀察法 觀察法是最簡單的求函式值域的方法,此法適用於那些形式比較簡單的函式 例1求...

3 2 2用向量方法求空間中的角

第三章空間向量 3.2.2用向量方法求空間中的角 科目高二數學班級姓名時間 2015 1 16 一 學習目標 1.理解掌握利用向量方法解決線線角 線面角 二面角的求法 二 學習過程 一 問題 問題1 如何用向量方法求兩異面直線所成的角?求法 設兩異面直線所成角為 它們的方向向量為a,b,則cos 問...