什麼是邊界條件?有限體積法的邊界條件離散

written equations on brown wooden board

在《有限體積法離散原理:傳輸方程式》這篇文章中以傳輸方程式為例來介紹如何用有限體積法離散方程式,而在CFD求解過程中,除了方程式以外,邊界條件也是個必要條件。因此,就來與各位聊聊邊界條件以及在有限體積法的離散過程中如何處理邊界條件。

邊界條件介紹

邊界條件為偏微分方程在求解區域邊界上需要滿足的特定條件,單看這句話可能不好理解,我們實際來看看例子。以圖1的懸臂樑來講,在某端固定的情況下給定某端受力的話,就能求出樑的變形與內部應力,這裡說的某端固定與某端受力其實就是求解時給定的邊界條件。

懸臂樑的邊界條件示意
圖1 懸臂樑的邊界條件示意

所以從物理直覺上來看,沒有給受力條件與固定條件的話,礙於資訊不足,就無法得知樑的變形與應力情況。對於求解邊值問題而言,邊界條件是不可或缺的條件,而邊界條件主要可分為Dirichlet type與Neumann type兩種,底下來一一介紹。

Dirichlet Type

Dirichlet type邊界條件又稱為第一類邊界條件,此類邊界條件在邊界上給出待求解變數的值。假設現在有根水管,入口流速1m/s,出口對應1大氣壓,沒有施加任何靜壓。在入口上的流速1m/s與出口的靜壓0Pa皆為邊界條件並屬於Dirichlet type。

為什麼上述邊界條件屬於Dirichlet type呢?

我們想要知道水管內部的速度與壓力分佈,因此速度與壓力都是待求解變數。而Dirichlet type的邊界條件定義為邊界上給出待求解變數值。以這個水管問題而言,待求解變數的速度值與壓力值在入口與出口都是已知的,故屬於Dirichlet type。

Neumann Type

Neumann type邊界條件又稱為第二類邊界條件,此類邊界條件在邊界上給出待求解變數的變化率(微分值)。假設現在有個水壺,水壺裡面裝了常溫水,底部以每平方米45瓦的熱通量(heat flux)來加熱。此時底部熱通量屬於Neumann type邊界條件。由於熱通量這個變數本身的定義為溫度梯度,即為溫度的變化率,故此邊界條件屬於Neumann type。

邊界條件離散

大致了解Dirichlet type與Neumann type這兩種邊界條件的概念後,我們來看看如何處理邊界條件離散。Dicichlet type的邊界條件在邊界上給定待求解變數的值,在數學上可表示成式1,其中\phi_{b,specified}為待求解變數的邊界值。

\phi_b=\phi_{b,specified} -(1)

考慮一個具有區域邊界的控制體積,如圖2,該控制體積的邊界通量J^{\phi}_{b}可用\phi_{b}的式子來表示,如式(2),其中\rho為密度,v為速度,\textbf{S}_b 為邊界法向量。

J^{\phi}_{b}\cdot \textbf{S}_b =(\rho v \phi)_{b} \cdot \textbf{S}_b -(2)

控制體積上的Dirichlet邊界條件
圖2 控制體積上的Dirichlet邊界條件

在《有限體積法離散原理:傳輸方程式》這篇文章中提到控制體積的面通量總和可以由中心控制體積變數、周遭控制體積變數以及非線性項來表示,如式(3)所示,其中FluxCf與FluxFf分別為元素C與周遭元素線性化後的係數項,FluxVf為非線性化項。

\textbf{J}_f \cdot \textbf{S}_f = FluxC_f \ \phi_C + FluxF_f \ \phi_F + FluxVf- (3)

而控制體積上的邊界條件也能用此通式表示,如式(4) – (5)所示。比較要注意的是邊界本身並沒有周遭元素,故式(4) – (5)中的FluxFf直接省略。

J^{\phi}_{b}\cdot \textbf{S}_b =(\rho v \phi)_{b} \cdot \textbf{S}_b = FluxC_b \phi_C+FluxV_b- (4)

FluxC_b = 0, \space \space \space FluxV_b =  \dot{m}_f \phi_{b,specified} -(5)

而Neumann type邊界條件在邊界上給出待求解變數的變化率,以數學式來表示的話,可表示成式(6),其中q_{b,specified}為單位面積通量。

J^\phi_b \cdot \textbf{S}_b=J^\phi_b \cdot \textbf{n}_b \space S_b = q_{b,specified}S_b - (6)

而上述式子同樣能由式(3)通式來表示,其係數項表示如式(7)。

FluxC_b = 0, \space \space \space FluxV_b =  q_{b,specified} -(7)

主廚結語

此次與各位介紹邊界條件的Dirichlet type與Neumann type並說明在有限體積法的離散過程中如何表示這兩種邊界條件,如果是對CFD領域有了解的讀者,可能還會聽過第三類邊界條件Robin type,而Robin type其實就是Dirichlet type與Neumann type的混合型,有興趣的讀者不妨自行研究喔!

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。