对于变量ϕ\phiϕ的输运方程为:

∂(ρϕ)∂t+∇⋅(ρϕu)=∇⋅(Γ∇ϕ)+Sϕ(1)\frac{\partial ( \rho \phi)}{\partial t} + \nabla \cdot (\rho \phi \bold u) = \nabla \cdot (\Gamma \nabla \phi) + S_\phi \tag{1} ∂t∂(ρϕ)​+∇⋅(ρϕu)=∇⋅(Γ∇ϕ)+Sϕ​(1)

其中,Γ\GammaΓ为扩散系数。
方程(1)(1)(1)从左到右的各项分别是时间项、对流项、扩散项和源项。将方程(1)(1)(1)中略去时间项和对流项就是稳态扩散方程
∇⋅(Γ∇ϕ)+Sϕ=0(2)\nabla \cdot (\Gamma \nabla \phi) + S_\phi = 0 \tag{2} ∇⋅(Γ∇ϕ)+Sϕ​=0(2)

对方程(2)(2)(2)在有限控制体内积分,并根据高斯散度定理有,
∫CV∇⋅(Γ∇ϕ)dV+∫CVSϕdV=∫A~n⋅(Γ∇ϕ)dA+∫CVSϕdV=0(3)\begin{aligned} &\int_{CV} \nabla \cdot (\Gamma \nabla \phi) dV + \int_{CV} S_\phi dV \\ \\ &= \int_{\tilde A} \bold n \cdot (\Gamma \nabla \phi) dA + \int_{CV} S_\phi dV = 0 \end{aligned} \tag{3}​∫CV​∇⋅(Γ∇ϕ)dV+∫CV​Sϕ​dV=∫A~​n⋅(Γ∇ϕ)dA+∫CV​Sϕ​dV=0​(3)

其中,n\bold nn为边界面A~\tilde AA~的法向量。
考虑一维模型,扩散方程为
ddx(Γdϕdx)+S=0(4)\frac{d}{dx}\left( \Gamma \frac{d\phi}{dx} \right) + S = 0 \tag{4} dxd​(Γdxdϕ​)+S=0(4)

要离散方程(4)(4)(4)首先要生成网格,如下图,将一维计算域分成5段(即5个网格单元),每个网格单元就是一个有限控制体。两端边界为A和B,每个网格单元有一个节点,如W、P和E,节点一般为网格单元的中心点,也是变量保存的位置。两个相邻节点的中点是网格单元的边界。

网格与边界之间的距离关系如下图,

扩散方程的离散主要包括两个部分:散度的离散和梯度的离散。

散度的离散

根据方程式(3)(3)(3),一维扩散方程(4)(4)(4)在控制体单元ΔV\Delta VΔV(边界为A~\tilde AA~)上的积分有,
∫ΔVddx(Γdϕdx)dV+∫ΔVSdV=∫A~n⋅(Γdϕdxi)dA+∫ΔVSdV=(ΓAdϕdx)e−(ΓAdϕdx)w+SˉΔV=0(5)\begin{aligned} &\int_{\Delta V} \frac{d}{dx} \left( \Gamma \frac{d \phi}{dx} \right)dV + \int_{\Delta V} SdV \\ \\ &= \int_{\tilde A} \bold n \cdot \left( \Gamma \frac{d \phi}{dx} \bold i \right) dA + \int_{\Delta V}SdV \\ \\ &= \left( \Gamma A \frac{d \phi}{dx} \right)_e - \left( \Gamma A \frac{d \phi}{dx} \right)_w + \bar{S} \Delta V = 0 \end{aligned} \tag{5}​∫ΔV​dxd​(Γdxdϕ​)dV+∫ΔV​SdV=∫A~​n⋅(Γdxdϕ​i)dA+∫ΔV​SdV=(ΓAdxdϕ​)e​−(ΓAdxdϕ​)w​+SˉΔV=0​(5)

其中,AAA是边界面的面积, Sˉ\bar{S}Sˉ为控制体单元内的平均值。从上图中可见,在边界www处,边界的法向量n\bold nn是指向x轴负向的,所以n⋅i=−1\bold n \cdot \bold i = -1n⋅i=−1。

梯度的离散

方程式(5)(5)(5)仅是半离散方程,需要进一步对梯度项dϕdx\frac{d \phi}{dx}dxdϕ​进行离散。从式中看见,梯度项都是位于单元边界面位置的,而边界处是不保存变量值,边界面两边的节点会保存变量值,因此可以用有限差分法求解边界面的导数,比如用二阶中心差分格式,
(Γdϕdx)w=ΓwϕP−ϕWδxWP(6a)\left( \Gamma \frac{d \phi}{dx} \right)_w = \Gamma_w \frac{\phi_P - \phi_W}{\delta x_{WP}} \tag{6a}(Γdxdϕ​)w​=Γw​δxWP​ϕP​−ϕW​​(6a)

