那天听了小牛师兄关于CFD应用的四种境界的说法后,小白发现自己连第一种境界都算不上,自己对于CFD还只是停留在做了少数几个案例的基础上,可以说是对其一无所知。不过小白不是那种遇到挫折就退缩的人,他决定沿着黄师姐的方法从软件入手继续学下去。在认真的做完了敲门实例后,小白又认真的做了几个FLUENT实例文档中的案例,虽然说案例都比较简单,但是小白还是在黄师姐的提示下对这些案例的共同点进行了总结,从而了解CFD解决实际问题的基本流程。
2 抽象模型
3 计算规划
4 创建计算模型
5 确定物理模型
6 边界条件及初始条件
7 计算结果评估
8 计算后处理
1 明确计算目的
从现实世界中提出要解决的问题非常重要。提出的问题必须是清晰具体的。比如说,要研究飞机的飞行,我们提出的问题不能是
“飞机为什么会飞?”,这问题太大而且不方便进一步考虑,如果问题是“这飞机飞行时的升力和阻力多大?”则具体得多,也更方便进行下一步的研究工作。
准确地提出计算目的需要良好的理论背景作支撑。准确地抓住物理现象背后的力学模型,找到流体问题求解的目标,是利用CFD工程应用的基础。
在这一步工作中需要对问题进行简化,保留重要特征忽略一些不重要的细节,如计算传热问题时,当温差不很大时,可以忽略热辐射。
在这一步,需要明确的问题包括:
- 要算什么?有哪些物理量可以用来描述计算目标?
- 这些物理量是否可以直接计算获取?若不能直接获取,是否可以用间接物理量进行替代?
- 当物理模型过于复杂时,是否可以进行一些简化,忽略一些不重要的特征?
- CFD是否适合解决此问题?
2 抽象模型
找到问题求解的目标之后,下一步的工作是建立力学模型,将物理现象以数学语言进行描述。利用流体力学理论建立适合自己问题的控制方程。
建立控制方程,包括:
- 模型理论基础。基于哪些物理基础,进行了哪些假设,都需要明确。
- 确定模型的边界条件及初始条件。对于建立的流体模型,通常都是一些偏微分方程,这些方程的求解必须配合边界条件与初始条件。
3 计算规划
确定了计算目标并建立了力学模型之后,下一步的工作就要开始规划如何进行计算了。流体力学模型通常是非线性的偏微分方程,绝大多数都无法进行解析求解,通常采用数值方法进行求解。利用数值方法求解这些方程可采用手动编制程序,也可以采用已有的一些软件包,至于采用何种方式,取决于当前的研究条件和时间周期要求。
编制程序计算灵活性更高,可以应用最新的研究成果和算法,可能获得更精确的计算结果。但是从头编制程序需要耗费大量的人力物力和时间,在工程上很难满足产品研发的周期要求,因此手动编制程序计算多见于研究机构。
工程产品研发多用成品软件包来进行,CFD商用软件包大多很贵,但是具有良好的人机界面而且经过严格的软件测试,具有良好的鲁棒性,可靠性能够得到保障。利用开源软件包开源节省一大笔软件购买费用,然而开源软件的人机界面通常不如商用软件做得好,软件不一定经过了严格的测试,特别是自己定制的程序。但是开源软件的程序代码是公开的,开源根据实际需要进行修改。
4 创建计算模型
在确定计算方式之后,若选用计算软件进行计算,则下一步工作为创建计算模型。
计算模型包括两部分:几何模型及网格模型。
几何模型可以采用常用的CAD软件创建,在创建几何模型时,对于模型中的一些细节特征,需要仔细的考量,尽可能的忽略一些不重要的特征,这有助于减少网格数量从而减小计算开销。
将几何模型进行网格划分后形成网格模型。网格模型不一定要完全贴合几何模型,但是对于计算过程中一些重要的特征,则需要尽可能的特近真实几何。流体计算网格通常需要沿着流线方向划分,在流动梯度大的区域需要加密网格。一般需要做多套网格进行计算,以评估网格疏密对计算结果的影响。
5 确定物理模型
其实在第一步和第二步中已经涉及到了物理模型,这里说的物理模型指的是在CFD程序中添加的物理模型。对于不同的物理模型,需要设置相应的模型参数,这些模型参数有些依赖于理论,有些则依赖于实验。
6 边界条件及初始条件
边界条件和初始条件直接影响计算结果,确保输入真实的边界条件。
对于瞬态计算,还要求输入真实的初始条件。虽然稳态计算不依赖于初始条件,但是输入相对真实的初始值有助于帮助收敛。
真实的边界条件和初始条件通常都需要通过实验测定获取。
7 计算结果评估
在初步计算后,通常需要通过对比实验结果进行模型标定。
在这一过程中,往往包括网格独立性验证、时间独立性验证以及数值控制参数调整等。
通常需要准备多套网格,进行多组计算,比较计算结果与实验值来获取计算结果与网格、时间步长等的敏感性,从而选择最合适的网格粒度以及时间步长。
8 计算后处理
分析计算结果,获取有用的数据。