FVM in CFD 學習筆記_第15章_流動計算:不可壓縮流動_3_邊界條件

學習自F. Moukalled, L. Mangani, M. Darwish所著The Finite Volume Method in Computational Fluid Dynamics - An Advanced Introduction with OpenFOAM and Matlab
Chapter 15 Fluid Flow Computation: Incompressible Flowshtml

前面幾章講解的關於變量 ϕ \phi 的通常輸運方程的離散和求解流程,均是創建在事先已知速度場的前提下。可是通常狀況下,速度場是未知的,且須要經過求解Navier-Stokes方程組來獲取。對於不可壓縮流動而言,該項工做尤其複雜,由於壓力和速度是強烈耦合在一塊兒的,並且壓力並不以主變量的形式出如今動量或是連續方程中。本章的重點在於展現解決上述兩個問題的方法,以及不可壓縮流動問題的流場計算方法。先講解一維交錯網格,而後是一維同位網格,最後是同位三維非結構網格。除了闡明SIMPLE、SIMPLEC、PRIME和PISO算法的前因後果,還清晰闡明瞭Rhie-Chow插值方法,以及將其擴展到瞬態、鬆弛和體積力項的方法。最後,展示了一些常見邊界條件的添加細節。web

因爲本章內容繁雜,篇幅較長,故分紅了四部分來說解,各部分主要內容分別爲:交錯網格、同位網格、邊界條件、SIMPLE家族算法。算法

這裏是第三部分,主要講解在同位網格SIMPLE算法中,在組裝動量方程和壓力修正方程時,不一樣類型的邊界條件是如何考慮和添加(處理)的。app

6 邊界條件

在這裏插入圖片描述

如上圖,邊界單元是那些至少有一個面位於邊界片上的單元,這種面被稱爲邊界面。邊界面處邊界條件的處理,對於CFD代碼的精確性和健壯性來講十分重要。爲了讓壓力基求解代碼(pressure-based code,即SIMPLE算法類,用壓力基求解器來求解不可壓縮流動)成功實現,動量方程和壓力修正方程二者邊界條件的正確添加是不可或缺的環節。這一章節就詳細探討下不一樣類型邊界條件的添加方法。(邊界條件也稱爲「定解條件」,不添加邊界條件的方程是無解的,或者說是有無窮多解的,邊界條件添加錯誤的話,方程將得出錯誤的不符合物理意義的解,或者壓根就得不到解)svg

首先,來關注下在邊界面處的Rhie-Chow插值表達式,由於邊界面處沒法像內部面那樣子來作平均,因此邊界面處的平均將直接寫成單元值的形式,即
b = C \overline{\square}_b=\square_C
其中 b b 表明邊界面形心, C C 表明單元形心。基於此作法,Rhie-Chow插值中的平均值、速度、質量流量在邊界面上變爲了下述形式
v b = v C p b ( n ) = p C ( n ) D b v = D C v v b b o u n d a r y   f a c e = v b D b v ( p b ( n ) p b ( n ) ) s t a n d a r d   R h i e C h o w = v C D C v ( p b ( n ) p C ( n ) ) b o u n d a r y   R h i e C h o w m ˙ b = ρ b v b S b = ρ b [ v C D C v ( p b ( n ) p C ( n ) ) ] S b \begin{aligned} \overline{\bold v_b^*}&=\bold v_C^* \\ \overline{\nabla p_b^{(n)}}&=\nabla p_C^{(n)} \\ \overline{\bold D_b^{\bold v}}&=\bold D_C^{\bold v} \\ \underbrace{\bold v_b^*}_{boundary~face} &= \underbrace{\overline{\bold v_b^*} - \overline{\bold D_b^{\bold v}}\left( \nabla p_b^{(n)}-\overline{\nabla p_b^{(n)}} \right)}_{standard~Rhie-Chow} \\ &= \underbrace{\bold v_C^*-\bold D_C^{\bold v}\left( \nabla p_b^{(n)}-\nabla p_C^{(n)} \right)}_ {boundary~Rhie-Chow} \\ \dot m_b^* &=\rho_b\bold v_b^*\cdot \bold S_b \\ &= \rho_b \left[ \bold v_C^*-\bold D_C^{\bold v}\left( \nabla p_b^{(n)}-\nabla p_C^{(n)} \right) \right] \cdot \bold S_b \end{aligned} 學習

