首页 > 其他分享 >4 中心差分和迎风差分

4 中心差分和迎风差分

时间:2024-12-27 14:59:33浏览次数:2  
标签:phi right frac 迎风 中心 equation begin 差分 end

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

标签:phi,right,frac,迎风,中心,equation,begin,差分,end
From: https://www.cnblogs.com/yukibvvd/p/18635802/4-center-differential-and-wind-differential-di

相关文章

  • 【威胁情报】腾讯安全威胁情报中心推出必修安全漏洞清单
    所谓必修漏洞,就是运维人员必须修复、不可拖延、影响范围较广的漏洞,被黑客利用并发生入侵事件后,会造成十分严重的后果。腾讯安全威胁情报中心参考“安全漏洞的危害及影响力、漏洞技术细节披露情况、该漏洞在安全技术社区的讨论热度”等因素,综合评估该漏洞在攻防实战场景的风险。当......
  • 搭建高效帮助中心:9步实现企业与平台的协同
    搭建一个优秀的帮助中心可以帮助企业更好地向用户传递信息,提高用户满意度和忠诚度。在今天的数字化时代,许多企业都已经开始意识到了帮助中心的重要性。步骤1:明确目标和用户需求在开始创建帮助中心之前,您需要首先明确目标和用户需求。帮助中心的目标是什么?是提高用户的满意......
  • 树莓派2老当益壮:Kodi影视中心和vlc多媒体播放器安装调试
    树莓派2老当益壮:Kodi影视中心和vlc多媒体播放器安装调试Kodi是一款免费的开源媒体播放器和影视中心,可在多个平台上使用,包括Android、Linux和Windows,当然还有树莓派!‌VLC(VLCmediaplayer)是一款自由、开源的跨平台多媒体播放器。树莓派下Kodi安装和使用树莓派2,安装了树莓......
  • 用户中心-小记
    用户中心-小记实操遇见的问题用npm或yarn无法安装umi安装报错或者一直卡顿的问题:**首先已经确保在node.js官网安装好了之后在命令行*用node-v查看版本号(有版本号说明安装成功),然后安装tyarn,使用npmiyarntyarn-g命令在命令行安装(-g:全局安装),安装完之后同样输入......
  • 前缀和与差分
    前缀和与差分1.一维前缀和在学习前缀和之前,我们先来看一个题目,了解前缀和的用处。链接:题目链接题目描述给定一个数组a,有q次询问,对于每次询问:给定两个数l,r。求第l个数到第r个数的和。输入描述第一行一个整数表示样例个数T,1<=T<=10。对于每组样例:第一行两个整数n,q......
  • 【字符串】-Lc5-最长回文子串(中心扩展法)
    写在前面  最近想复习一下数据结构与算法相关的内容,找一些题来做一做。如有更好思路,欢迎指正。目录写在前面一、场景描述二、具体步骤1.环境说明2.代码写在后面一、场景描述  最长回文子串。给你一个字符串s,找到s中最长的回文子串。定义:如果字符串的反......
  • 剑指Offer|LCR 012. 寻找数组的中心下标
    LCR012.寻找数组的中心下标给你一个整数数组nums,请计算数组的中心下标。数组中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为0,因为在下标的左侧不存在元素。这一点对于中心下标位于数......
  • 从0到1手写实现前端事件中心机制
    1.引言在前端开发中,尤其是构建大型应用时,组件之间的通信变得非常复杂。为了实现组件之间的解耦,我们通常会采用事件驱动的方式。事件中心(EventEmitter)机制就是通过集中管理和分发事件来解耦生产者(事件的触发者)和消费者(事件的处理者)。这种机制尤其适合在复杂的前端应用中,减少......
  • 差分约束系统
    差分约束用于求有\(n\)个变量,\(m\)条限制,每条限制只与两个变量的差有关的问题的一组解。一般可以转化为最短路或者最长路解决。最短路:用三角形不等式\(dis_v\ledis_u+w\)来保证解合法,这样一条不等式等价于\(x_v\lex_u+w\)。最长路:类似最短路,用\(dis_v\gedis_u+w\)来保证解......
  • 【差分约束】学习笔记
    BasicTips差分约束,即为存在一个差分约束系统,即类似\(x_i-x_j\leqk\)的\(n\)元一次不等式组,求出一组解使得该组内所有不等式全部成立,即\(x_1=s_1,x_2=s_2\dotsx_n=s_n\),否则判无解。对于满足条件的一个解集\(\{s_1,s_2,s_3,\dots,s_n\}\),集合\(\{s_1+t,s_2......