首页/文章/ 详情

一篇文章入门计算流体动力学CFD--(上)

3年前浏览4028

流体力学是力学体系中的一大分支,计算流体动力学(Computational Fluid Dynamic,简称CFD)是用计算机模拟计算流体力学相关内容,属于仿真计算的范畴,也是多物理场仿真中的一个大块头。


CFD内容较多,一个很小的分支就能写成一部专著。本文主要针对CFD软件研发和测试人员,尽可能覆盖CFD商业软件里的术语设置,也可以作为CFD工程师参考,后续还会根据反馈调整,因为篇幅原因,分为上下两部分。


关于OpenFOAM

OpenFOAM是一款开源的CFD软件包,是目前使用最广的开源CFD工具。OpenFOAM在CFD的地位就像是Unix/Linux在操作系统的地位一样。所以如果想要深入学习CFD,了解CFD原理以及CFD软件底层细节,OpenFOAM是个不二选择。当然,OpenFOAM比较庞大,windows支持不太友好,对于初学者来说是一个比较大的挑战。


1. 理论基础--控制方程

CFD的需要求解的偏微分方程(Partial Differential Equation)为 Navier-Strokers(纳维斯托克)方程,简称N-S方程。其它方程比如欧拉方程,雷诺方程是N-S方程的简化。N-S方程由连续性方程,动量方程,能量方程推导而来,其理论基础是基于质量守恒,牛顿第二定律以及能量守恒,推导过程比较复杂范畴,从略。所以N-S是从宏观范畴研究流体,近年来流行的无网格方法比如格子玻尔兹曼则是从分子运动层面解决N-S不容易解决的问题。

完整的N-S方程包括了传导,扩散,对流,压缩(不可压缩),时间等各个要素,但在实际问题中,有些要素是可以不考虑的,所以可以对方程进行各种简化。这也是开源软件OpenFOAM将求解器设计成多个可执行程序的原因之一,一种求解器对应某种特定问题,起到了解耦的作用。

FasFluid中有工具对所有求解器进行过滤功能,根据求解特点找到合适的求解器。


2. 数值求解方法

CFD的求解方法还是传统的有限差分,有限元以及有限体积。在商业和开源CFD软件中,采用的都是有限体积方法,主要原因是有限体积方法是在实现难易程度,精度,稳定性,资源消耗等各个方面比较好的折中。


3. 边界条件

PDE边界条件常分为三大类,详细介绍可参考附录文章。所有其它类型的边界只不过是这三种边界条件的细化和衍生。CFD使用的边界条件同样也是常用的三大类。

以下是CFD中常用的几类边界条件:

inlet  入口边界条件

outlet 出口边界条件

wall 墙

prescribed pressure 

symmetry 对称边界

periodicity 周期性边界

OpenFOAM针对流体,对边界条件做了进一步细化:

1. 基本类型

图片

常用的几何类型为 patch 和 wall。通常情况下patch为多个面的组合。

2. 主要类型:

图片

图片

图片图片

3. 衍生类型:

       图片


4. 雷诺数/边界层

Re是雷诺数(Reynolds number)的数学符号,一种可用来表征流体流动情况的无量纲数。公式为:Re=ρvd/η,其中v、ρ、η分别为流体的流速、密度与动力黏性系数,d为一特征长度。雷诺数小,流体呈层流流动状态;雷诺数大,意味着惯性力占主要地位,流体呈紊流(也称湍流,Turbulence)流动状态。一般管道雷诺数Re<2000为层流状态,Re>4000为紊流状态,Re=2000~4000为过渡状态。在不同的流动状态下,流体的运动规律.流速的分布等都是不同的,因此雷诺数的大小决定了粘性流体的流动特性。

边界层是流体中由于粘性特性而出现的一种现象。如果粘性很小的流体(如水,空气等)在大雷诺数时与物体接触并有相对运动,则靠近物面的薄流体层因受粘性剪应力而使速度减小;紧贴物面的流体粘附在物面上,与物面的相对速度为0。边界层通常非常“薄”,网格划分中需要对边界层进行非常细致的加密才能达到求解精度要求。好的网格引擎有专门的边界层网格加密功能。因为影响到求解精度,边界层的网格也是用户关心的重点。


5. 湍流(紊流,Turbulence)

湍流是流体力学的经典难题之一,由于湍流的非线性和湍流解的不规则性,湍流理论成为流体力学中最困难而又引人入胜的领域。虽然湍流已经研究了一百多年,但是迄今还没有成熟的精确理论,许多基本技术问题得不到理论解释。诺贝尔奖获得者海森堡曾经说到:“我要带着两个问题去见上帝:量子力学和湍流大涡模拟。”

目前湍流的几种主要求解方法,其它也都是在这几种方法上进行改进:

DNS  (Direct numerical simulation)直接数值仿真

LES(Large eddy simulation) 大涡模拟

RANS 模型(Reynolds-Averaged N-S 方程)

DES (Detached Eddy Simulation )分离涡模拟

以上几种方法在OpenFOAM都有对应实现。

实际当中每种模型还有更具体的实现模型,比如常见的汽车风阻,k-epsilon模型可以较好的结果。

图片

(以上图片来源于网络)。


6. 几何和网格

CFD的仿真计算和其它物理场仿真一样,需要网格数据作为输入;通常CFD计算只需要对象的面几何,也就是说只需要面表达的数据结构就够用,所以几何数据通常小于其它需要三维实体结构的数据。CFD中的几何文件只用*.STL面片格式就能够表达信息,不需要类似ACIS/Parasolid的三维拓扑结构,当然ACIS/Parasolid的Brep结构也可以用于流体计算,只不过会有大量冗余信息;如果需要附加额外属性,比如需要在指定地方加密,可以自定义格式同时建立和几何面片的映射关系。

理想流体的网格为四边形(2D)和六面体(3D),如果几何非常复杂,比如曲面曲线不规则,则需要引入三角形(2D)和四面体(3D),之前文章提到的网格质量标准,自适应网格划分也都适用CFD网格。

动网格是CFD中特有的网格方法,动网格模型可以用来模拟流畅形状由于边界运动而随时间改变的问题。边界的运行形势可以使预先定义的运动,即在计算前指定其速度或角速度;也可以是预先未定义的运动,即边界的运动由前一步计算结果决定。在使用动网格模型时,需要先定义初始网格,边界运动方式并指定参与运动的区域。

声明:原创文章,欢迎留言与我讨论,如需转载留言

湍流流体基础理论科普求解技术网格处理其他软件OpenFOAM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-02-20
最近编辑:3年前
多物理场仿真技术
www.cae-sim.com
获赞 126粉丝 322文章 220课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