4 中心差分和迎风差分

4 中心差分和迎风差分

背景

在《3. 有限体积法:推导方程》等之前的课程中,我们已经讨论了如下方程,一个是稳态对流-扩散方程:

\[\begin{equation} \nabla\cdot(\rho\boldsymbol{u}\phi)=\nabla\cdot(\Gamma\nabla\phi)^{+}S_{\phi} \end{equation} \]

它关于一个控制体积的积分形式为:

\[\begin{equation} \int_An\cdot(\rho u\phi)dA=\int_An\cdot[\Gamma\nabla\phi]dA+\int_{CV}s_\phi dA \end{equation} \]

在一个控制体积中的通量平衡:左侧给出净对流通量,右侧给出净扩散通量,控制体积内就涉及物理量\(\phi\)的产生或毁灭了。

关于对流项的离散,有一个问题,是关于在一个控制体积的表面,输运的物理量\(\phi\),以及其穿过边界1的对流通量的计算。

稳态一维对流与扩散

回顾一下《1:数值方法A》中的一维热传导方程。我们在这里考虑相同形式的,在给定的一维流场u当中,某物理量\(\phi\)的稳态对流和扩散:

image

\[\begin{equation} \frac{d}{dx}(\rho u\phi)=\frac{d}{dx}{\left(\mathrm{Г}\frac{d\phi}{dx}\right)} \end{equation} \]

注意:这里\(\Gamma\)不是空气动力学中的环量,而扩散系数

注意,在这里,连续性要求:

\[\begin{equation} \frac{d}{dx}(\rho u)=0 \end{equation} \]

对上述公式3和4关于控制体积(如图,以w为左边界、e为右边界,流向从左向右)积分:

\[\begin{equation} (\rho uA\phi)_e-(\rho uA\phi)_w=\left(\Gamma A\frac{\partial\phi}{\partial x}\right)_e-\left(\Gamma A\frac{\partial\phi}{\partial x}\right)_w \end{equation} \]

\[\begin{equation} (\rho uA)_e-(\rho uA)_w=0 \end{equation} \]

定义两个变量F和D,分别表示单位面积的对流质量通量、表面的扩散导热系数:

\[\begin{equation} \begin{aligned} F&=\rho u \\ D&=\frac{\Gamma}{\delta x} \end{aligned} \end{equation} \]

这样,对该控制体积的西侧和东侧(左西右东),有:

\[\begin{equation} \begin{aligned} F_{w}&=(\rho u)_{w}A_{w}\\ D_{w}&=A_{w}\frac{\Gamma_{w}}{\delta x_{WP}}\\ F_{e}&=(\rho u)_{e}A_{e}\\ D_{e}&=A_{e}\frac{\Gamma_{e}}{\delta x_{PE}}\\ \end{aligned} \end{equation} \]

注意:没角标的D是单位面积的扩散导热系数,而有角标的是乘上了面积之后的扩散导热系数。

如果扩散系数\(\Gamma\)视为在每个控制体积内均匀分布,对于两个节点之间不等分间隔的扩散导热系数D可写作:

\[\begin{equation} \frac{1}{D_w}=\frac{1}{D_W}+\frac{1}{D_P}=\frac{1}{A_W\frac{\Gamma_W}{\delta_{WW}}}+\frac{1}{A_P\frac{\Gamma_P}{\delta_{WP}}} \end{equation} \]

取倒数可得:

\[\begin{equation} D_{w}=\frac{1}{\frac{1}{A_{W}\frac{\Gamma_{W}}{\delta_{WW}}}+\frac{1}{A_{P}\frac{\Gamma_{P}}{\delta_{WP}}}}=A_{w}\frac{1}{\left(\frac{\delta_{WW}}{\Gamma_{W}}+\frac{\delta_{WP}}{\Gamma_{P}}\right)} \end{equation} \]

这里我们回看上面的图,认为\(A_W=A_P=A_w\)(注意大小写)。

这样,我们可以得到当前控制体积左侧边界和右侧边界的扩散导热系数为:

