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

而这篇文章主要目的是对三者进行比较,并给出三种方法计算同一个流体一维算例的过程。

一维算例:

流体在沿着一条流线传输过程中,关于流体的某个物理量的输运方程为:

这个方程也可以看成对流-扩散方程的特例,其含义就是在控制体内部:

由源产生的的量(因为全场没有源项,故等号右端为0) =

由于流动导致的物理量的增加()+由于扩散导致物理量的减少(

另外流场还应该满足连续条件:

即:流入质量=流出质量

那么控制方程组就是:

下面,用三种方法分别来解这个流场的物理量

1 有限差分法

主要参考《计算流体力学入门》,John D.Andersion,JR .

有限差分法的做法很简单:流体的控制方程组一般都是偏微分方程,解偏微分方程组很困难, N-S方程多数都是没有解析解的,但是解线性方程组是很简单的事情。所以,差分主要目的便是将微分近似为线性运算,进而把偏微分方程组转化为线性方程组。大多数用来代替偏微分形式是基于Taylor展开得到的,利用Taylor展开,对x一阶导数差分可以近似如下三种形式:

对扩散项的二阶导数,近似为:

将控制方程离散成差分方程,得到:

这里我们把项转化为一个一阶导数和二阶导数,然后分别一阶和二阶格式进行差分。

通过联立连续方程,可以求解出全场所有节点处流速值,代入对流扩散方程中,简化为:

然后联立求解全场各个点有关的方程组,便可解得全场节点处数值。

2 有限体积法

主要参考《计算流体动力学分析:CFD软件原理与应用》,王福军

(其实里面也就是流体力学控制方程简介+有限体积法,整个这个名字真让人迷惑QAQ)

1.1离散

有限体积法离散的核心和有限元法一样,使用有限个离散点来代替原来整个连续的空间。把计算区域分成不重叠的计算网格,然后确定每个节点位置和节点控制体体积(也就是节点所在的网格单元)。区域几何要素主要有以下几个:

节点:需要解未知物理量的几何位置,一般在节点上定义所有的标量,下面图中的W、P、E三个点就是节点;

控制体积:应用控制方程和守恒定律的最小单位,图中灰色区域;

界面:规定了与各节点相对应的控制体积的分界面位置,图中w和e处;

网格线:连接节点的曲线簇,图中就是x轴线。

1.2建立离散方程

有限体积最特殊的一步就是在控制体上积分控制方程,以便在控制体积的界面上产生离散方程。对一维算例在控制体积上积分有:

然后控制体积分式等价于:

其中 可以看成是垂直于 轴方向上断面的面积。

这里我想详细的讨论一下,在书中作者说这是完全等价的转化,并没有取任何近似,但是我有不同的看法

积分式里面的被积函数和A没有任何关系,所以我们可以先把做积分:

然后根据分部积分方法:

我们可以看出,等号左端正确结果应为:

所以这一步其实也做了近似。否则应该加上的前提。

1.3解方程

我们已经把非线性的控制方程组通过离散,转化成为了线性方程组。

但是在我们的解里只定义在了节点上,在界面处应该并没有的值,所以还需要某种差分方法,把在界面处的值用节点上的值来近似,这里就是所谓的使用差分格式。

采用最煎蛋XD的方法……我们用界面两边的节点值取平均来近似,这应该是地球人都想得到的方法,方程继续化简为:

记为:

根据连续方程,我们可以求解整个流场,那么系数即为已知数,然后便可求解

分别代表了相邻点处的物理量通过对流扩散作用对点影响的大小,我们假设流场是已知的,那么我们已经知道全场每个点的大小。这样把全场的节点离散方程联立求解,便可解得每个节点的值。

有限体积法、有限差分法和有限元法介绍相关推荐

  1. 二阶常微分方程的数值解法(中心差分法和有限体积法)

    二阶常微分方程的数值解法(中心差分法和有限体积法) 这里我们介绍中心差分法和有限体积法求解方程. 题目: 用差分法的中心差分格式和有限体积法求解两点边值问题 u′′−α(2x−1)u′−2αu=0,0 ...

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

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

  3. 计算流体力学的基本方法简介(有限差分法、有限元法、有限体积法)

    1.有限差分法: 原理,用差商代替微商: 优缺点: 2.有限元方法: 有限元剖分方法: 特点: 3.有限体积法: 两种方式,格心格式和格点格式: 特点:

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

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

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

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

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

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

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

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

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

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

  9. 二阶椭圆型第一边值问题的数值解法(五点差分格式和有限体积法)附matlab代码

    二阶椭圆型第一边值问题的数值解法(五点差分格式和有限体积法)附matlab代码 这里我们介绍五点差分格式和有限体积法求椭圆型第一边值问题, 题目: 分别采用矩形网格的五点差分格式和有限体积法求椭圆型第 ...

最新文章

  1. CocoaPods远程私有库
  2. hashmap hashtable 的区别
  3. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
  4. 视图插入数据_SAP Fiori的ABAP编程模型-CDS视图创建
  5. 通过java提供的URL类包读取网上的文件
  6. oracle表参数,Oracle 表的创建 及相关参数
  7. 深度学习自学(十一):Aborted at 1558257386 (unix time)
  8. 【Notepad】Notepad++常用快捷键总结
  9. 随机微分方程与 Ito Lemma 的关系
  10. 网易云课堂Python Flask框架全栈开发
  11. 解决myeclipse html页面乱码问题
  12. 数据库原理及安全技术教学实验报告SQL实践(一)
  13. 理解PeopleSoft HRMS人力资源管理系统
  14. JavaScript浮动广告
  15. VueUse中文文档/Vue官方工具库
  16. linux ip黑名单,在线IP黑名单地址列表
  17. Ubuntu 21.04(arm64) 基于sanp安装Nextcloud,挂载本地硬盘
  18. [memo] dlopen 与 --export-dynamic
  19. 数据采集—数据采集技术
  20. 【附源码】计算机毕业设计java羽毛球场地管理系统设计与实现

热门文章

  1. 安卓平板装MySQL_准备购入一部平板作为学习用具,有推荐的吗?
  2. VDD、VCC、VSS的区别
  3. 知识图谱构建软件Protege下载使用
  4. 斯坦福NLP名课带学详解 | CS224n 第11讲 - NLP中的卷积神经网络(NLP通关指南·完结)
  5. 使用mllib完成mnist手写识别任务
  6. 学习seo必须学习什么?
  7. javascript实现的淘宝五星评价(版本2)
  8. 达人评测 天玑1100和骁龙888哪个处理器好
  9. 如何掌控工作节奏感?
  10. 高校供需撮合交易平台规范管理及创新发展