有限體積法

有限体积法( 英文:finite volume method )是一种以数值方法解偏微分方程的計算方式。 在有限體積法中,將要描述的物理實體切分為網格單元來描述,並使用发散定理,將所有包含发散项的偏微分方程中的體積積分轉換為表面积分。然后將每個網格的项加總,便成為每個有限體積表面的通量。因为進入给定體積的通量与离开相鄰體積的通量相同,所以这些方法是守恆的。该方法用於许多计算流体动力学軟體。

有限体积法常被拿來與有限元素分析做比較,后者使用節點值来近似導數,或者使用有限元方法来使用局部數值来逼近解的局部近似值,并通過將它們加總在一起来形成全域近似值。另一方面,有限體積法會計算某个體積中的網格解之平均,然后使用此平均值来決定單元内解的近似值。

舉例
一维平流問題:

: \quad (1) \qquad \qquad \frac{\partial\rho}{\partial t}+\frac{\partial f}{\partial x}=0,\quad t\ge0.

\rho=\rho \left( x,t \right) \ 在這裡代表狀態變量, f=f \left( \rho \left( x,t \right) \right) \ 代表的通量或流量 \rho \ 。習慣上, f \ 正值代表向右流動,而 f \ 負值代表向左流動。如果假設式(1)表示恆定面積的流動介質,則可以空间域 x \ ,细分為數個網格單元以每個網格單元所佔的有限體積以 i \ 作為標記 。對於特定的單元 i \ ,我们可以定義該體積某物理量( 壓力、溫度等 )之通量或流量平均值 {\rho }_i \left( t \right) = \rho \left( x, t \right) \ 在時間 {t=t_1}\ 和{ x \in \left[ x_{i-\frac{1}{2}}, x_{i+\frac{1}{2}} \right] }\ ,如式(2)

: \quad (2) \qquad \qquad \bar{\rho}_i \left( t_1 \right) = \frac{1}{ x_{i+\frac{1}{2}} - x_{i-\frac{1}{2}}} \int_{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}} \rho \left(x,t_1 \right)\, dx ,

而在時間 {t = t_2}\ 時式(2)可寫為:

: \quad (3) \qquad \qquad \bar{\rho}_i \left( t_2 \right) = \frac{1}{x_{i+\frac{1}{2}} - x_{i-\frac{1}{2}}} \int_{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}} \rho \left(x,t_2 \right)\, dx ,

此處 x_{i-\frac{1}{2}} \ 和 x_{i+\frac{1}{2}} \ 分别代表上游和下游面或網格單元的交界面位置 i^{th} \ 。

將式(1)積分,可得:

: \quad (4) \qquad \qquad \rho \left( x, t_2 \right) = \rho \left( x, t_1 \right) - \int_{t_1}^{t_2} f_x \left( x,t \right)\, dt,

當f_x=\frac{\partial f}{\partial x} 。

為了得到在時間 t=t_{2} \ 的有限體積平均值 \rho\left(x,t\right) ,在此積分位於整個有限體積的所有網格的流量 \rho\left(x,t_2 \right) ,並\left[ x_{i-\frac{1}{2}}, x_{i+\frac{1}{2}} \right] 並將計算结果除以\Delta x_i = x_{i+\frac{1}{2}}-x_{i-\frac{1}{2}} ,即可得:

: \quad (5) \qquad \qquad \bar{\rho}_{i}\left( t_{2}\right) =\frac{1}{\Delta x_i}\int_{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}}\left\{ \rho\left( x,t_{1}\right) - \int_{t_{1}}^{t_2} f_{x} \left( x,t \right) dt \right\} dx.

我們可以逆向積分的順序。同样,请记住,流量垂直於單元的表面。現在,因为一维f_x \triangleq \nabla \cdot f ,我们可以應用散度定理,即\oint_{v}\nabla\cdot fdv=\oint_{S}f\, dS ,并用的值代替散度的体积积分f(x) \ 在網格單元表面計算(某單元與其他單元之前後交界面x_{i-\frac{1}{2}} \ 和 x_{i+\frac{1}{2}} \ )的有限體積如下:

: \quad (6) \qquad \qquad \bar{\rho}_i \left( t_2 \right) = \bar{\rho}_i \left( t_1 \right)

  • \frac{1}{\Delta x_{i}}