接下來先講解動量方程邊界條件的添加方法,而後是壓力修正方程邊界條件的添加方法。對於動量方程和壓力修正方程二者邊界條件相互關聯的情形,它們的處理方法將在壓力修正方程的章節詳解。ui

6.1 動量方程邊界條件

動量方程的半離散形式爲
( ρ v ) C ( ρ v ) C Δ t V C e l e m e n t   d i s c r e t i z a t i o n + f n b ( C ) ( m ˙ f v f ) f a c e   d i s c r e t i z a t i o n = f n b ( C ) ( p f S f ) f a c e   d i s c r e t i z a t i o n + f n b ( C ) ( τ f S f ) f a c e   d i s c r e t i z a t i o n + B e l e m e n t d i s c r e t i z a t i o n \underbrace{\frac{(\rho\bold v)_C-(\rho\bold v)_C^\circ}{\Delta t}V_C}_{element~discretization} + \underbrace{\sum_{f\sim nb(C)}\left(\dot m_f \bold v_f\right)}_{face~discretization}= -\underbrace{\sum_{f\sim nb(C)}\left(p_f\bold S_f\right)}_{face~discretization} +\underbrace{\sum_{f\sim nb(C)}\left(\tau_f\cdot\bold S_f\right)}_{face~discretization} +\underbrace{\bold B}_{\footnotesize{\begin{matrix}element\\discretization\end{matrix}}}
其中把不一樣項的離散類型皆清晰標出。在單元面處評估的項應該沿着邊界面加以修改,以便與所用邊界條件的類型相符合。所以,對於邊界單元,在單元面處評估的項將寫成下述形式
f n b ( C ) ( m ˙ f v f ) f a c e   d i s c r e t i z a t i o n = f i n t e r i o r   n b ( C ) ( m ˙ f v f ) + m ˙ b v b b o u n d a r y   f a c e f n b ( C ) ( τ f S f ) f a c e   d i s c r e t i z a t i o n = f i n t e r i o r   n b ( C ) ( τ f S f ) + τ b S b b o u n d a r y   f a c e = f i n t e r i o r   n b ( C ) ( τ f S f ) + F b b o u n d a r y   f a c e f n b ( C ) ( p f S f ) f a c e   d i s c r e t i z a t i o n = f i n t e r i o r   n b ( C ) ( p f S f ) + p b S b b o u n d a r y   f a c e \begin{aligned} \underbrace{\sum_{f\sim nb(C)}\left(\dot m_f \bold v_f\right)}_{face~discretization}&= \sum_{f\sim interior~nb(C)}\left(\dot m_f \bold v_f\right)+\underbrace{\dot m_b \bold v_b}_{boundary~face} \\ \underbrace{\sum_{f\sim nb(C)}\left(\tau_f\cdot\bold S_f\right)}_{face~discretization}&= \sum_{f\sim interior~nb(C)}\left(\tau_f\cdot\bold S_f\right)+\underbrace{\tau_b\cdot\bold S_b}_{boundary~face} \\ &= \sum_{f\sim interior~nb(C)}\left(\tau_f\cdot\bold S_f\right)+\underbrace{\bold F_b}_{boundary~face} \\ \underbrace{\sum_{f\sim nb(C)}\left(p_f\bold S_f\right)}_{face~discretization} &= \sum_{f\sim interior~nb(C)}\left(p_f\bold S_f\right)+\underbrace{p_b\bold S_b}_{boundary~face} \end{aligned}
其中的下標 b b 表明邊界值。如前所述(本章5.1節),壓力項的離散可經過單元離散或面離散來實現。不論採用哪一種離散手段,其展開形式都是相同的,由於 V C ( p ) C V_C(\nabla p)_C 是用 f n b ( C ) ρ f S f \displaystyle\sum_{f\sim nb(C)}\rho_f\bold S_f 來計算的,這意味着邊界值老是須要的。爲了代表邊界壓力對解的影響方式,壓力梯度的展開形式(即,面離散)將應用於邊界條件的添加中。spa

6.1.1 壁面邊界條件

通常來講,無滑移或滑移邊界條件能夠用於移動或固定壁面。添加過程包括計算和線性化壁面處的剪切應力,這與Dirichlet條件是不一樣的,儘管對於笛卡爾網格兩種條件在外部表現上是相同的。3d

