學習自F. Moukalled, L. Mangani, M. Darwish所著The Finite Volume Method in Computational Fluid Dynamics - An Advanced Introduction with OpenFOAM and Matlab Chapter 11 Discretization of the Convection Termhtml
在前面的第8-9章,我們詳細講解了在正交、非正交、結構、非結構網格上的通有穩態擴散方程的離散方法。本章我們講講CFD的控制方程中另外一個很是重要的項,對流項的離散方法。最初,跟擴散項中所採用的離散方式同樣,對流項也是對物理量採用對稱和線性分佈(廓線profile)假設來離散的,然而,這種分佈廓線有很大缺陷,促令人們提出了使用迎風廓線來修正其缺陷。儘管迎風廓線能夠獲得物理上說得通的結果,然而其被代表是高度diffusive(擴散?)的,致使結果只有一階精度。爲了提升精度,提出了偏迎風的高階廓線。離散偏差卻是下降了,可是高階廓線卻引出了另外一種形式的偏差,dispersion偏差(色散?),關於這種偏差的處理方法將放到下一章講解。還有一點須要說明,咱們假設驅動擴散項的流場,是事先已知的。那麼流場的計算將放到後續章節裏詳解(可能你已經猜到了,由於離散方程的係數矩陣自己就是與流場量相關的,哪怕是定常流場,也須要迭代計算,而不可壓縮中還有壓力速度的耦合問題,還得構造解耦算法來折騰呢)。web
1 引言
儘管對流項看起來很簡單,然而其離散方法卻很是麻煩,以致於人們研究了30來年。這些工做給影響其離散的問題照亮了道路,也催生了大量的離散格式。鑑於文獻的數量是如此龐大,我們不得不用兩個章節來分析它們。本章將引入基本概念和高階(High Order,縮寫爲HO)偏迎風格式。下一章會講到對流項的界限(bounding)問題,其有助於發展高階精度的無振盪對流格式,即,所謂的高分辨率(High Resolution(HR))格式。算法
爲清晰起見,新概念的引入將首先在1維網格上進行,而後再擴展到多維非正交網格上。本章將用1維對流-擴散問題的離散做爲開端,經過穩定性判據,代表中心差分算法的缺陷。隨後,代表迎風格式可經過該穩定性測試。接着解釋了低階格式的數值diffusion(擴散)偏差和高階格式的數值dispersion(色散)偏差。而對高分辨率格式的處理則放到下一章進行講解。架構
2 穩態一維對流和擴散
爲便於說明問題,給出一個很是簡單的一維定常對流-擴散方程,其控制方程爲
d
(
ρ
u
ϕ
)
d
x
−
d
d
x
(
Γ
ϕ
d
ϕ
d
x
)
=
0
\frac{d(\rho u \phi)}{d x} - \frac{d}{dx}\left( \Gamma^{\phi}\frac{d \phi}{d x} \right)=0
d x d ( ρ u ϕ ) − d x d ( Γ ϕ d x d ϕ ) = 0 萬分幸運的是,這個問題存在着解析解,因此它一般用做基準算例來跟各類各樣的數值格式作對照。app
2.1 解析解
若是截面是不變的,那麼這個穩態1維問題的連續方程是
d
(
ρ
u
)
d
x
=
0
\frac{d (\rho u)}{d x}=0
d x d ( ρ u ) = 0 這代表
ρ
u
\rho u
ρ u 是定值,那麼對流擴散方程變成了
ρ
u
d
ϕ
d
x
−
d
d
x
(
Γ
ϕ
d
ϕ
d
x
)
=
0
\rho u \frac{d \phi}{d x} - \frac{d}{dx}\left( \Gamma^{\phi}\frac{d \phi}{d x} \right)=0
ρ u d x d ϕ − d x d ( Γ ϕ d x d ϕ ) = 0 對
x
x
x 積分,得
ρ
u
ϕ
−
Γ
ϕ
d
ϕ
d
x
=
c
1
\rho u \phi - \Gamma^{\phi}\frac{d \phi}{d x}=c_1
ρ u ϕ − Γ ϕ d x d ϕ = c 1
c
1
c_1
c 1 爲積分常數,由邊界條件來定。上面這個方程進一步寫成
d
ϕ
d
x
=
ρ
u
Γ
ϕ
ϕ
−
c
1
Γ
ϕ
\frac{d \phi}{d x}=\frac{\rho u}{ \Gamma^{\phi}} \phi - \frac{c_1}{ \Gamma^{\phi}}
d x d ϕ = Γ ϕ ρ u ϕ − Γ ϕ c 1 引入變量替換,定義
Φ
\Phi
Φ
Φ
=
ρ
u
Γ
ϕ
ϕ
−
c
1
Γ
ϕ
\Phi=\frac{\rho u}{ \Gamma^{\phi}} \phi - \frac{c_1}{ \Gamma^{\phi}}
Φ = Γ ϕ ρ u ϕ − Γ ϕ c 1 則方程變爲
d
Φ
d
x
=
ρ
u
Γ
ϕ
Φ
\frac{d\Phi}{dx}=\frac{\rho u}{\Gamma^\phi}\Phi
d x d Φ = Γ ϕ ρ u Φ 即
d
Φ
Φ
=
ρ
u
Γ
ϕ
d
x
\frac{d\Phi}{\Phi}=\frac{\rho u}{\Gamma^\phi} dx
Φ d Φ = Γ ϕ ρ u d x 兩側同時積分,得
L
n
(
Φ
)
=
ρ
u
Γ
ϕ
x
+
c
3
Ln(\Phi)=\frac{\rho u}{\Gamma^\phi} x + c_3
L n ( Φ ) = Γ ϕ ρ u x + c 3 其中
c
3
c_3
c 3 爲積分常數,進一步寫爲
Φ
=
c
2
e
ρ
u
Γ
ϕ
x
\Phi = c_2 e^{\frac{\rho u}{\Gamma^\phi} x }
Φ = c 2 e Γ ϕ ρ u x 其中
c
2
=
e
c
3
c_2=e^{c_3}
c 2 = e c 3 爲積分常數,再把
Φ
\Phi
Φ 替換回最初的變量
ϕ
\phi
ϕ ,獲得解析解
ϕ
=
c
2
Γ
ϕ
e
ρ
u
Γ
ϕ
x
+
c
1
ρ
u
\phi=\frac{c_2\Gamma^\phi e^{\frac{\rho u}{\Gamma^\phi} x }+ c_1}{\rho u}
ϕ = ρ u c 2 Γ ϕ e Γ ϕ ρ u x + c 1 一維問題的網格剖分以下圖所示 框架
以上圖的
W
W
W 和
E
E
E 兩節點之間的部分爲例,邊界條件爲
{
ϕ
=
ϕ
W
a
t
x
=
x
W
ϕ
=
ϕ
E
a
t
x
=
x
E
\begin{cases} \phi=\phi_W&at&x=x_W \\ \phi=\phi_E&at&x=x_E \end{cases}
{ ϕ = ϕ W ϕ = ϕ E a t a t x = x W x = x E 可根據該邊界條件求得積分常數
c
1
c_1
c 1 和
c
2
c_2
c 2 ,從而得到解析解爲
ϕ
−
ϕ
W
ϕ
E
−
ϕ
W
=
e
P
e
L
x
−
x
W
L
−
1
e
P
e
L
−
1
\frac{\phi-\phi_W}{\phi_E-\phi_W}=\frac{e^{Pe_L\frac{x-x_W}{L}}-1}{e^{Pe_L}-1}
ϕ E − ϕ W ϕ − ϕ W = e P e L − 1 e P e L L x − x W − 1 其中
P
e
L
Pe_L
P e L 爲Peclet數(基於長度
L
L
L ),表明了變量
ϕ
\phi
ϕ 的對流輸運速率與擴散輸運速率的比值,即
P
e
L
=
ρ
u
L
Γ
ϕ
L
=
x
E
−
x
W
Pe_L=\frac{\rho u L}{\Gamma^\phi}\quad\quad L = x_E-x_W
P e L = Γ ϕ ρ u L L = x E − x W 不一樣的
P
e
L
Pe_L
P e L 下所獲得的不一樣結果以下圖所示,可見,
P
e
L
=
0
Pe_L=0
P e L = 0 時對應的是純擴散問題,
ϕ
\phi
ϕ 從
W
W
W 到
E
E
E 的變化是一條直線,而隨着
P
e
L
Pe_L
P e L 的增大,對流輸運速率所佔比重愈來愈大,
ϕ
\phi
ϕ 從
W
W
W 到
E
E
E 的變化也逐漸變爲了更加陡峭的廓線形式。 ide
2.2 數值解
在1維單元上對於1維對流擴散方程
d
(
ρ
u
ϕ
)
d
x
−
d
d
x
(
Γ
ϕ
d
ϕ
d
x
)
=
0
\displaystyle\frac{d(\rho u \phi)}{d x} - \frac{d}{dx}\left( \Gamma^{\phi}\frac{d \phi}{d x} \right)=0
d x d ( ρ u ϕ ) − d x d ( Γ ϕ d x d ϕ ) = 0 進行數值積分,得
∫
V
C
[
∇
⋅
(
ρ
v
ϕ
)
−
∇
⋅
(
Γ
ϕ
∇
ϕ
)
]
d
V
=
0
\int_{V_C}[\nabla\cdot(\rho\bold v\phi)-\nabla\cdot(\Gamma^\phi\nabla\phi)]dV=0
∫ V C [ ∇ ⋅ ( ρ v ϕ ) − ∇ ⋅ ( Γ ϕ ∇ ϕ ) ] d V = 0 其中
v
=
u
i
\bold v=u\bold i
v = u i 爲速度矢量,守恆方程能夠寫成對流通量和擴散通量的形式,即
∫
V
C
∇
⋅
(
J
ϕ
,
C
+
J
ϕ
,
D
)
d
V
=
0
\int_{V_C}\nabla\cdot(\bold J^{\phi,C}+\bold J^{\phi,D})dV=0
∫ V C ∇ ⋅ ( J ϕ , C + J ϕ , D ) d V = 0 其中對流通量
J
ϕ
,
C
=
ρ
v
ϕ
\bold J^{\phi,C}=\rho\bold v\phi
J ϕ , C = ρ v ϕ ,擴散通量
J
ϕ
,
D
=
−
Γ
ϕ
∇
ϕ
\bold J^{\phi,D}=-\Gamma^\phi\nabla\phi
J ϕ , D = − Γ ϕ ∇ ϕ 。接下來使用散度定理,把體積分轉化成面積分,即
∫
V
C
∇
⋅
(
J
ϕ
,
C
+
J
ϕ
,
D
)
d
V
=
∫
∂
V
C
(
J
ϕ
,
C
+
J
ϕ
,
D
)
⋅
d
S
=
∫
∂
V
C
(
ρ
u
ϕ
i
−
Γ
ϕ
d
ϕ
d
x
i
)
⋅
d
S
=
0
\int_{V_C}\nabla\cdot(\bold J^{\phi,C}+\bold J^{\phi,D})dV= \int_{\partial V_C}(\bold J^{\phi,C}+\bold J^{\phi,D})\cdot d\bold S= \int_{\partial V_C}\left(\rho u \phi \bold i-\Gamma^\phi \frac{d\phi}{dx}\bold i\right)\cdot d\bold S = 0
∫ V C ∇ ⋅ ( J ϕ , C + J ϕ , D ) d V = ∫ ∂ V C ( J ϕ , C + J ϕ , D ) ⋅ d S = ∫ ∂ V C ( ρ u ϕ i − Γ ϕ d x d ϕ i ) ⋅ d S = 0 將面積分用流過單元面的通量加和形式表示,即
∑
f
∼
n
b
(
C
)
(
ρ
u
ϕ
i
−
Γ
ϕ
d
ϕ
d
x
i
)
f
⋅
S
f
=
0
\sum_{f\sim nb(C)}\left(\rho u \phi \bold i-\Gamma^\phi \frac{d\phi}{dx}\bold i\right)_f\cdot \bold S_f=0
f ∼ n b ( C ) ∑ ( ρ u ϕ i − Γ ϕ d x d ϕ i ) f ⋅ S f = 0 注意,若是面積矢量
S
f
\bold S_f
S f 是沿着反方向的(
−
x
-x
− x 方向),那麼它的符號是負的,對於恆定截面的狀況,上式變爲
[
(
ρ
u
Δ
y
ϕ
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
]
−
[
(
ρ
u
Δ
y
ϕ
)
w
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
0
\left[(\rho u \Delta y\phi)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e\right]- \left[(\rho u \Delta y\phi)_w-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]=0
[ ( ρ u Δ y ϕ ) e − ( Γ ϕ d x d ϕ Δ y ) e ] − [ ( ρ u Δ y ϕ ) w − ( Γ ϕ d x d ϕ Δ y ) w ] = 0 單元面上的速度
u
u
u 是已知的(
u
e
,
u
w
u_e,u_w
u e , u w 已知),那些個梯度項(
(
d
ϕ
/
d
x
)
e
,
(
d
ϕ
/
d
x
)
w
({d\phi}/{dx})_e,({d\phi}/{dx})_w
( d ϕ / d x ) e , ( d ϕ / d x ) w )用以前講過的離散方法能夠獲得。如今的問題是若是繼續離散的話,面上的值
ϕ
e
\phi_e
ϕ e 和
ϕ
w
\phi_w
ϕ w 須要用鄰近的節點值來獲得,肯定這些面上值的方法就是文獻中所謂的「對流格式 」。svg
2.3 初步推導:中心差分格式(The Center Difference (CD) Scheme)
乍一看,好像沒啥難的啊,就跟在擴散項離散中採用的線性插值廓線同樣,來作這個對流離散不就行了麼,即,在給定面好比右側面
e
e
e 上的
ϕ
\phi
ϕ 值的計算,能夠假設變量的空間分佈爲
ϕ
(
x
)
=
k
0
+
k
1
(
1
−
x
C
)
\phi(x)=k_0+k_1(1-x_C)
ϕ ( x ) = k 0 + k 1 ( 1 − x C ) 其中的
k
0
k_0
k 0 和
k
1
k_1
k 1 爲係數,使用
ϕ
=
ϕ
E
,
x
=
x
E
\phi=\phi_E,x=x_E
ϕ = ϕ E , x = x E 和
ϕ
=
ϕ
C
,
x
=
x
C
\phi=\phi_C,x=x_C
ϕ = ϕ C , x = x C ,可得
ϕ
e
=
ϕ
C
+
ϕ
E
−
ϕ
C
x
E
−
x
C
(
x
e
−
c
C
)
\phi_e=\phi_C+\frac{\phi_E-\phi_C}{x_E-x_C}(x_e-c_C)
ϕ e = ϕ C + x E − x C ϕ E − ϕ C ( x e − c C ) 這即是中心差分格式,其可經過Taylor展開並略去2階以上的項來推出,即其有2階精度。函數
在均勻網格上,該離散型式爲
ϕ
e
=
ϕ
C
+
ϕ
E
2
\phi_e=\frac{\phi_C+\phi_E}{2}
ϕ e = 2 ϕ C + ϕ E 這樣,對於上一小節最後獲得的離散格式中,第1箇中括號項
[
(
ρ
u
Δ
y
ϕ
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
]
\left[(\rho u \Delta y\phi)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e\right]
[ ( ρ u Δ y ϕ ) e − ( Γ ϕ d x d ϕ Δ y ) e ] 變爲
[
(
ρ
u
Δ
y
ϕ
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
]
=
(
ρ
u
Δ
y
)
e
ϕ
C
+
ϕ
E
2
−
(
Γ
ϕ
Δ
y
δ
x
)
e
(
ϕ
E
−
ϕ
C
)
=
F
l
u
x
C
e
ϕ
C
+
F
l
u
x
F
e
ϕ
E
+
F
l
u
x
V
e
\begin{aligned} \left[(\rho u \Delta y\phi)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e\right] & = (\rho u \Delta y)_e\frac{\phi_C+\phi_E}{2}-\left(\Gamma^\phi \frac{\Delta y}{\delta x}\right)_e(\phi_E-\phi_C) \\ & = FluxC_e\phi_C+FluxF_e\phi_E+FluxV_e \end{aligned}
[ ( ρ u Δ y ϕ ) e − ( Γ ϕ d x d ϕ Δ y ) e ] = ( ρ u Δ y ) e 2 ϕ C + ϕ E − ( Γ ϕ δ x Δ y ) e ( ϕ E − ϕ C ) = F l u x C e ϕ C + F l u x F e ϕ E + F l u x V e 其中
F
l
u
x
C
e
=
Γ
e
ϕ
Δ
y
e
δ
x
e
+
(
ρ
u
Δ
y
)
e
2
F
l
u
x
F
e
=
−
Γ
e
ϕ
Δ
y
e
δ
x
e
+
(
ρ
u
Δ
y
)
e
2
F
l
u
x
V
e
=
0
\begin{aligned} & FluxC_e = \Gamma^\phi_e \frac{\Delta y_e}{\delta x_e}+\frac{(\rho u \Delta y)_e}{2} \\ & FluxF_e = -\Gamma^\phi_e \frac{\Delta y_e}{\delta x_e}+\frac{(\rho u \Delta y)_e}{2} \\ & FluxV_e = 0 \end{aligned}
F l u x C e = Γ e ϕ δ x e Δ y e + 2 ( ρ u Δ y ) e F l u x F e = − Γ e ϕ δ x e Δ y e + 2 ( ρ u Δ y ) e F l u x V e = 0 一樣,第2箇中括號項
−
[
(
ρ
u
Δ
y
ϕ
)
w
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
-\left[(\rho u \Delta y\phi)_w-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]
− [ ( ρ u Δ y ϕ ) w − ( Γ ϕ d x d ϕ Δ y ) w ] 變爲
−
[
(
ρ
u
Δ
y
ϕ
)
w
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
−
[
(
ρ
u
Δ
y
)
w
ϕ
C
+
ϕ
W
2
−
(
Γ
ϕ
Δ
y
δ
x
)
w
(
ϕ
C
−
ϕ
W
)
]
=
F
l
u
x
C
w
ϕ
C
+
F
l
u
x
F
w
ϕ
W
+
F
l
u
x
V
w
\begin{aligned} -\left[(\rho u \Delta y\phi)_w-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right] &= -\left[ (\rho u \Delta y)_w\frac{\phi_C+\phi_W}{2}-\left(\Gamma^\phi \frac{\Delta y}{\delta x}\right)_w(\phi_C-\phi_W) \right] \\ & = FluxC_w\phi_C+FluxF_w\phi_W+FluxV_w \end{aligned}
− [ ( ρ u Δ y ϕ ) w − ( Γ ϕ d x d ϕ Δ y ) w ] = − [ ( ρ u Δ y ) w 2 ϕ C + ϕ W − ( Γ ϕ δ x Δ y ) w ( ϕ C − ϕ W ) ] = F l u x C w ϕ C + F l u x F w ϕ W + F l u x V w 其中
F
l
u
x
C
w
=
Γ
w
ϕ
Δ
y
w
δ
x
w
−
(
ρ
u
Δ
y
)
w
2
F
l
u
x
F
w
=
−
Γ
w
ϕ
Δ
y
w
δ
x
w
−
(
ρ
u
Δ
y
)
w
2
F
l
u
x
V
w
=
0
\begin{aligned} & FluxC_w = \Gamma^\phi_w \frac{\Delta y_w}{\delta x_w}-\frac{(\rho u \Delta y)_w}{2} \\ & FluxF_w = -\Gamma^\phi_w \frac{\Delta y_w}{\delta x_w}-\frac{(\rho u \Delta y)_w}{2} \\ & FluxV_w = 0 \end{aligned}
F l u x C w = Γ w ϕ δ x w Δ y w − 2 ( ρ u Δ y ) w F l u x F w = − Γ w ϕ δ x w Δ y w − 2 ( ρ u Δ y ) w F l u x V w = 0 從而推得對流擴散方程的離散形式爲
a
C
ϕ
C
+
a
E
ϕ
E
+
a
W
ϕ
W
=
0
a_C\phi_C+a_E\phi_E+a_W\phi_W=0
a C ϕ C + a E ϕ E + a W ϕ W = 0 其中
a
E
=
F
l
u
x
F
e
=
−
Γ
e
ϕ
Δ
y
e
δ
x
e
+
(
ρ
u
Δ
y
)
e
2
a
W
=
F
l
u
x
F
w
=
−
Γ
w
ϕ
Δ
y
w
δ
x
w
−
(
ρ
u
Δ
y
)
w
2
a
C
=
F
l
u
x
C
e
+
F
l
u
x
C
w
=
Γ
e
ϕ
Δ
y
e
δ
x
e
+
(
ρ
u
Δ
y
)
e
2
+
Γ
w
ϕ
Δ
y
w
δ
x
w
−
(
ρ
u
Δ
y
)
w
2
\begin{aligned} & a_E=FluxF_e=-\Gamma^\phi_e \frac{\Delta y_e}{\delta x_e}+\frac{(\rho u \Delta y)_e}{2} \\ & a_W=FluxF_w=-\Gamma^\phi_w \frac{\Delta y_w}{\delta x_w}-\frac{(\rho u \Delta y)_w}{2} \\ & a_C=FluxC_e+FluxC_w=\Gamma^\phi_e \frac{\Delta y_e}{\delta x_e}+\frac{(\rho u \Delta y)_e}{2}+ \Gamma^\phi_w \frac{\Delta y_w}{\delta x_w}-\frac{(\rho u \Delta y)_w}{2} \end{aligned}
a E = F l u x F e = − Γ e ϕ δ x e Δ y e + 2 ( ρ u Δ y ) e a W = F l u x F w = − Γ w ϕ δ x w Δ y w − 2 ( ρ u Δ y ) w a C = F l u x C e + F l u x C w = Γ e ϕ δ x e Δ y e + 2 ( ρ u Δ y ) e + Γ w ϕ δ x w Δ y w − 2 ( ρ u Δ y ) w 因爲問題是一維的,有
Δ
y
e
=
Δ
y
w
\Delta y_e=\Delta y_w
Δ y e = Δ y w ,故可把它們都設成1。此外,從連續方程可獲得
(
ρ
u
Δ
y
)
e
−
(
ρ
u
Δ
y
)
w
=
0
(\rho u \Delta y)_e-(\rho u \Delta y)_w=0
( ρ u Δ y ) e − ( ρ u Δ y ) w = 0 ,且
u
u
u 爲常數。假設擴散係數爲定值,則離散方程係數變爲
a
E
=
−
Γ
ϕ
x
E
−
x
C
+
(
ρ
u
)
e
2
a
W
=
−
Γ
ϕ
x
C
−
x
W
−
(
ρ
u
)
w
2
a
C
=
−
(
a
E
+
a
W
)
\begin{aligned} & a_E=-\frac{\Gamma^\phi}{x_E-x_C}+\frac{(\rho u)_e}{2} \\ & a_W=-\frac{\Gamma^\phi}{x_C-x_W}-\frac{(\rho u)_w}{2} \\ & a_C=-(a_E+a_W) \end{aligned}
a E = − x E − x C Γ ϕ + 2 ( ρ u ) e a W = − x C − x W Γ ϕ − 2 ( ρ u ) w a C = − ( a E + a W ) 回代到離散格式
a
C
ϕ
C
+
a
E
ϕ
E
+
a
W
ϕ
W
=
0
a_C\phi_C+a_E\phi_E+a_W\phi_W=0
a C ϕ C + a E ϕ E + a W ϕ W = 0 ,可得
ϕ
C
−
ϕ
W
ϕ
E
−
ϕ
W
=
a
E
a
E
+
a
W
\frac{\phi_C-\phi_W}{\phi_E-\phi_W}=\frac{a_E}{a_E+a_W}
ϕ E − ϕ W ϕ C − ϕ W = a E + a W a E 若是是均勻網格,能夠寫成
P
e
L
=
ρ
u
L
Γ
ϕ
,
L
=
x
E
−
x
W
Pe_L=\frac{\rho u L}{\Gamma^\phi},L = x_E-x_W
P e L = Γ ϕ ρ u L , L = x E − x W 的形式,單元
C
C
C 的數值解爲(注意,書中給出的公式RHS爲
1
2
(
1
−
P
e
L
2
)
\frac{1}{2}(1-\frac{Pe_L}{2})
2 1 ( 1 − 2 P e L ) 實際應爲
1
2
(
1
−
P
e
L
4
)
\frac{1}{2}(1-\frac{Pe_L}{4})
2 1 ( 1 − 4 P e L ) )
ϕ
C
−
ϕ
W
ϕ
E
−
ϕ
W
=
1
2
(
1
−
P
e
L
4
)
\frac{\phi_C-\phi_W}{\phi_E-\phi_W}=\frac{1}{2}\left( 1- \frac{Pe_L}{4} \right)
ϕ E − ϕ W ϕ C − ϕ W = 2 1 ( 1 − 4 P e L ) 單元
C
C
C 的精確解,由上一小節的解析解給出
ϕ
C
−
ϕ
W
ϕ
E
−
ϕ
W
=
e
P
e
L
/
2
−
1
e
P
e
L
−
1
\frac{\phi_C-\phi_W}{\phi_E-\phi_W}=\frac{e^{Pe_L/2}-1}{e^{Pe_L}-1}
ϕ E − ϕ W ϕ C − ϕ W = e P e L − 1 e P e L / 2 − 1 讓
P
e
L
Pe_L
P e L 從-10變化到10,數值解和解析解給出的結果展現在下圖中,當
P
e
L
Pe_L
P e L 值(絕對值)較小時,數值解和解析解很是接近,當
P
e
L
Pe_L
P e L 的值(絕對值)逐漸增大並跨過閾值後,中心差分格式給出的數值解就和解析解產生了很大誤差,其變得不受約束(無界)呈現出不符合物理意義的特性。即,解析解對於正的和負的
P
e
L
Pe_L
P e L 分別逐漸趨近於0和1,中心差分格式給出的數值解則隨着
P
e
L
Pe_L
P e L 從
−
∞
-\infin
− ∞ 增大到
+
∞
+\infin
+ ∞ 而從
+
∞
+\infin
+ ∞ 線性減少到
−
∞
-\infin
− ∞ 。這代表前面離散過程當中採用的某些假設是不切實際的或者說是不符合物理意義的,究竟是什麼緣由形成的呢?學習
以下圖所示,在點
C
C
C 處的擴散所受到
C
C
C 點上游和下游條件的影響是等效的(下圖a),而對流過程則是與方向高度相關的過程,其僅在流動方向上有輸運特性(下圖b)。所以,給上下游節點賦予了一樣的權重的線性廓線假設,對於擴散項的近似是沒問題的(下圖a),卻沒辦法描述對流項的方向特性,此時陡峭的廓線更爲合適(下圖b),這即是形成前述中心差分格式數值解和解析解之間誤差的緣由。
下圖c給出了對流-擴散聯合效應下的影響區域以及更加實際的廓線,該影響區域在低Peclet數下趨近於擴散區域(下圖a),在高Peclet數下則趨近於對流區域(下圖b)。所以,只要擴散在傳輸特性中佔優,那麼使用線性廓線能產生符合物理實際的解。然而,一旦對流壓倒了擴散(問題變得對流佔優了),再用線性廓線的假設就會產生不符合物理意義的解。能夠容易地估算出Peclet數在何值下會產生該現象,假設流動是沿着
x
x
x 正方向的,注意到
a
E
a_E
a E 係數有可能會變成正值,這樣便會致使非物理解(若是流動是沿着
x
x
x 負方向的話,那麼
a
W
a_W
a W 可能會變成正值),即
a
E
=
−
Γ
e
ϕ
Δ
y
e
δ
x
e
+
(
ρ
u
Δ
y
)
e
2
>
0
⇒
(
ρ
u
)
e
δ
x
e
Γ
e
ϕ
>
2
a_E=-\Gamma^\phi_e \frac{\Delta y_e}{\delta x_e}+\frac{(\rho u \Delta y)_e}{2}>0 \Rightarrow \frac{(\rho u)_e\delta x_e}{\Gamma_e^\phi} > 2
a E = − Γ e ϕ δ x e Δ y e + 2 ( ρ u Δ y ) e > 0 ⇒ Γ e ϕ ( ρ u ) e δ x e > 2 定義Peclet數爲
P
e
=
ρ
u
δ
x
Γ
ϕ
Pe=\frac{\rho u\delta x}{\Gamma^\phi}
P e = Γ ϕ ρ u δ x 這樣,對於均勻網格來講,
P
e
=
P
e
L
/
2
Pe=Pe_L/2
P e = P e L / 2 ,那麼
a
E
>
0
a_E>0
a E > 0 的條件變爲
P
e
>
2
Pe>2
P e > 2 所以,單元的Peclet數(Pe)大於2的話,離散過程變得不相符,由於此時鄰居值的增長會致使
C
C
C 處值的下降,這又會反過來進一步增長鄰居值,致使錯誤的放大。
固然,經過減少網格尺度讓單元Peclet數小於2,就能夠避免這種狀況。然而,對於不少實際狀況,這樣作的話將會顯著增長存儲量和計算量,以致超出計算機負荷。並且,對於純對流的問題(即不考慮粘性擴散效應,例如,Euler流動),這麼作的話也是不可行的,因此須要發展修正方法。
2.4 迎風格式(Upwind Scheme)
如上圖,與對流過程更加契合的格式爲迎風格式,迎風格式基本上是模仿了對流的物理特性,即,單元面上的值是依賴於迎風節點上的值的,換言之,依賴於流動方向的。圖中所示的單元面上的值用下式給出
ϕ
e
=
{
ϕ
C
i
f
m
˙
e
>
0
ϕ
E
i
f
m
˙
e
<
0
ϕ
w
=
{
ϕ
C
i
f
m
˙
w
>
0
ϕ
W
i
f
m
˙
w
<
0
\phi_e=\begin{cases} \phi_C & if & \dot m_e > 0 \\ \phi_E & if & \dot m_e < 0 \end{cases} \quad\quad\quad \phi_w=\begin{cases} \phi_C & if & \dot m_w > 0 \\ \phi_W & if & \dot m_w < 0 \end{cases}
ϕ e = { ϕ C ϕ E i f i f m ˙ e > 0 m ˙ e < 0 ϕ w = { ϕ C ϕ W i f i f m ˙ w > 0 m ˙ w < 0 (注意,這裏的
ϕ
w
\phi_w
ϕ w 沒有寫反,由於質量流量
m
˙
\dot m
m ˙ 跟速度
u
u
u 是不一樣的,看下面說明)
其中
m
˙
e
\dot m_e
m ˙ e 和
m
˙
w
\dot m_w
m ˙ w 是在面
e
e
e 和
w
w
w 的質量流量(面積矢量的正方向是朝外的,而非指向單元中心
C
C
C 的)
m
˙
e
=
(
ρ
v
⋅
S
)
e
=
(
ρ
u
S
)
e
=
(
ρ
u
Δ
y
)
e
m
˙
w
=
(
ρ
v
⋅
S
)
w
=
−
(
ρ
u
S
)
w
=
−
(
ρ
u
Δ
y
)
w
\begin{aligned} & \dot m_e=(\rho \bold v \cdot \bold S)_e=(\rho u S)_e=(\rho u \Delta y)_e \\ & \dot m_w=(\rho \bold v \cdot \bold S)_w=-(\rho u S)_w=-(\rho u \Delta y)_w \end{aligned}
m ˙ e = ( ρ v ⋅ S ) e = ( ρ u S ) e = ( ρ u Δ y ) e m ˙ w = ( ρ v ⋅ S ) w = − ( ρ u S ) w = − ( ρ u Δ y ) w 如此,面
e
e
e 的對流通量可寫成
m
˙
e
ϕ
e
=
∣
∣
m
˙
e
,
0
∣
∣
ϕ
C
−
∣
∣
−
m
˙
e
,
0
∣
∣
ϕ
E
=
F
l
u
x
C
e
C
o
n
v
ϕ
C
+
F
l
u
x
F
e
C
o
n
v
ϕ
E
+
F
l
u
x
V
e
C
o
n
v
\begin{aligned} \dot m_e \phi_e &= ||\dot m_e,0||\phi_C-||-\dot m_e,0||\phi_E \\ &= FluxC_e^{Conv}\phi_C+FluxF_e^{Conv}\phi_E+FluxV_e^{Conv} \end{aligned}
m ˙ e ϕ e = ∣ ∣ m ˙ e , 0 ∣ ∣ ϕ C − ∣ ∣ − m ˙ e , 0 ∣ ∣ ϕ E = F l u x C e C o n v ϕ C + F l u x F e C o n v ϕ E + F l u x V e C o n v 其中
F
l
u
x
C
e
C
o
n
v
=
∣
∣
m
˙
e
,
0
∣
∣
F
l
u
x
F
e
C
o
n
v
=
−
∣
∣
−
m
˙
e
,
0
∣
∣
F
l
u
x
V
e
C
o
n
v
=
0
\begin{aligned} &FluxC_e^{Conv}= ||\dot m_e,0|| \\ &FluxF_e^{Conv}=-||-\dot m_e,0|| \\ &FluxV_e^{Conv}=0 \end{aligned}
F l u x C e C o n v = ∣ ∣ m ˙ e , 0 ∣ ∣ F l u x F e C o n v = − ∣ ∣ − m ˙ e , 0 ∣ ∣ F l u x V e C o n v = 0 其中的
∣
∣
a
,
b
∣
∣
=
max
(
a
,
b
)
||a,b||=\max(a,b)
∣ ∣ a , b ∣ ∣ = max ( a , b ) 表明了
a
a
a 和
b
b
b 中的最大值。一樣手法,也可推導面
w
w
w 的對流通量
m
˙
w
ϕ
w
=
∣
∣
m
˙
w
,
0
∣
∣
ϕ
C
−
∣
∣
−
m
˙
w
,
0
∣
∣
ϕ
W
=
F
l
u
x
C
w
C
o
n
v
ϕ
C
+
F
l
u
x
F
w
C
o
n
v
ϕ
W
+
F
l
u
x
V
w
C
o
n
v
\begin{aligned} \dot m_w \phi_w &= ||\dot m_w,0||\phi_C-||-\dot m_w,0||\phi_W \\ &= FluxC_w^{Conv}\phi_C+FluxF_w^{Conv}\phi_W+FluxV_w^{Conv} \end{aligned}
m ˙ w ϕ w = ∣ ∣ m ˙ w , 0 ∣ ∣ ϕ C − ∣ ∣ − m ˙ w , 0 ∣ ∣ ϕ W = F l u x C w C o n v ϕ C + F l u x F w C o n v ϕ W + F l u x V w C o n v 其中
F
l
u
x
C
w
C
o
n
v
=
∣
∣
m
˙
w
,
0
∣
∣
F
l
u
x
F
w
C
o
n
v
=
−
∣
∣
−
m
˙
w
,
0
∣
∣
F
l
u
x
V
w
C
o
n
v
=
0
\begin{aligned} &FluxC_w^{Conv}= ||\dot m_w,0|| \\ &FluxF_w^{Conv}=-||-\dot m_w,0|| \\ &FluxV_w^{Conv}=0 \end{aligned}
F l u x C w C o n v = ∣ ∣ m ˙ w , 0 ∣ ∣ F l u x F w C o n v = − ∣ ∣ − m ˙ w , 0 ∣ ∣ F l u x V w C o n v = 0 把擴散項用上標
D
i
f
f
{Diff}
D i f f 表示,推得一維穩態對流擴散方程的離散格式爲
(
F
l
u
x
C
e
C
o
n
v
+
F
l
u
x
C
e
D
i
f
f
+
F
l
u
x
C
w
C
o
n
v
+
F
l
u
x
C
w
D
i
f
f
)
ϕ
C
+
(
F
l
u
x
F
e
C
o
n
v
+
F
l
u
x
F
e
D
i
f
f
)
ϕ
E
+
(
F
l
u
x
F
w
C
o
n
v
+
F
l
u
x
F
w
D
i
f
f
)
ϕ
W
=
0
\begin{aligned} (FluxC_e^{Conv}&+FluxC_e^{Diff}+FluxC_w^{Conv}+FluxC_w^{Diff})\phi_C\\ &+(FluxF_e^{Conv}+FluxF_e^{Diff})\phi_E+(FluxF_w^{Conv}+FluxF_w^{Diff})\phi_W=0 \end{aligned}
( F l u x C e C o n v + F l u x C e D i f f + F l u x C w C o n v + F l u x C w D i f f ) ϕ C + ( F l u x F e C o n v + F l u x F e D i f f ) ϕ E + ( F l u x F w C o n v + F l u x F w D i f f ) ϕ W = 0 可寫成下面形式
a
C
ϕ
C
+
a
E
ϕ
E
+
a
W
ϕ
W
=
b
C
a_C\phi_C+a_E\phi_E+a_W\phi_W=b_C
a C ϕ C + a E ϕ E + a W ϕ W = b C 其中
a
E
=
F
l
u
x
F
e
C
o
n
v
+
F
l
u
x
F
e
D
i
f
f
=
−
∣
∣
−
m
˙
e
,
0
∣
∣
−
Γ
e
ϕ
S
e
δ
x
e
a
W
=
F
l
u
x
F
w
C
o
n
v
+
F
l
u
x
F
w
D
i
f
f
=
−
∣
∣
−
m
˙
w
,
0
∣
∣
−
Γ
w
ϕ
S
w
δ
x
w
a
C
=
∑
f
(
F
l
u
x
C
f
C
o
n
v
+
F
l
u
x
C
f
D
i
f
f
)
=
∣
∣
m
˙
e
,
0
∣
∣
+
∣
∣
m
˙
w
,
0
∣
∣
+
Γ
e
ϕ
S
e
δ
x
e
+
Γ
w
ϕ
S
w
δ
x
w
=
−
(
a
E
+
a
W
)
+
(
m
˙
e
+
m
˙
w
)
⏟
=
0
b
C
=
−
∑
f
(
F
l
u
x
V
f
C
o
n
v
+
F
l
u
x
V
f
D
i
f
f
)
=
0
\begin{aligned} a_E&= FluxF_e^{Conv}+FluxF_e^{Diff} \\ &= -||-\dot m_e,0|| - \Gamma^\phi_e \frac{S_e}{\delta x_e} \\ a_W&= FluxF_w^{Conv}+FluxF_w^{Diff} \\ &=-||-\dot m_w,0|| -\Gamma^\phi_w \frac{S_w}{\delta x_w} \\ a_C&= \sum_f \left( FluxC_f^{Conv} + FluxC_f^{Diff} \right)\\ &=||\dot m_e,0||+||\dot m_w,0||+\Gamma^\phi_e \frac{S_e}{\delta x_e}+\Gamma^\phi_w \frac{S_w}{\delta x_w} \\ &=-(a_E+a_W)+\underbrace{(\dot m_e + \dot m_w)}_{=0} \\ b_C&=-\sum_f \left( FluxV_f^{Conv} + FluxV_f^{Diff} \right)\\ &=0 \end{aligned}
a E a W a C b C = F l u x F e C o n v + F l u x F e D i f f = − ∣ ∣ − m ˙ e , 0 ∣ ∣ − Γ e ϕ δ x e S e = F l u x F w C o n v + F l u x F w D i f f = − ∣ ∣ − m ˙ w , 0 ∣ ∣ − Γ w ϕ δ x w S w = f ∑ ( F l u x C f C o n v + F l u x C f D i f f ) = ∣ ∣ m ˙ e , 0 ∣ ∣ + ∣ ∣ m ˙ w , 0 ∣ ∣ + Γ e ϕ δ x e S e + Γ w ϕ δ x w S w = − ( a E + a W ) + = 0
( m ˙ e + m ˙ w ) = − f ∑ ( F l u x V f C o n v + F l u x V f D i f f ) = 0 顯而易見,迎風格式推出了負的鄰居係數,並且在知足連續方程的狀況下(即,
m
˙
e
+
m
˙
w
=
0
\dot m_e + \dot m_w=0
m ˙ e + m ˙ w = 0 ),主節點上的係數爲
a
C
=
−
(
a
W
+
a
E
)
a_C=-(a_W+a_E)
a C = − ( a W + a E ) 這確保了有界性。
在連續方程知足的前提下,假設爲均勻網格和常擴散係數,用
ϕ
E
\phi_E
ϕ E 和
ϕ
W
\phi_W
ϕ W 所給出的
ϕ
C
\phi_C
ϕ C 值爲
ϕ
C
−
ϕ
W
ϕ
E
−
ϕ
W
=
2
+
∣
∣
−
P
e
L
,
0
∣
∣
4
+
∣
∣
−
P
e
L
,
0
∣
∣
+
∣
∣
P
e
L
,
0
∣
∣
=
2
+
∣
∣
−
P
e
L
,
0
∣
∣
4
+
∣
P
e
L
∣
\frac{\phi_C-\phi_W}{\phi_E-\phi_W} =\frac{2+||-Pe_L,0||}{4+||-Pe_L,0||+||Pe_L,0||} =\frac{2+||-Pe_L,0||}{4+|Pe_L|}
ϕ E − ϕ W ϕ C − ϕ W = 4 + ∣ ∣ − P e L , 0 ∣ ∣ + ∣ ∣ P e L , 0 ∣ ∣ 2 + ∣ ∣ − P e L , 0 ∣ ∣ = 4 + ∣ P e L ∣ 2 + ∣ ∣ − P e L , 0 ∣ ∣ 將該迎風格式的數值解與精確的解析解、以前中心差分格式的數值解一併展現於下圖中。當
P
e
L
Pe_L
P e L 的值(絕對值)較小時,迎風格式並無中心差分格式的結果準確,這是由於迎風廓線只有一階精度,而線性廓線具備二階精度;而當
P
e
L
Pe_L
P e L 的值(絕對值)較大時,中心差分格式是不穩定的,其表現爲無界性,已經失去了物理意義,而此時的迎風格式,儘管並非特別準確,可是物理意義上是正確的。
如此一來,就有了精確性和穩定性之間的權衡。使用迎風格式,獲得的解即使在高
P
e
L
Pe_L
P e L 下依舊保持有界性和有物理意義,然而付出的代價就是精度較低。另外一方面,二階精度的中心差分格式當
P
e
L
Pe_L
P e L 超出特定閾值的時候會變得不穩定,產生不符合物理意義的解。兩種格式都受到了偏差的影響,一個影響了精確性,另外一個影響了穩定性。這些都是什麼偏差呢?在引入背風(downwind)格式後,我們再討論這個問題。
2.5 背風格式(Downwind Scheme)
若是把迎風格式反過來用,即,用背風格式的話,會發生什麼有趣的事情呢?如上圖所示,在這種插值廓線中,是把界面背風方向節點處的值視做界面上的值,這樣,面
e
e
e 和麪
w
w
w 處的值爲
ϕ
e
=
{
ϕ
E
i
f
m
˙
e
>
0
ϕ
C
i
f
m
˙
e
<
0
ϕ
w
=
{
ϕ
W
i
f
m
˙
w
>
0
ϕ
C
i
f
m
˙
w
<
0
\phi_e=\begin{cases} \phi_E & if & \dot m_e>0 \\ \phi_C & if & \dot m_e<0 \end{cases} \quad\quad\quad \phi_w=\begin{cases} \phi_W & if & \dot m_w>0 \\ \phi_C & if & \dot m_w<0 \end{cases}
ϕ e = { ϕ E ϕ C i f i f m ˙ e > 0 m ˙ e < 0 ϕ w = { ϕ W ϕ C i f i f m ˙ w > 0 m ˙ w < 0 面上的對流通量能夠寫成
m
˙
e
ϕ
e
=
−
∣
∣
−
m
˙
e
,
0
∣
∣
ϕ
C
+
∣
∣
m
˙
e
,
0
∣
∣
ϕ
E
=
F
l
u
x
C
e
C
o
n
v
ϕ
C
+
F
l
u
x
F
e
C
o
n
v
ϕ
E
+
F
l
u
x
V
e
C
o
n
v
m
˙
w
ϕ
w
=
−
∣
∣
−
m
˙
w
,
0
∣
∣
ϕ
C
+
∣
∣
m
˙
w
,
0
∣
∣
ϕ
W
=
F
l
u
x
C
w
C
o
n
v
ϕ
C
+
F
l
u
x
F
w
C
o
n
v
ϕ
W
+
F
l
u
x
V
w
C
o
n
v
\begin{aligned} \dot m_e\phi_e & = - ||-\dot m_e,0||\phi_C+||\dot m_e,0||\phi_E \\ &= FluxC_e^{Conv}\phi_C+FluxF_e^{Conv}\phi_E+FluxV_e^{Conv} \\ \dot m_w\phi_w & = - ||-\dot m_w,0||\phi_C+||\dot m_w,0||\phi_W \\ &= FluxC_w^{Conv}\phi_C+FluxF_w^{Conv}\phi_W+FluxV_w^{Conv} \end{aligned}
m ˙ e ϕ e m ˙ w ϕ w = − ∣ ∣ − m ˙ e , 0 ∣ ∣ ϕ C + ∣ ∣ m ˙ e , 0 ∣ ∣ ϕ E = F l u x C e C o n v ϕ C + F l u x F e C o n v ϕ E + F l u x V e C o n v = − ∣ ∣ − m ˙ w , 0 ∣ ∣ ϕ C + ∣ ∣ m ˙ w , 0 ∣ ∣ ϕ W = F l u x C w C o n v ϕ C + F l u x F w C o n v ϕ W + F l u x V w C o n v 可進一步推得一維穩態對流擴散方程的離散形式爲
(
F
l
u
x
C
e
C
o
n
v
+
F
l
u
x
C
e
D
i
f
f
+
F
l
u
x
C
w
C
o
n
v
+
F
l
u
x
C
w
D
i
f
f
)
ϕ
C
+
(
F
l
u
x
F
e
C
o
n
v
+
F
l
u
x
F
e
D
i
f
f
)
ϕ
E
+
(
F
l
u
x
F
w
C
o
n
v
+
F
l
u
x
F
w
D
i
f
f
)
ϕ
W
=
0
\begin{aligned} (FluxC_e^{Conv}&+FluxC_e^{Diff}+FluxC_w^{Conv}+FluxC_w^{Diff})\phi_C\\ &+(FluxF_e^{Conv}+FluxF_e^{Diff})\phi_E+(FluxF_w^{Conv}+FluxF_w^{Diff})\phi_W=0 \end{aligned}
( F l u x C e C o n v + F l u x C e D i f f + F l u x C w C o n v + F l u x C w D i f f ) ϕ C + ( F l u x F e C o n v + F l u x F e D i f f ) ϕ E + ( F l u x F w C o n v + F l u x F w D i f f ) ϕ W = 0 可寫成下面形式
a
C
ϕ
C
+
a
E
ϕ
E
+
a
W
ϕ
W
=
b
C
a_C\phi_C+a_E\phi_E+a_W\phi_W=b_C
a C ϕ C + a E ϕ E + a W ϕ W = b C 其中
a
E
=
F
l
u
x
F
e
C
o
n
v
+
F
l
u
x
F
e
D
i
f
f
=
∣
∣
m
˙
e
,
0
∣
∣
−
Γ
e
ϕ
S
e
δ
x
e
a
W
=
F
l
u
x
F
w
C
o
n
v
+
F
l
u
x
F
w
D
i
f
f
=
∣
∣
m
˙
w
,
0
∣
∣
−
Γ
w
ϕ
S
w
δ
x
w
a
C
=
∑
f
(
F
l
u
x
C
f
C
o
n
v
+
F
l
u
x
C
f
D
i
f
f
)
=
−
∣
∣
−
m
˙
e
,
0
∣
∣
−
∣
∣
−
m
˙
w
,
0
∣
∣
+
Γ
e
ϕ
S
e
δ
x
e
+
Γ
w
ϕ
S
w
δ
x
w
=
−
(
a
E
+
a
W
)
+
(
m
˙
e
+
m
˙
w
)
⏟
=
0
b
C
=
−
∑
f
(
F
l
u
x
V
f
C
o
n
v
+
F
l
u
x
V
f
D
i
f
f
)
=
0
\begin{aligned} a_E&= FluxF_e^{Conv}+FluxF_e^{Diff} \\ &= ||\dot m_e,0|| - \Gamma^\phi_e \frac{S_e}{\delta x_e} \\ a_W&= FluxF_w^{Conv}+FluxF_w^{Diff} \\ &=||\dot m_w,0|| -\Gamma^\phi_w \frac{S_w}{\delta x_w} \\ a_C&= \sum_f \left( FluxC_f^{Conv} + FluxC_f^{Diff} \right)\\ &=-||-\dot m_e,0||-||-\dot m_w,0||+\Gamma^\phi_e \frac{S_e}{\delta x_e}+\Gamma^\phi_w \frac{S_w}{\delta x_w} \\ &=-(a_E+a_W)+\underbrace{(\dot m_e + \dot m_w)}_{=0} \\ b_C&=-\sum_f \left( FluxV_f^{Conv} + FluxV_f^{Diff} \right)\\ &=0 \end{aligned}
a E a W a C b C = F l u x F e C o n v + F l u x F e D i f f = ∣ ∣ m ˙ e , 0 ∣ ∣ − Γ e ϕ δ x e S e = F l u x F w C o n v + F l u x F w D i f f = ∣ ∣ m ˙ w , 0 ∣ ∣ − Γ w ϕ δ x w S w = f ∑ ( F l u x C f C o n v + F l u x C f D i f f ) = − ∣ ∣ − m ˙ e , 0 ∣ ∣ − ∣ ∣ − m ˙ w , 0 ∣ ∣ + Γ e ϕ δ x e S e + Γ w ϕ δ x w S w = − ( a E + a W ) + = 0
( m ˙ e + m ˙ w ) = − f ∑ ( F l u x V f C o n v + F l u x V f D i f f ) = 0 在連續方程知足的前提下,假設爲均勻網格和常擴散係數,用
ϕ
E
\phi_E
ϕ E 和
ϕ
W
\phi_W
ϕ W 所給出的
ϕ
C
\phi_C
ϕ C 值爲
ϕ
C
−
ϕ
W
ϕ
E
−
ϕ
W
=
2
−
∣
∣
P
e
L
,
0
∣
∣
4
−
∣
∣
−
P
e
L
,
0
∣
∣
−
∣
∣
P
e
L
,
0
∣
∣
=
2
−
∣
∣
P
e
L
,
0
∣
∣
4
−
∣
P
e
L
∣
\frac{\phi_C-\phi_W}{\phi_E-\phi_W} =\frac{2-||Pe_L,0||}{4-||-Pe_L,0||-||Pe_L,0||} =\frac{2-||Pe_L,0||}{4-|Pe_L|}
ϕ E − ϕ W ϕ C − ϕ W = 4 − ∣ ∣ − P e L , 0 ∣ ∣ − ∣ ∣ P e L , 0 ∣ ∣ 2 − ∣ ∣ P e L , 0 ∣ ∣ = 4 − ∣ P e L ∣ 2 − ∣ ∣ P e L , 0 ∣ ∣ 不用把上式的圖形畫出來,也能夠看出,當
∣
P
e
L
∣
→
4
|Pe_L|\rightarrow4
∣ P e L ∣ → 4 的時候,解變得徹底無界。背風格式與其它格式聯合起來預測突變界面時是有用的,然而這裏引入背風格式的目的主要是爲了便於在下一節給出更好的穩定性分析。
3 截斷偏差:數值擴散和反擴散(Truncation Error: Numerical Diffusion and Anti-Diffusion)
截斷偏差是由離散過程的天然近似所形成的,對於笛卡爾網格上的一維情形較容易分析。下面將作迎風、背風、中心差分格式的擴散和反擴散分析。
3.1 迎風格式
針對經過迎風格式離散獲得的方程,嘗試將其恢復到最初的積分方程並考察其截斷偏差。假設流動是沿着
x
x
x 正方向的,將
ϕ
C
\phi_C
ϕ C 和
ϕ
W
\phi_W
ϕ W 分別寫成
ϕ
e
\phi_e
ϕ e 和
ϕ
w
\phi_w
ϕ w 函數的形式,迎風格式爲
ϕ
e
=
ϕ
C
ϕ
w
=
ϕ
W
\phi_e=\phi_C\quad\quad\quad\phi_w=\phi_W
ϕ e = ϕ C ϕ w = ϕ W 這樣,使用迎風格式的一維對流擴散方程離散形式爲
(
ρ
u
Δ
y
)
e
ϕ
C
−
(
ρ
u
Δ
y
)
w
ϕ
W
−
[
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
0
(\rho u \Delta y)_e\phi_C-(\rho u \Delta y)_w\phi_W- \left[\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]=0
( ρ u Δ y ) e ϕ C − ( ρ u Δ y ) w ϕ W − [ ( Γ ϕ d x d ϕ Δ y ) e − ( Γ ϕ d x d ϕ Δ y ) w ] = 0 將
ϕ
C
\phi_C
ϕ C 作一維Taylor展開,以單元面
e
e
e 的值爲基準,得
ϕ
C
=
ϕ
e
+
(
d
ϕ
d
x
)
e
(
x
C
−
x
e
)
+
1
2
(
d
2
ϕ
d
x
2
)
e
(
x
C
−
x
e
)
2
+
.
.
.
=
ϕ
e
−
(
d
ϕ
d
x
)
e
(
x
e
−
x
C
)
+
.
.
.
\begin{aligned} \phi_C&=\phi_e+\left( \frac{d\phi}{dx} \right)_e(x_C-x_e)+\frac{1}{2}\left( \frac{d^2\phi}{dx^2} \right)_e(x_C-x_e)^2+...\\ &=\phi_e-\left( \frac{d\phi}{dx} \right)_e(x_e-x_C)+... \end{aligned}
ϕ C = ϕ e + ( d x d ϕ ) e ( x C − x e ) + 2 1 ( d x 2 d 2 ϕ ) e ( x C − x e ) 2 + . . . = ϕ e − ( d x d ϕ ) e ( x e − x C ) + . . . 對於均勻網格
ϕ
C
=
ϕ
e
−
(
d
ϕ
d
x
)
e
(
δ
x
)
e
2
+
1
2
(
d
2
ϕ
d
x
2
)
e
(
(
δ
x
)
e
2
)
2
+
.
.
.
\phi_C=\phi_e-\left( \frac{d\phi}{dx} \right)_e\frac{(\delta x)_e}{2}+\frac{1}{2}\left( \frac{d^2\phi}{dx^2} \right)_e\left(\frac{(\delta x)_e}{2}\right)^2+...
ϕ C = ϕ e − ( d x d ϕ ) e 2 ( δ x ) e + 2 1 ( d x 2 d 2 ϕ ) e ( 2 ( δ x ) e ) 2 + . . . 可得到
ϕ
W
\phi_W
ϕ W 的類似表達式
ϕ
W
=
ϕ
w
−
(
d
ϕ
d
x
)
w
(
δ
x
)
w
2
+
1
2
(
d
2
ϕ
d
x
2
)
w
(
(
δ
x
)
w
2
)
2
+
.
.
.
\phi_W=\phi_w-\left( \frac{d\phi}{dx} \right)_w\frac{(\delta x)_w}{2}+\frac{1}{2}\left( \frac{d^2\phi}{dx^2} \right)_w\left(\frac{(\delta x)_w}{2}\right)^2+...
ϕ W = ϕ w − ( d x d ϕ ) w 2 ( δ x ) w + 2 1 ( d x 2 d 2 ϕ ) w ( 2 ( δ x ) w ) 2 + . . . 截去二階項和高階項,將其代入到對流項中,離散方程的左端項變爲
(
ρ
u
Δ
y
)
e
ϕ
C
−
(
ρ
u
Δ
y
)
w
ϕ
W
−
[
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
(
ρ
u
Δ
y
)
e
[
ϕ
e
−
(
d
ϕ
d
x
)
e
(
δ
x
)
e
2
]
−
(
ρ
u
Δ
y
)
w
[
ϕ
w
−
(
d
ϕ
d
x
)
w
(
δ
x
)
w
2
]
−
[
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
\begin{aligned} &(\rho u \Delta y)_e\phi_C-(\rho u \Delta y)_w\phi_W- \left[\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]=\\ &(\rho u \Delta y)_e\left[ \phi_e-\left( \frac{d\phi}{dx} \right)_e\frac{(\delta x)_e}{2} \right]-(\rho u \Delta y)_w\left[ \phi_w-\left( \frac{d\phi}{dx} \right)_w\frac{(\delta x)_w}{2} \right]-\\ &\left[\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right] \end{aligned}
( ρ u Δ y ) e ϕ C − ( ρ u Δ y ) w ϕ W − [ ( Γ ϕ d x d ϕ Δ y ) e − ( Γ ϕ d x d ϕ Δ y ) w ] = ( ρ u Δ y ) e [ ϕ e − ( d x d ϕ ) e 2 ( δ x ) e ] − ( ρ u Δ y ) w [ ϕ w − ( d x d ϕ ) w 2 ( δ x ) w ] − [ ( Γ ϕ d x d ϕ Δ y ) e − ( Γ ϕ d x d ϕ Δ y ) w ] 能夠改寫爲
(
ρ
u
Δ
y
)
e
ϕ
C
−
(
ρ
u
Δ
y
)
w
ϕ
W
−
[
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
(
ρ
u
Δ
y
)
e
ϕ
e
−
(
ρ
u
Δ
y
)
w
ϕ
w
−
[
(
Γ
ϕ
+
ρ
u
δ
x
2
)
e
(
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
+
ρ
u
δ
x
2
)
w
(
d
ϕ
d
x
Δ
y
)
w
]
\begin{aligned} &(\rho u \Delta y)_e\phi_C-(\rho u \Delta y)_w\phi_W- \left[\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]=\\ &(\rho u \Delta y)_e\phi_e-(\rho u \Delta y)_w\phi_w-\left[\left(\Gamma^\phi +\rho u\frac{\delta x}{2}\right)_e\left(\frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi +\rho u\frac{\delta x}{2}\right)_w\left(\frac{d\phi}{dx}\Delta y\right)_w\right] \end{aligned}
( ρ u Δ y ) e ϕ C − ( ρ u Δ y ) w ϕ W − [ ( Γ ϕ d x d ϕ Δ y ) e − ( Γ ϕ d x d ϕ Δ y ) w ] = ( ρ u Δ y ) e ϕ e − ( ρ u Δ y ) w ϕ w − [ ( Γ ϕ + ρ u 2 δ x ) e ( d x d ϕ Δ y ) e − ( Γ ϕ + ρ u 2 δ x ) w ( d x d ϕ Δ y ) w ] 顯而易見,待求解的方程中額外加入了擴散項份量,這常被稱爲截斷偏差。數值擴散的值爲
Γ
t
r
u
n
c
a
t
i
o
n
ϕ
=
ρ
u
δ
x
2
\Gamma^\phi_{truncation}=\rho u \frac{\delta x}{2}
Γ t r u n c a t i o n ϕ = ρ u 2 δ x 該截斷偏差,也稱爲流向擴散,經過更改擴散係數的值影響了待求解方程,從而下降了解的精確性。這樣,至關於改變了對流擴散方程的擴散效應。另外一方面,該額外的流向擴散效應也是有益的,由於其對解進行了限定,起到了穩定做用,可獲得物理上有意義的解。
顯然,要想減小這個流向數值擴散,須要針對對流項構造高階精度的近似格式。然而,後面章節中會講到,這些格式在構造的時候還須要保證解的有界性。
3.2 背風格式
跟上一小節相似,假設流動是沿着
x
x
x 正方向的,將
ϕ
E
\phi_E
ϕ E 和
ϕ
C
\phi_C
ϕ C 分別寫成
ϕ
e
\phi_e
ϕ e 和
ϕ
w
\phi_w
ϕ w 函數的形式,背風格式爲
ϕ
e
=
ϕ
E
ϕ
w
=
ϕ
C
\phi_e=\phi_E\quad\quad\quad\phi_w=\phi_C
ϕ e = ϕ E ϕ w = ϕ C 這樣,使用背風格式的一維對流擴散方程離散形式爲
(
ρ
u
Δ
y
)
e
ϕ
E
−
(
ρ
u
Δ
y
)
w
ϕ
C
−
[
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
e
−
(
Γ
ϕ
d
ϕ
d
x
Δ
y
)
w
]
=
0
(\rho u \Delta y)_e\phi_E-(\rho u \Delta y)_w\phi_C- \left[\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_e-\left(\Gamma^\phi \frac{d\phi}{dx}\Delta y\right)_w\right]=0
( ρ u Δ y ) e ϕ E − ( ρ u Δ y ) w ϕ C − [ ( Γ ϕ d x d ϕ Δ y ) e − ( Γ ϕ d x d ϕ Δ y ) w ] = 0 在均勻網格上,將
ϕ
E
\phi_E
ϕ E 和
ϕ
C
\phi_C
ϕ C 作一維Taylor展開,分別以單元面
e
e
e 和
w
w
w 的值爲基準,得
ϕ
E
=
ϕ
e
+
(
d
ϕ
d
x
)
e
(
δ
x
)
e
2
+
1
2
(
d
2
ϕ
d
x
2
)
e
(
(
δ
x
)
e
2
)