(Γdϕdx)e=ΓeϕE−ϕPδxPE(6b)\left( \Gamma \frac{d \phi}{dx} \right)_e = \Gamma_e \frac{\phi_E - \phi_P}{\delta x_{PE}} \tag{6b} (Γdxdϕ​)e​=Γe​δxPE​ϕE​−ϕP​​(6b)

源项SˉΔV\bar S \Delta VSˉΔV通常是变量ϕP\phi_PϕP​的函数,这里假设为线性关系,即
SˉΔV=Su+SPϕP(7)\bar S \Delta V = S_u + S_P \phi_P \tag{7} SˉΔV=Su​+SP​ϕP​(7)

将式(6a)(6a)(6a)、(6b)(6b)(6b)和(7)(7)(7)带入到式(5)(5)(5)中,
ΓeAeϕE−ϕPδxPE−ΓwAwϕP−ϕWδxWP+(Su+SPϕP)=0(8)\Gamma_e A_e \frac{\phi_E - \phi_P}{\delta x_{PE}} - \Gamma_w A_w \frac{\phi_P - \phi_W}{\delta x_{WP}} + (S_u + S_P \phi_P) = 0 \tag{8}Γe​Ae​δxPE​ϕE​−ϕP​​−Γw​Aw​δxWP​ϕP​−ϕW​​+(Su​+SP​ϕP​)=0(8)
重新整理方程式(8)(8)(8)得,
(ΓeδxPE+ΓwδxWP−SP)ϕP=(ΓwδxWP)ϕW+(ΓeδxPE)ϕE+Su(9)\left( \frac{\Gamma_e}{\delta x_{PE}} + \frac{\Gamma_w}{\delta x_{WP}} - S_P\right) \phi_P = \left( \frac{\Gamma_w}{\delta x_{WP}} \right) \phi_W + \left( \frac{\Gamma_e}{\delta x_{PE}} \right) \phi_E + S_u \tag{9}(δxPE​Γe​​+δxWP​Γw​​−SP​)ϕP​=(δxWP​Γw​​)ϕW​+(δxPE​Γe​​)ϕE​+Su​(9)
简化一下,
aPϕP=aWϕW+aEϕE+Su(10)a_P \phi_P = a_W \phi_W + a_E \phi_E + S_u \tag{10}aP​ϕP​=aW​ϕW​+aE​ϕE​+Su​(10)
其中各系数为
{aW=ΓwδxWPaE=ΓeδxPEaP=aW+aE−SP(11)\begin{cases} a_W &= \frac{\Gamma_w}{\delta x_{WP}} \\ \\ a_E &= \frac{\Gamma_e}{\delta x_{PE}} \\ \\ a_P &= a_W + a_E - S_P \end{cases}\tag{11}⎩⎨⎧​aW​aE​aP​​=δxWP​Γw​​=δxPE​Γe​​=aW​+aE​−SP​​(11)

方程式(5)(5)(5)中的扩散系数Γ\GammaΓ有两种方法来计算:算术平均法(相当于线性插值)和调和平均法(详见文献[2])。这里先采用简单的线性插值来表示,即
Γw=ΓW+ΓP2(12a)\Gamma_w = \frac{\Gamma_W + \Gamma_P}{2} \tag{12a} Γw​=2ΓW​+ΓP​​(12a)

Γe=ΓP+ΓE2(12b)\Gamma_e = \frac{\Gamma_P + \Gamma_E}{2} \tag{12b} Γe​=2ΓP​+ΓE​​(12b)

参考资料:
  1. Versteeg H K , Malalasekera W . An introduction to computational fluid dynamics : the finite volume method = 计算流体动力学导论[M]. 世界图书出版公司, 2010.
  2. 陶文铨. 数值传热学-第2版[M]. 西安交通大学出版社, 2001.

有限体积法(1)——一维扩散方程的推导相关推荐

  1. 有限体积法(2)——二维、三维扩散方程的离散推导

    稳态扩散方程: ∇⋅(Γ∇ϕ)+Sϕ=0(1)\nabla \cdot ( \Gamma \nabla \phi) + S_\phi =0 \tag{1} ∇⋅(Γ∇ϕ)+Sϕ​=0(1) 在有限控制 ...

  2. 有限体积法(5)——对流-扩散方程的离散

    方程离散 关于变量ϕ\phiϕ的输运方程, ∂(ρϕ)∂t+∇⋅(ρϕu)=∇⋅(Γ∇ϕ)+Sϕ(1)\frac{\partial (\rho \phi)}{\partial t}+ \nabla \ ...

  3. 有限体积法(9)——高阶差分格式:QUICK格式

    迎风格式和混合格式只有一阶计算精度,虽然迎风格式使用起来非常稳定并且满足输运性要求,但一阶精度容易导致数值扩散的误差,可以通过使用高阶离散格式来降低这些误差.高阶格式一般需要使用更多的节点值,通过考虑 ...

  4. 有限体积法(6)——离散格式的特性

    为了能够在有限网格数下得到符合物理现实的数值解,就需要离散格式满足某些特性.最重要的几个有:守恒性.有界性和输运性. 守恒性 守恒来自很自然的物理规律,比如一个无内源的流体域,无论它有几个入口和几个出 ...

  5. 有限体积法、有限差分法和有限元法介绍

    学过弹性力学的人应该都知道什么是有限元,而对学计算流体力学的来说,有限差分和有限体积法也是两种非常重要的方法.三者虽然目前形式各异,但是思想上有很多类似的地方.CFD(Computational Fl ...

  6. 有限元法、有限差分法和有限体积法的区别(转载)

    有限元法.有限差分法和有限体积法的区别(转载) (2011-06-12 21:52:50) 有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用.该方法将求解域划分为差分网格,用有限 ...

  7. 有限体积法(7)——迎风格式

    方程离散 中心差分格式主要的一个不足之处就是它不能辨识流动的方向.在中心差分格式中,左边界的输运量ϕ\phiϕ的值总是由ϕP\phi_PϕP​和ϕW\phi_WϕW​共同决定.然而,强对流(从左向右流 ...

  8. 有限体积法及其网格简介

    有限体积法及其网格简介 有限体积法使目前CFD领域广泛使用的离散化方法,其特点不仅表现在对控制方程的离散结果上,还表现在所使用的网格上. 1.有限体积法的基本思想 有限体积法(Finite Volum ...

  9. 有限差分法和有限体积法的区别

    有限差分法(Finite Difference Method, FDM)和有限体积法(Finite Volume Method, FVM)都是用数值解逼近微分方程的真实解的计算方法,其区别主要在于逼近 ...

  10. 有限体积法(12)——SIMPLE算法

    承接上篇<交错网格>,本文介绍流动方程在交错网格上的离散以及SIMPLE算法. 方程离散 二维稳态的动量方程和连续性方程如下: ∂∂x(ρuu)+∂∂y(ρvu)=∂∂x(μ∂u∂x)+∂ ...

最新文章

  1. 人工智能诗歌写作平台_人工智能将改变文学创作的未来?
  2. 三十四、段页式管理方式
  3. matlab循环求 近似for,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!...
  4. QoS、IPv6、软交换和VoIP技术受质疑
  5. 学习PHP 逛的几个网站。
  6. mysql基本架构_MySQL的基本架构
  7. 学生开源项目_吸引学生加入您的开源项目的9种方法
  8. 从C语言到C++的进阶之C到C++的转变(篇一)
  9. Python3之max key参数学习记录
  10. Yann LeCun提出首个多模态高性能自监督算法,语音、图像文本全部SOTA
  11. mysql innodb数据库引擎_mysql的innodb数据库引擎详解
  12. C++输出全排列递归算法详细解释
  13. 小程序调用百度api实现图像识别
  14. M语言中的操作符说明:大括号{}-列List,方括号[]-记录Record
  15. python爬虫源码大全_python爬虫(附源码)
  16. 库卡profinet通讯中文说明书
  17. html花瓣特效代码,网页上漂浮的花瓣
  18. 【水文】2345——卸载!拜拜了您嘞
  19. 计算机应用对交通,计算机应用基础 交通学习文学.pdf
  20. Win10无法开机修复方法

热门文章

  1. DO447管理任务执行--控制任务执行
  2. php 识别图片主色调,PHP实现获取图片的主色调的方法
  3. ECS.Day3笔记
  4. python repair修复功能_NI 技术支持|我的插件显示需要修复(REPAIR)了该怎么办?...
  5. STM32项目设计:基于STM32F1的智能门锁PCB、源码(4种解锁方式)
  6. VS2019初步使用
  7. (二)第一步(安装和基本使用) | 普罗米修斯(Prometheus)
  8. 爬取网易云音乐某一个人的评论
  9. 企业级无代码,掀起10倍速效率革命!
  10. java扰码器_扰码器的实现(一)