無滑移壁面邊界 p b = ? ;   m ˙ b = 0 ;   v b = v w a l l p_b=?;~\dot m_b=0;~\bold v_b=\bold v_{wall} code

無滑移邊界條件意味着壁面處的流體速度 v b \bold v_b 與壁面的速度 v w a l l \bold v_{wall} 是相等的,對於靜止壁面,邊界速度爲零。在壁面處已知速度 常被錯認爲是 Dirichlet邊界條件,然而這是不對的,由於壁面已知速度的狀況須要添加零法向邊界通量(即 m ˙ b v b = 0 \dot m_b \bold v_b=0 ),還要同時考慮剪切應力,這些是沒法經過簡單地設置 v b = v w a l l \bold v_b=\bold v_{wall} 來知足的。
在這裏插入圖片描述

上圖代表可經過確保剪切應力與壁面相切,以及邊界速度方程與壁面速度相等,來知足這些條件。由壁面施加到流體上的力 F b \bold F_b 可寫爲
F b = F + F \bold F_b = \bold F_{\perp}+\bold F_{\parallel}
其中 F \bold F_{\parallel} 是壁面切向,而 F \bold F_{\perp} 爲法向,其應該是零(前面說了,剪切應力應和壁面相切),即
F b = F = τ w a l l S b \bold F_b=\bold F_{\parallel}=\tau_{wall}S_b
其中 τ w a l l \tau_{wall} 爲壁面施加在流體上的剪切應力
τ w a l l = μ v d \tau_{wall}=-\mu\frac{\partial \bold v_{\parallel}}{\partial d_{\perp}}
其中 v \bold v_{\parallel} 爲平行於壁面的速度矢量,而 d d_{\perp} 爲從邊界單元形心到壁面的垂直距離,即
n = S b S b = n x i + n y j + n z k d = d C b n = d C b S b S b \begin{aligned} \bold n &= \frac{\bold S_b}{S_b}=n_x\bold i+ n_y \bold j + n_z \bold k \\ d_{\perp} &= \bold d_{Cb}\cdot n=\frac{\bold d_{Cb}\cdot\bold S_b}{S_b} \end{aligned}
其中 n \bold n 爲壁面法向單位矢量。切向速度矢量 v \bold v_{\parallel} 可寫爲 v \bold v 和其法向份量的差值形式
v = v ( v n ) n = { u ( u n x + v n y + w n z ) n x v ( u n x + v n y + w n z ) n y w ( u n x + v n y + w n z ) n z } \bold v_{\parallel}=\bold v-(\bold v\cdot \bold n)\bold n=\left\{ \begin{matrix} u-(un_x+vn_y+wn_z)n_x \\ v-(un_x+vn_y+wn_z)n_y \\ w-(un_x+vn_y+wn_z)n_z \end{matrix} \right\}
因而,壁面剪切應力可近似爲
τ w a l l μ b ( v C v b ) d = μ b ( v C v b ) [ ( v C v b ) n ] n d = μ b d { ( u C u b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n x ( v C v b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n y ( w C w b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n z } \begin{aligned} \tau_{wall} &\approx -\mu_b\frac{(\bold v_C-\bold v_b)_{\parallel}}{d_{\perp}}= -\mu_b\frac{(\bold v_C-\bold v_b)-[(\bold v_C-\bold v_b)\cdot\bold n]\bold n}{d_{\perp}} \\ &=-\frac{\mu_b}{d_{\perp}}\left\{ \begin{matrix} (u_C-u_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_x \\ (v_C-v_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_y \\ (w_C-w_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_z \end{matrix} \right\} \end{aligned}
從中可得到層流流動的邊界力爲
F b = = μ b S b d { ( u C u b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n x ( v C v b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n y ( w C w b ) [ ( u C u b ) n x + ( v C v b ) n y + ( w C w b ) n z ] n z } \bold F_b==-\frac{\mu_bS_b}{d_{\perp}}\left\{ \begin{matrix} (u_C-u_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_x \\ (v_C-v_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_y \\ (w_C-w_b)-[(u_C-u_b)n_x+(v_C-v_b)n_y+(w_C-w_b)n_z]n_z \end{matrix} \right\}
使用上式,在 x x y y z z 方向的動量方程的邊界單元係數修改成下述形式:

u u 份量方程
a C u a C u i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d ( 1 n x 2 ) b o u n d a r y   f a c e   c o n t r i b u t i o n 0 a F = b u b C u b C u i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d [ u b ( 1 n x 2 ) + ( v C v b ) n y n x + ( w C w b ) n z n x ] p b S b x b o u n d a r y   f a c e   c o n t r i b u t i o n \begin{aligned} a_C^u &\leftarrow \underbrace{a_C^u}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}(1-n_x^2)}_{boundary~face~contribution} \\ 0 &\leftarrow a_{F=b}^{u} \\ b_C^u &\leftarrow \underbrace{b_C^u}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}[u_b(1-n_x^2)+(v_C-v_b)n_yn_x+(w_C-w_b)n_zn_x]-p_bS_b^x}_{boundary~face~contribution} \end{aligned}
v v 份量方程
a C v a C v i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d ( 1 n y 2 ) b o u n d a r y   f a c e   c o n t r i b u t i o n 0 a F = b v b C v b C v i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d [ ( u C u b ) n x n y + v b ( 1 n y 2 ) + ( w C w b ) n z n y ] p b S b y b o u n d a r y   f a c e   c o n t r i b u t i o n \begin{aligned} a_C^v &\leftarrow \underbrace{a_C^v}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}(1-n_y^2)}_{boundary~face~contribution} \\ 0 &\leftarrow a_{F=b}^{v} \\ b_C^v &\leftarrow \underbrace{b_C^v}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}[(u_C-u_b)n_xn_y+v_b(1-n_y^2)+(w_C-w_b)n_zn_y]-p_bS_b^y}_{boundary~face~contribution} \end{aligned}
w w 份量方程
a C w a C w i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d ( 1 n z 2 ) b o u n d a r y   f a c e   c o n t r i b u t i o n 0 a F = b w b C w b C w i n t e r i o r   f a c e s   c o n t r i b u t i o n + μ b S b d [ ( u C u b ) n x n z + ( v C v b ) n y n z + w b ( 1 n z 2 ) ] p b S b z b o u n d a r y   f a c e   c o n t r i b u t i o n \begin{aligned} a_C^w &\leftarrow \underbrace{a_C^w}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}(1-n_z^2)}_{boundary~face~contribution} \\ 0 &\leftarrow a_{F=b}^{w} \\ b_C^w &\leftarrow \underbrace{b_C^w}_{interior~faces~contribution} + \underbrace{\frac{\mu_bS_b}{d_{\perp}}[(u_C-u_b)n_xn_z+(v_C-v_b)n_yn_z+w_b(1-n_z^2)]-p_bS_b^z}_{boundary~face~contribution} \end{aligned}
上式中的邊界面壓力 p b p_b 是未知的,其是從內部解外插得到的,要麼使用在點 C C 處的Taylor級數展開截斷方法
p b = p C + p C ( n ) d C b p_b=p_C+\nabla p_C^{(n)}\cdot \bold d_{Cb}
要麼先經過Rhie-Chow插值來計算質量流量
m ˙ b = ρ b v b S b ρ b D C v ( p b ( n ) p C ( n ) ) S b \dot m_b^* = \rho_b\bold v_b^*\cdot \bold S_b - \rho_b\bold D_C^{\bold v}(\nabla p_b^{(n)}-\nabla p_C^{(n)})\cdot \bold S_b
(不解,上式的 v b \bold v_b^* 爲什麼不是 v b \overline{\bold v_b^*} v C \bold v_C^* ?)

