《水动力学研究与进展》
本文转载自【微信公众号:多物理场仿真技术,ID:cae-sim】经微信公众号授权转载,如需转载与原文作者联系
流体力学是力学体系中的一大分支,计算流体动力学(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)
湍流是流体力学的经典难题之一,由于湍流的非线性和湍流解的不规则性,湍流理论成为流体力学中最困难而又引人入胜的领域。虽然湍流已经研究了一百多年,但是迄今还没有成熟的精确理论,许多基本技术问题得不到理论解释。诺贝尔奖获得者海森堡曾经说到:“我要带着两个问题去见上帝:量子力学和湍流大涡模拟。”