\left( \int_{t_1}^{t_2} f_{i + \frac{1}{2}} dt

  • \int_{t_1}^{t_2} f_{i - \frac{1}{2}} dt

\right) .

當f_{i \pm \frac{1}{2}} =f \left( x_{i \pm \frac{1}{2}}, t \right) 。

因此,對于上述問題,我们可以得出一个半離散的數值格式,其單元中心的索引為 i\ ,且單元交界面通量的索引為 i\pm\frac{1}{2} ,通過對時間對式(6)進行微分,可得:

: \quad (7) \qquad \qquad \frac{d \bar{\rho}_i}{d t} + \frac{1}{\Delta x_i} \left[
f_{i + \frac{1}{2}} - f_{i - \frac{1}{2}} \right] =0 ,

通過某單元交界面通量的值 f_{i \pm \frac{1}{2}} 可以通过對單元平均值进行内插或外推来獲得。式(7)對於該有限體積的平均值是精确的,因為在推導過程中未進行任何近似。

該方法也可以應用於2D形況,只要同時考慮單元四周交界面,北面、南面、东面和西面即可。

一般守恆法則
我們還可以考慮以下PDE代表的一般守恒定律問題,

: \quad (8) \qquad \qquad {{\partial {\mathbf u}} \over {\partial t}} + \nabla \cdot {\mathbf f}\left( {\mathbf u } \right) = {\mathbf 0} .

此處 {\mathbf u} \ 代表狀態向量\mathbf f \ 代表相应的通量張量。同样,我們可以將空間域细分為有限體積的網格單元。對於特定的網格單元i \ ,將體積積分乘以單元的總體積 v _{i} \ , 如式(9)。

: \quad (9) \qquad \qquad \int _{v_{i}} {{\partial {\mathbf u}} \over {\partial t}}\, dv

  • \int _{v_{i}} \nabla \cdot {\mathbf f}\left( {\mathbf u } \right)\, dv = {\mathbf 0} .

將第一項積分可得体积平均值然后将散度定理應用於第二項,可得:

: \quad (10) \qquad \qquad
v_{i} {{d {\mathbf {\bar u} }_{i} } \over {dt}} + \oint _{S_{i} }
{\mathbf f} \left( {\mathbf u } \right) \cdot {\mathbf n }\ dS = {\mathbf 0},

此處 S_{i} \ 代表單元的總表面積, {\mathbf n}是垂直於表面並指向外的單位向量。最后,可得一般结果如式(11)。

: \quad (11) \qquad \qquad
{{d {\mathbf {\bar u} }_{i} } \over {dt}} + {{1} \over {v_{i}} } \oint _{S_{i} }
{\mathbf f} \left( {\mathbf u } \right)\cdot {\mathbf n }\ dS = {\mathbf 0} .

同樣的,可以通過對單元平均值进行内插或外推来重建交界面通量的值。實際的數值將取决於問題的幾何形狀和軮格結構。

有限体积方案是守恆的,因為單元平均会通过交界面通量而變化。換句話說,某個單元所損失的物理量,必定會通過交界面而被另一單元所獲得!

相關文獻

  • Eymard, R. Gallouët, T. R., (2000) The finite volume method Handbook of Numerical Analysis, Vol. VII, 2000, p. 713–1020. Editors: P.G. Ciarlet and J.L. Lions.
  • Hirsch, C. (1990), Numerical Computation of Internal and External Flows, Volume 2: Computational Methods for Inviscid and Viscous Flows, Wiley.
  • Laney, Culbert B. (1998), Computational Gas Dynamics, Cambridge University Press.
  • LeVeque, Randall (1990), Numerical Methods for Conservation Laws, ETH Lectures in Mathematics Series, Birkhauser-Verlag.
  • LeVeque, Randall (2002), Finite Volume Methods for Hyperbolic Problems, Cambridge University Press.
  • Patankar, Suhas V. (1980), Numerical Heat Transfer and Fluid Flow, Hemisphere.
  • Tannehill, John C., et al., (1997), Computational Fluid mechanics and Heat Transfer, 2nd Ed., Taylor and Francis.
  • Toro, E. F. (1999), Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer-Verlag.
  • Wesseling, Pieter (2001), Principles of Computational Fluid Dynamics, Springer-Verlag.

参考資料
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。