由於壁面邊界處的質量流量和速度爲零,上述方程變爲
0 = 0 ρ b D C v ( p b ( n ) p C ( n ) ) S b 0=0-\rho_b\bold D_C^{\bold v}(\nabla p_b^{(n)}-\nabla p_C^{(n)})\cdot \bold S_b
修改成
D C v p b ( n ) S b = p b ( n ) S b = p C ( n ) S b \begin{aligned} \bold D_C^{\bold v}\nabla p_b^{(n)}\cdot \bold S_b=\nabla p_b^{(n)}\cdot \bold S'_b=\nabla p_C^{(n)}\cdot \bold S'_b \end{aligned}
S b \bold S'_b 轉化爲兩矢量和加和形式 S b = E b + T b \bold S'_b=\bold E_b+\bold T_b ,上式變爲
p b ( n ) ( E b + T b ) = p C ( n ) S b \nabla p_b^{(n)}\cdot (\bold E_b+\bold T_b)=\nabla p_C^{(n)}\cdot \bold S'_b
由於 E b \bold E_b 是沿着 C b \bold{Cb} 方向的,上式可修改成
D C ( p b p C ) = ( p C ( n ) S b p b ( n ) T b ) \mathcal D_C(p_b-p_C)=(\nabla p_C^{(n)}\cdot \bold S'_b-\nabla p_b^{(n)}\cdot \bold T_b)
從中能夠得到邊界壓力(這即是計算邊界壓力的第二種方法)
p b = p C + p C ( n ) S b p b ( n ) T b D C p_b=p_C+\frac{\nabla p_C^{(n)}\cdot \bold S'_b-\nabla p_b^{(n)}\cdot \bold T_b}{\mathcal D_C}
在這裏插入圖片描述

滑移壁面邊界 p b = ? ;   m ˙ b = 0 ;   F b = 0 p_b=?;~\dot m_b=0;~\bold F_b=\bold 0

如上圖所示,對於這類邊界條件,壁面剪切應力爲零,所以邊界力也是零。邊界壓力值的計算和前面無滑移邊界中的同樣,可採用兩種方法來計算。動量方程(矢量形式)的係數修改以下:
a C v a C v i n t e r i o r   f a c e s   c o n t r i b u t i o n 0 a F = b v b C v b C v i n t e r i o r   f a c e s   c o n t r i b u t i o n p b S b b o u n d a r y   f a c e   c o n t r i b u t i o n \begin{aligned} a_C^{\bold v} &\leftarrow \underbrace{a_C^{\bold v}}_{interior~faces~contribution}\\ 0 &\leftarrow a_{F=b}^{\bold v} \\ \bold b_C^{\bold v} &\leftarrow \underbrace{\bold b_C^{\bold v}}_{interior~faces~contribution} - \underbrace{p_b\bold S_b}_{boundary~face~contribution} \end{aligned}

6.1.2 進口邊界條件

考慮三種類型的進口邊界條件:(i)給定速度;(ii)給定靜壓和速度方向;(iii)給定總壓和速度方向。對於壓力邊界條件的處理將放到後續的壓力修正方程邊界條件小節中詳細闡述,本節就先不涉及了。

給定速度(Specified Velocity) p b = ? p_b=? m ˙ b \dot m_b 給定; v b \bold v_b 給定)
在這裏插入圖片描述

如上圖,對於給定速度邊界條件的進口來講,在邊界面處的對流項( m ˙ b v b \dot m_b\bold v_b )和擴散項( F b = τ b S b \bold F_b=\tau_b\cdot\bold S_b )是直接使用已知的速度 v b \bold v_b 和質量流量 m ˙ b \dot m_b 來計算的。邊界處的壓力則是從邊界單元形心外插得到的
p b = p C + p C ( n ) d C b p_b=p_C+\nabla p_C^{(n)}\cdot \bold d_{Cb}
那些包含邊界速度的項( m ˙ b v b \dot m_b\bold v_b F b \bold F_b ),將做顯式處理直接添加到源項 b C v \bold b_C^{\bold v} 中。此外,把係數 a F = b v a_{F=b}^{\bold v} 設爲零,並將其值添加到係數 a C v a_C^{\bold v} 中。

邊界單元的係數修改成
a C v a C v b C v b C v m ˙ b v b + F b p b S b 0 a F = b v (15.136) \begin{aligned} a_C^{\bold v} &\leftarrow a_C^{\bold v} \\ \bold b_C^{\bold v} &\leftarrow \bold b_C^{\bold v}- \dot m_b \bold v_b+\bold F_b-p_b \bold S_b \tag{15.136}\\ 0 &\leftarrow a_{F=b}^{\bold v} \end{aligned}
(書上的式子感受不是很對,因此我按照本身的理解給改了下,可能也未必對……書上的式子是下面醬紫滴,有點莫名其妙)
a C v a C v b C v b C v a F = b v v b 0 a F = b v \begin{aligned} a_C^{\bold v} &\leftarrow a_C^{\bold v} \\ \bold b_C^{\bold v} &\leftarrow \bold b_C^{\bold v}-a_{F=b}^{\bold v}\bold v_b\\ 0 &\leftarrow a_{F=b}^{\bold v} \end{aligned}

給定靜壓和速度方向(Specified Static Pressure and Velocity Direction) p b = p s p e c i f i e d p_b=p_{specified} m ˙ b \dot m_b ?; e v \bold e_{\bold v} 給定; v b \bold v_b ?)