\[\begin{equation} D_w=A_w\left[\frac{\delta x_{Ww}}{\Gamma_W}+\frac{\delta x_{WP}}{\Gamma_P}\right]^{-1}\quad D_e=A_e\left[\frac{\delta x_{Pe}}{\Gamma_P}+\frac{\delta x_{eE}}{\Gamma_E}\right]^{-1} \end{equation} \]

我们回到公式5和6,即稳态对流-扩散方程和连续性方程,代入上述参数,有:

\[\begin{equation} F_e\phi_e-F_w\phi_w=D_e(\phi_E-\phi_P)-D_w(\phi_P-\phi_W) \end{equation} \]

\[\begin{equation} F_e-F_w=0 \end{equation} \]

为求解方程12,需要计算在东/西侧的输运物理量\(\phi\)

使用什么样的差分方法来求解或指定\(\phi_w\)\(\phi_e\),是有限体积法的关键。

解析解和中心差分法

根据方程3,即微分形式的稳态对流-扩散方程描述,考虑一个通过对流和扩散方式,穿过一个一维域输运的物理量\(\phi\)

定义边界条件为:在\(x=0\)处,\(\phi = \phi_0\);在\(x=L\)处,\(\phi = \phi_L\)

求控制体积内任意位置\(x\in [0,~L]\)的解析解:

\[\begin{equation} \frac{\phi-\phi_0}{\phi_L-\phi_0}=\frac{\exp\left(\frac{\rho ux}{\Gamma}\right)-1}{\exp\left(\frac{\rho uL}{\Gamma}\right)-1}=\frac{\exp\left(Pe\frac{x}{L}\right)-1}{\exp\left(Pe\right)-1} \end{equation} \]

这里引入了一个新概念:佩克数(Peclet number)\(Pe = \rho u\)

image

当佩克数\(Pe = 0\)时,在对流-扩散中,只考虑扩散效应。

如上图所示,此时物理量在控制体积内部的变化是线性的。

\(Pe \gg 1\)时,解的表现类似边界层,上游(迎风)值在\(x=0\sim L\)之间占主要地位,而当x接近L时,内部物理量\(\phi\)迅速从\(\phi_0\)突变到\(\phi_L\),上图很好地展示了此时物理量突变的过程。

对于一个均匀网格(uniform grid),引入中心差分法(central diffusion),表面物理量\(\phi\)的值为:

\[\begin{equation} \phi_e=\frac{\phi_P+\phi_E}{2} \quad\phi_w=\frac{\phi_W+\phi_P}{2} \end{equation} \]

将上述结果回代到方程12,即稳态对流-扩散方程用对流质量通量F和扩散传导系数D表示:

\[\begin{equation} \frac{F_e}{2}\left(\phi_P+\phi_E\right)-\frac{F_w}{2}\left(\phi_W+\phi_P\right)=D_e(\phi_E-\phi_P)-D_w(\phi_P-\phi_W) \end{equation} \]

重新排序,把物理量提出来,变成:

\[\begin{equation} \begin{aligned} &\underbrace{\left[\left(D_w+\frac{F_w}{2}\right)+\left(D_e-\frac{F_e}{2}\right)-(F_e-F_w)\right]}_{\boxed{a_P}}\phi_P\\ &=\underbrace{\left(D_w+\frac{F_w}{2}\right)}_{\boxed{a_W}}\phi_W+\underbrace{\left(D_e-\frac{F_e}{2}\right)}_{\boxed{a_E}}\phi_E \end{aligned} \end{equation} \]

至此,我们把当前控制节点西侧节点的物理量\(\phi_W\)的系数\(a_W\)、东侧的物理量\(\phi_E\)的系数\(a_E\),获得了离散化对流-扩散方程的中心差分表达式。其基本形式为:

\[\begin{equation} a_P\phi_P=a_W\phi_W+a_E\phi_E \end{equation} \]

