关于计算流体力学,你知道多少?
来源:CSDN博主「技术笔记分享」的原创文章。
一、计算流体力学的发展
计算流体动力学 (Computational Fluid Dynamics, 简写CFD) ,是20世纪60年代起伴随计算科学与工程 (Computational Science and Engineering, 简称CSE) 迅速崛起的一门学科分支,经过半个世纪的迅猛发展,这门学科已经是相当的成熟了,一个重要的标志就是近几十年来,各种CFD通用软件的陆续出现,成为商品化软件,服务于传统的流体力学和流体工程领域,如航空、航天、船舶、水利等。随着CFD通用软件的性能日益完善,应用的范围也不断的扩大,在化工、冶金、建筑、环境等相关领域中也被广泛应用。
现代流体力学研究方法包括理论分析,数值计算和实验研究三个方面。这些方法针对不同的角度进行研究,相互补充。理论分析研究能够表述参数影响形式,为数值计算和实验研究提供了有效的指导;试验是认识客观现实的有效手段,验证理论分析和数值计算的正确性;计算流体力学通过提供模拟真实流动的经济手段补充理论及试验的空缺。
更重要的是,计算流体力学提供了廉价的模拟、设计和优化的工具,以及提供了分析三维复杂流动的工具。在复杂的情况下,测量往往是很困难的,甚至是不可能的,而计算流体力学则能方便的提供全部流场范围的详细信息。与试验相比,计算流体力学具有对于参数没有什么限制、费用少、流场无干扰的特点。出于计算流体力学如此的优点,我们选择它来进行模拟计算。简单来说,计算流体力学所扮演的角色是:通过直观地显示计算结果,对流动结构进行仔细的研究。
计算流体力学在数值研究大体上沿两个方向发展:一个是在简单的几何外形下,通过数值方法来发现一些基本的物理规律和现象,或者发展更好的计算方法;另一个则为解决工程实际需要,直接通过数值模拟进行预测,为工程设计提供依据。理论的预测出自于数学模型的结果,而不是出自于一个实际的物理模型的结果。计算流体力学是多领域交叉的学科,涉及计算机科学、流体力学、偏微分方程的数学理论、计算几何、数值分析等,这些学科的交叉融合,相互促进和支持,推动了学科的深入发展。
CFD方法是对流场的控制方程用计算数学的方法将其离散到一系列网格节点上,求其离散的数值解的一种方法。控制所有流体流动的基本定律是:质量守恒定律、动量守恒定律和能量守恒定律,由它们分别导出连续性方程、动量方程(N-S方程)和能量方程。应用CFD方法进行平台内部空气流场模拟计算时,首先需要选择或者建立过程的基本方程和理论模型,依据的基本原理是流体力学、热力学、传热传质等平衡或守恒定律。
由基本原理出发可以建立质量、动量、能量、湍流特性等守恒方程组,如连续性方程、扩散方程等。这些方程构成联立的非线性偏微分方程组,不能用经典的解析法,只能用数值方法求解。
求解上述方程必须首先给定模型的几何形状和尺寸,确定计算区域并给出恰当的进出口、壁面以及自由面的边界条件,而且还需要适宜的数学模型及包括相应的初值在内的过程方程的完整数学描述。
求解的数值方法主要有有限差分法(FDM) 和有限元(FEM)以及有限分析法 (FAM),应用这些方法可以将计算域离散为一系列的网格并建立离散方程组,离散方程的求解是由一组给定的猜测值出发迭代推进,直至满足收敛标准。常用的迭代方法有Gauss-Seidel 迭代法、TDMA方法、SIP法及LSORC法等。利用上述差分方程及求解方法,即可编写计算程序或选用现有的软件实施过程的CFD模拟。
二、CFD分析过程
进行CFD分析的一般过程如下所示:
1. 将流动问题表示为表达式
分析的第一步,通过寻求以下问题的答案将流动问题表示为表达式。
分析的目的是?
达到这些目的最简单的途径是?
包含怎样的几何?
来流和工作状态是怎样的?
该使用何种空间模型(一维、准一维、二维,轴对称还是三维?)
流域是怎样的?
该使用何种时间模型?(定常或非定常)
流动的粘性情况(无粘、层流还是湍流)
该使用何种气体模型?
2. 建立几何与流域的模型
进行流动分析的对象需进行建模。一般涉及CAD软件几何造型,付出合理的努力进行分析需要进行几何模型近似与简化。与此同时,应该对实施仿真的流域范围做一个确定。流域的部分边界应与几何模型曲面保持一致。其他曲面是自由边界,在自由边界上,流体流入或者流出。几何模型和流域以这样的方式建模,然后用于网格生成。这样,建模过程通常需要考虑网格生成的结构和拓扑。
3. 设置边界条件与初始条件
当流域确定了的时候,需要给流域边界指定物理条件。仿真一般开始于初始条件,然后通过迭代的方式得到流场的最终解。
4. 网格生成
流域离散成为网格。网格生成包括结构和拓扑确定,然后在该拓扑上生成网格。目前所有的案例都涉及多块网格和结构网格。然而,这些网格块可能是对接的、连续的、非连续的或者重叠的。网格必须满足最低的网格质量要求,如正交性(尤其是在边界上),相对网格间距(最大值不能超过15%~20%),网格扭曲率等等。最大的网格间距应该与流场重要特征的分辨率一致。边界层分辨率要求沿着物面法向的第一层网格点应恰好落在边界层的层流层内。对于湍流流动,沿着物面法向的第一层网格点必须满足y+<1的要求。
5. 设置求解策略
执行仿真的策略包括以下内容:使用什么空间推进和时间推进方式,湍流或者化学模型的选择,算法的选择等。
6. 设置输入参数和文件
CFD程序通常需要给定输入文件,输入文件的内容是与既定策略一致的输入参数值的列表。此外,还需要包含边界条件信息的网格文件。
7. 执行仿真
仿真可以通过图形界面、批处理或者分布式的方式进行。
8. 监视仿真直至完成
当仿真进行的时候,监测求解过程以确定是否得到了收敛的解,该解是一个迭代收敛解。
9. 后处理得到结果
后处理的过程是从流场中提取出想获得的流场特性(如推力、升力、阻力等)的过程。
10. 对结果进行比较
将求解得到的流场特性与理论分析、计算或者试验研究得到的结果进行比较,验证计算结果的可靠性。
11. 重复上述过程,评价敏感性
为了了解计算结果精度可能的差异和与以下因素相关的计算表现,必须评价计算结果的敏感性。如:维度、流场条件、初始条件、推进策略、算法、网格拓扑和密度、湍流模型、化学模型、通量模型、人工粘性、边界条件和计算机系统等。
12. 归档
将以上的分析整理成文档。
三、数值模拟方法和分类
计算流体动力学分析在运动CFD方法对一些实际问题进行模拟时,常常需要设置工作环境、设置边界条件和选择算法等,特别是算法的选择,对模拟的效率及其正确性有很大的影响,需要特别的重视。要正确设置数值模拟的条件,有必要了解数值模拟的过程。
随着计算机技术和计算方法的发展,许多复杂的工程问题都可以采用区域离散化的数值计算并借助计算机得到满足工程要求的数值解。数值模拟技术是现代工程学形成和发展的重要动力之一。
区域离散化就是用一组有限个离散的点来代替原来连续的空间。实施过程是把所计算的区域划分成许多个互不重叠的子区域,确定每个子区域的节点位置和该节点所代表的控制体积。
节点是指需要求解的未知物理量的几何位置、控制体积、应用控制方程或守恒定律的最小几何单位。一般把节点看成控制体积的代表。控制体积和子区域并不总是重合的。在区域离散化过程开始时,由一系列与坐标轴相应的直线或曲线簇所划分出来的小区域成为子区域。网格是离散的基础,网格节点是离散化物理量的存储位置。
常用的离散化方法有:有限差分法、有限元法和有限体积法,对这三种方法分别介绍如下。
1. 有限差分法
有限差分法是数值解法中最经典的方法。它是将求解区域划分为差分网格,用于有限个网格节点代替连续的求解域,然后将偏微分方程(控制方程)的导数用差商代替,推导出含有离散点上有限个未知数的差分方程组。
该方法的产生和发展比较早,也比较成熟,较多用于求解双曲线和抛物线型问题。用它求解边界条件复杂,尤其是椭圆型问题不如有限元法或有限体积法方便。
构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有四种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。
2. 有限单元法
有限单元法是将一个连续的求解域任意分成适当形状的许多微小单元,并于各小单元分片构造插值函数,然后根据极值原理(变分或加权余量法),将问题的控制方程转化为所有单元上的有限元方程,把总体的极值作为各单元极值之和,即将局部单元总体合成,形成嵌入了指定边界条件的代数方程组,求解该方程组就得到各节点上待求的函数值。
对椭圆型问题有更好的适应性。有限元求解的速度比有线差分法和有线体积法慢,在商用CFD软件中应用并不广泛。目前常用的商用CFD软件中,只有FIDAP采用的是有线单元法。
3. 有线体积法
有线体积法又称为控制体积法,是将计算区域划分为网格,并使每个网格点周围有一个互不重复的控制体积,将待解的微分方程对每个控制体积积分,从而得到一组离散方程。其中的未知数是网格节点上的因变量。子域法加离散,就是有限体积法的基本思想。有限体积法的基本思路易于理解,并能得出直接的物理解释。离散方程的物理意义,就是因变量在有限大小的控制体积中的守恒原理,如同微分方程表示因变量在无限小的控制体积中的守恒原理一样。
有限体积法得出的离散方程,要求因变量的积分守恒对任意一组控制集体都得到满足,对整个计算区域自然也得到满足,这是有限体积法吸引人的优点。有一些离散方法,例如有限差分法,仅当网格极其细密时,离散方程才满足积分守恒;而有限体积法即使在粗网格情况下,也显示出准确的积分守恒。
就离散方法而言,有限体积法可视作有线单元法和有限差分法的中间产物。三者各有所长:
有限差分法:直观,理论成熟,精度可选,但是不规则区域处理繁琐,虽然网格生成可以使有限差分法应用于不规则区域,但是对于区域的连续性等要求较严。使用有限差分法的好处在于易于编程,易于并行。
有限单元法:适合于处理复杂区域,精度可选。缺点是内存和计算量巨大,并行不如有限差分法和有限体积法直观。
有限体积法:适用于流体计算,可以应用于不规则网格,适用于并行。但是精度基本上只能是二阶。有线单元法在应力应变,高频电磁场方面的特殊优点正在被人重视。
查看更多评论 >