在這裏插入圖片描述

如圖,在進口處給定靜壓,即 p b p_b 已知。速度未知,須要從邊界處的壓力梯度算得。所以,做爲邊界條件的一部分,速度方向也須要指定。

因爲邊界壓力 p b p_b 已知,其值將直接用於計算邊界單元的壓力梯度,而無需特殊處理。即 p b p_b 用來算出 p C \nabla p_C

邊界處的質量流量是由連續方程算出的(見下節)。那麼,對於指定的速度方向,即,單位矢量 e v \bold e_{\bold v} ,指定壓力邊界條件的進口速度爲
m ˙ b = ρ b v b S b = ρ b v b e v S b v b = m ˙ b ρ b ( e v S b ) v b = v b e v \begin{aligned} & \dot m_b^{**}=\rho_b \bold v_b^{**} \cdot \bold S_b=\rho_b ||\bold v_b^{**}|| \bold e_{\bold v}\cdot \bold S_b \\ \Rightarrow & ||\bold v_b^{**}||=\frac{\dot m_b^{**}}{\rho_b ( \bold e_{\bold v}\cdot \bold S_b)} \\ \Rightarrow & \bold v_b^{**}=||\bold v_b^{**}|| \bold e_{\bold v} \end{aligned}
邊界速度在每一個迭代步都要計算,且該問題的求解是和指定速度的邊界條件狀況同樣的,根據式(15.136)來修改動量方程係數。