其中:

  • \(a_w = D_w + \frac{F_w}{2}\)
  • \(a_E = D_e + \frac{F_e}{2}\)
  • \(a_P = a_w + a_E + (F_e - F_w)\)

注意到,对流质量通量F和佩克数Pe的表达式都是\(\rho u\),因此,如果Pe数是基于网格的特征长度尺度(grid characteristic length scale)得出的,我们可以把它称为网格佩克数,因此:

\[\begin{equation} \begin{aligned} \left[D_w\left(1+\frac{Pe}{2}\right)+D_e\left(1-\frac{Pe}{2}\right)-(F_e-F_w)\right]\phi_P\\=D_w\left(1+\frac{Pe}{2}\right)\phi_W+D_e\left(1-\frac{Pe}{2}\right)\phi_E \end{aligned} \end{equation} \]

当佩克数小于2时,近似认为中心差分得到的结果和解析解相同。

当佩克数大于2时,系数\(a_E\)将会小于0,因此使用中心差分得到的解是不真实的。

故离散方程中的所有参数都应当大于0。

迎风差分

迎风差分(upwind differencing)或供体单元差分(donor cell differencing)法,在确定单元面的值时考虑流动方向,将单元面处的对流值\(\phi\)认为等于上游节点的值。

image

当流动方向从西向东时,认为西侧\(\phi_w = \phi_W\),东侧\(\phi_e = \phi_P\)

image

如果倒反天罡,让流动方向从东向西呢?

此时,我们认为,西侧表面的值变成当前节点中心的值,东侧表面的值变成东侧节点中心值,即\(\phi_w = \phi_P\)\(\phi_e = \phi_E\)

我们用一种方便编程的方式,描述每个表面的对流通量:

\[\begin{equation} \begin{aligned} (\rho u\phi)_{e}&=F_{e}\phi_{e}=\phi_{P}max(F_{e},0)-\phi_{E}\max(-F_{e},0)\\ (\rho u\phi)_{w}&=F_{w}\phi_{w}=\phi_{W}max(F_{w},0)-\phi_{P}\max(-F_{w},0) \end{aligned} \end{equation} \]

解释一下这组方程,以西侧表面的物理量\(\phi_w\)为例,考虑流动从西向东:

  • \(\phi_w = \phi_W\),此时\(F_w\)为正,max(\(F_w,~0\))为\(F_w\)\(\phi_W\)项不为0;max(\(-F_w,~0\))为0,\(\phi_P\)项为0。

回代到方程12,即稳态对流-扩散方程用对流质量通量F和扩散传导系数D表示,可得:

\[\begin{equation} \begin{aligned} &\phi_P\max(F_e,0) - \phi_E\max(-F_e,0) \\ & - \phi_W\max(F_w,0) + \phi_P\max(-F_w,0) \\ & = D_e(\phi_E - \phi_P) - D_w(\phi_P - \phi_W) \end{aligned} \end{equation} \]

对上述公式重新排列,有:

\[\begin{equation} \begin{aligned} &[D_w(1+max(Pe,0))+D_e(1+max(-Pe,0))+(F_e-F_w)]\phi_P\\ &=D_w(1+max(Pe,0))\phi_W+D_e(1+max(-Pe,0))\phi_E \end{aligned} \end{equation} \]

我们把它用标准形式\(a_P\phi_P=a_W\phi_W+a_E\phi_E\)表示,其中:

  • \(a_W = D_w[1 + max(Pe,~0)]\)
  • \(a_E = D_e[1 + max(-Pe,~0)]\)
  • \(a_P = a_W + a_E + (F_e - F_w)\)

总结

中心差分和迎风差分的本质,都是构建形如\(a_P\phi_P=a_W\phi_W+a_E\phi_E\)的方程,其中\(a_P = a_W + a_E + (F_e - F_w)\)

但对于参数\(a_W\)\(a_E\)(分别描述西侧网格中心节点,和东侧网格中心节点),见下表。

image

posted @ 2024-12-27 14:54  灰鲤  阅读(6)  评论(0编辑  收藏  举报