指定總壓和速度方向(Specified Total Pressure and Velocity Direction) p o , b = p o , s p e c i f i e d p_{o,b}=p_{o,specified} m ˙ b \dot m_b ?; e v \bold e_{\bold v} 給定; v b \bold v_b ?)
在這裏插入圖片描述

如上圖,進口指定總壓和速度方向,可是速度幅值和靜壓未知,但它們之間的關係可利用總壓表達式給出
p o = p s t a t i c   p r e s s u r e + 1 2 ρ v v d y n a m i c   p r e s s u r e p_o=\underbrace{p}_{static~pressure}+\underbrace{\frac{1}{2}\rho \bold v \cdot \bold v}_{dynamic~pressure}
其中 p o p_o 爲總壓, p p 爲靜壓, ρ \rho 爲密度, v \bold v 爲速度矢量。邊界質量流量是從連續方程算出的(見下節),知道了邊界質量流量,速度是用上上式算得的(跟指定靜壓和速度方向的狀況同樣),接下來就可用總壓關係算出靜壓值了。而後,把速度做爲已知速度條件(即,Dirichlet邊界條件)處理,用式(15.136)將動量方程的係數做以修正便可。

6.1.3 出口邊界條件

考慮三種類型的出口邊界條件:(i)指定靜壓;(ii)指定質量流量;(iii)徹底發展流動。

指定靜壓 p b = p s p e c i f i e d p_b=p_{specified} m ˙ b \dot m_b ?; v b \bold v_b ?)
在這裏插入圖片描述

對於動量方程來講,徹底發展條件是假設在指定壓力出口處,沿着面矢量方向的速度梯度爲零。這等效於假設出口速度等於邊界單元速度,所以其和零通量邊界條件相似,其添加至關簡單。

動量方程的係數修改成
a C v a C v i n t e r i o r   f a c e s   c o n t r i b u t i o n + m ˙ b b o u n d a r y   f a c e   c o n t r i b u t i o n 0 a F = b v b C v b C v i n t e r i o r   f a c e s   c o n t r i b u t i o n p b S b b o u n d a r y   f a c e   c o n t r i b u t i o n \begin{aligned} a_C^{\bold v} &\leftarrow \underbrace{a_C^{\bold v}}_{interior~faces~contribution}+ \underbrace{\dot m_b}_{boundary~face~contribution} \\ 0 &\leftarrow a_{F=b}^{\bold v} \\ \bold b_C^{\bold v} &\leftarrow \underbrace{\bold b_C^{\bold v}}_{interior~faces~contribution}- \underbrace{p_b \bold S_b}_{boundary~face~contribution} \end{aligned}
(上式至關於讓 v b = v C \bold v_b = \bold v_C ,即, m ˙ b v b = m ˙ b v C \dot m_b \bold v_b=\dot m_b \bold v_C ,因此係數 a C v a_C^{\bold v} 中多了一項 m ˙ b \dot m_b
這種方式使得出口速度的貢獻爲零,且使用指定壓力邊界值來計算壓力梯度。

然而,爲了保證在只是在出口邊界面的法向矢量方向的通量爲零(切向通量未必是零),速度一般是使用邊界通量外插到出口的,邊界通量則是由邊界單元算出的,即(下式至關於刨掉了速度梯度的法向份量,只保留速度梯度的切向份量)
v b = v C ( v C e b ) e b \nabla \bold v_b=\nabla \bold v_C-(\nabla \bold v_C \cdot \bold e_b) \bold e_b
這樣保證了沿着單元面矢量的梯度是零,那麼,使用Taylor級數展開,邊界處的速度爲
v b = v C + v b d C b \bold v_b = \bold v_C + \nabla \bold v_b \cdot \bold d_{Cb}
其中使用 v b \nabla \bold v_b 替代了 v C \nabla \bold v_C 。所以,源項中加入了額外的修正,係數修正爲
a C v a C v i n t e r i o r   f a c e s   c o n t r i b u t i o n + m ˙ b b o u n d a r y   f a c e   c o n t r i b u t i o n 0 a F = b v b C v b C v i n t e r i o r   f a c e s   c o n t r i b u t i o n m ˙ b ( v b d C b ) p b S b b o u n d a r y   f a c e   c o n t r i b u t i o n (15.142) \begin{aligned} a_C^{\bold v} &\leftarrow \underbrace{a_C^{\bold v}}_{interior~faces~contribution}+ \underbrace{\dot m_b}_{boundary~face~contribution} \\ 0 &\leftarrow a_{F=b}^{\bold v} \tag{15.142}\\ \bold b_C^{\bold v} &\leftarrow \underbrace{\bold b_C^{\bold v}}_{interior~faces~contribution} \underbrace{-\dot m_b(\nabla \bold v_b \cdot \bold d_{Cb})-p_b \bold S_b}_{boundary~face~contribution} \end{aligned}
(關於上式的說明,邊界速度所帶來的質量通量爲 m ˙ b v b = m ˙ b v C + m ˙ b ( v b d C b ) \dot m_b \bold v_b=\dot m_b \bold v_C+\dot m_b(\nabla \bold v_b \cdot \bold d_{Cb}) ,前面的進入對角係數 a C v a_C^{\bold v} 中,後面的放入源項 b C v \bold b_C^{\bold v} 中。實際效果至關於既讓出口速度的法向梯度爲零,還容許出口速度含切向份量。還有一點要說明的,因爲出口,因此沒有剪切應力,因此 F b \bold F_b 爲零,係數中也就再也不出現它了。)

指定質量流量 m ˙ b = m ˙ s p e c i f i e d \dot m_b=\dot m_{specified} p b p_b ?; v b \bold v_b ?)
在這裏插入圖片描述

如上圖,既然流動是不可壓縮的,那麼指定質量流量的邊界條件就等效於指定邊界速度的法向份量。速度的計算是經過假設其方向是和主網格節點方向同樣,即, ( e v ) b = ( e v ) C (\bold e_{\bold v})_b=(\bold e_{\bold v})_C 來實現的。這樣一來,速度展開爲
v b = v b ( e v ) C \bold v_b=|\bold v_b|(\bold e_{\bold v})_C
其中 v b |\bold v_b| 是由下式計算的
m ˙ b = ρ b v b S b = ρ b v b ( e v ) C S b v b = m ˙ b ρ b ( e v ) C S b \begin{aligned} &\dot m_b=\rho_b\bold v_b\cdot \bold S_b=\rho_b|\bold v_b|(\bold e_{\bold v})_C\cdot \bold S_b \\ \Rightarrow & |\bold v_b|=\frac{\dot m_b}{\rho_b(\bold e_{\bold v})_C\cdot \bold S_b} \end{aligned}
這樣即可算得 v b \bold v_b 。這樣對於動量方程,施加了指定速度邊界條件。邊界單元的係數修改將依據式(15.136)進行修改。

徹底發展出口流動(Fully Developed Outlet Flow)

對於徹底發展流動,出口面的法向速度梯度假設爲零。所以,出口速度假設已知,且根據零法向梯度算得
v b = v C ( v C e b ) e b v b = v C + v b d C b \begin{aligned} \nabla \bold v_b&=\nabla \bold v_C-(\nabla \bold v_C \cdot \bold e_b) \bold e_b \\ \bold v_b &= \bold v_C + \nabla \bold v_b \cdot \bold d_{Cb} \end{aligned}
至於邊界壓力,其由內部壓力場外插獲得
p b = p C + p C d C b p_b=p_C+\nabla p_C\cdot \bold d_{Cb}
將速度視做已知,動量方程的係數修改將根據式(15.142)進行。

6.1.4 對稱邊界條件

在這裏插入圖片描述

穿過對稱邊界的標量將發生反射,如此看來,對標量而言對稱邊界條件的添加可將標量的法向梯度設爲零,就跟絕熱壁面邊界條件同樣。對於速度矢量,在如上圖所示的對稱邊界上,速度一樣發生反射,即,速度的平行份量(平行於對稱邊界)保持其幅值和方向不變,而速度的法向垂直份量(垂直於對稱邊界)則變爲零。這在對稱邊界上產生了零剪切應力和非零的法嚮應力。所以,一樣的邊界條件可用於粘性流動的滑移邊界條件的施加。

垂直於邊界方向的單位矢量 n \bold n 和到邊界的垂直距離 d d_{\perp} 前面已經得出其計算式,爲
n = S b S b = n x i + n y j + n z k d = d C b n = d C b S b S b \begin{aligned} \bold n &= \frac{\bold S_b}{S_b}=n_x\bold i+ n_y \bold j + n_z \bold k \\ d_{\perp} &= \bold d_{Cb}\cdot n=\frac{\bold d_{Cb}\cdot\bold S_b}{S_b} \end{aligned}
所以對稱邊界的垂直和平行速度份量知足(注意這裏的速度是指的在邊界面上的速度)
v = 0 v n = 0 \begin{aligned} \bold v_{\perp} &= \bold 0 \\ \frac{\partial \bold v_{\parallel}}{\partial \bold n} &= \bold 0 \end{aligned}
速度的垂直份量爲(注意這裏的速度指的是單元形心的速度)
v = ( v n ) n = { ( u C n x + v C n y + w C n z ) n x ( u C n x + v C n y + w C n z ) n y ( u C n x + v C n y + w C n z ) n z } \bold v_{\perp}=(\bold v\cdot \bold n)\bold n=\left\{ \begin{matrix} (u_Cn_x+v_Cn_y+w_Cn_z)n_x \\ (u_Cn_x+v_Cn_y+w_Cn_z)n_y \\ (u_Cn_x+v_Cn_y+w_Cn_z)n_z \end{matrix} \right\}
速度的平行份量前面已經算得(注意這裏的速度是單元形心的速度)
v = v ( v n ) n = { u C ( u C n x + v C n y + w C n z ) n x v C ( u C n x + v C n y + w C n z ) n y w C ( u C n x + v C n y + w C n z ) n z } \bold v_{\parallel}=\bold v-(\bold v\cdot \bold n)\bold n=\left\{ \begin{matrix} u_C-(u_Cn_x+v_Cn_y+w_Cn_z)n_x \\ v_C-(u_Cn_x+v_Cn_y+w_Cn_z)n_y \\ w_C-(u_Cn_x+v_Cn_y+w_Cn_z)n_z \end{matrix} \right\}
邊界力 F b \bold F_b 可分解成法向份量 F \bold F_{\perp} 和平行份量 F \bold F_{\parallel} 。由於沿着對稱邊界的剪切應力是零,因此 F b \bold F_b 的平行份量也是零。將法嚮應力定義爲 σ \sigma_{\perp} ,則力 F b \bold F_b
F b = σ S b \bold F_b=\sigma_{\perp}S_b
法嚮應力份量可近似爲
σ 2 μ b v d = 2 μ b d { ( u C n x + v C n y + w C n z ) n x ( u C n x + v C n y + w C n z ) n y ( u C n x + v C n y + w C n z ) n z } \sigma_{\perp}\approx-2\mu_b\frac{\bold v_{\perp}}{d_{\perp}}=-2\frac{\mu_b}{d_{\perp}} \left\{ \begin{matrix} (u_Cn_x+v_Cn_y+w_Cn_z)n_x \\ (u_Cn_x+v_Cn_y+w_Cn_z)n_y \\ (u_Cn_x+v_Cn_y+w_Cn_z)n_z \end{matrix} \right\}

相關文章
相關標籤/搜索