《CFD软件的精度与可信度提高方法.docx》由会员分享,可在线阅读,更多相关《CFD软件的精度与可信度提高方法.docx(6页珍藏版)》请在优知文库上搜索。
1、CFD若要想在工程中得到广泛的应用,必须克服两大难点:准确性与可信性。在工程上,尤其是一些关键的工程中,谁也不敢轻易的应用一些精度与可信度得不到保证的数据。有人会说,在固体计算领域,利用数值计算方法进行辅助设计已经很普遍了啊,用CFD支持设计存在哪些额外的困难呢?与固体应力计算使用有限单元法不同,目前主流的CFD软件几乎都是采用的有限体积法(除了CFX采用混合有限元法与有限体积法外,FLUENT、STAR-CD、Phonecis.Flow-3D等都是采用的有限体积法)。在计算量上来说,相同网格数量的模型,有限体积法消耗的内存要少于有限元法。在有限单元网格中存在的高次单元,其单元节点位于网格边的
2、中点及网格体的中心,但是有限体积法中的高阶格式,其并非在网格单元中添加节点,而是更多的利用周围的节点。正因为如此,有限体积法计算精度要低于有限元法(在相同网格数量情况下)。影响CFD计算精度及可信度的原因自然不可能全怪罪于算法,更多的是问题存在于使用者及客观环境。CFD软件是一个黑盒子,利用CFD软件解决工程问题,软件使用者对于数据流向并不清楚,实际上对于非CFD专业的人事来说,也不必完全清楚CFD的内部运作方式,但如何有效的利用当前的软件,如何最大限度的发挥当前软件的计算性能,将计算结果精度及可信度提高,仍然是非常重要的,也是每一个从事CFD工程应用的人必须注意的。最需要注意的部分包括下面一
3、些内容。一、精度1 .算法导致的精度问题一般来说,高阶算法的精度要高于低阶精度。但是收敛性却相反,采用高阶算法要比低阶算法收敛更困难一些。在一些高速流动情况中,采用迎风格式比中心差分格式能更好的收敛,在扩散占优的流动中则相反。以FLUENT为例,其具有一阶迎风格式与二阶迎风格式、幕律格式、QUlCK格式,以及三阶MUSCL格式。通常一阶迎风格式用于初步求解,较少用于最终计算结果的获得;QUICK格式在结构网格中具有三阶精度且收敛性较好,但是在非结构网格中只有二阶精度;二阶迎风格式在实际工程中用得非常多;三阶MUSCL格式用得较少,收敛性不是很好。2 .边界条件边界条件会对计算结果产生本质影响。
4、也就是说,不确切的边界条件会导致不确切的计算结果,错误的边界条件一定得不到正确的结果。在实际工程中,能做为边界位置的信息一定是确切的。换句话说,用户使用不确切的边界值,责任不在软件。当然,有时候受条件限制得不到边界物理量,但软件的使用者应当对自己输入的边界值负责。其实相比较固体有限元应力计算,流体边界值难以测量也是导致计算精度及可信度降低的原因之一。在固体计算中,边界值可以是力可以是位移,这些都是容易测量的量。但是在流体中,边界值常常是压力、速度、流量、体积分数等物理量,这些量的测量都是对实验人员的考验。3 .网格网格是为计算所准备的,也许将来对NS方程的数值求解不再依赖于网格。由于网格的存在
5、,导致数值计算永远得不到真值。这里不去追究数学方程与真实世界的差异,只分辨数值计算结果与数学方程解的差别。在理论上,只有在计算网格大小为O的时候数值计算结果才等同于数学方程的解,但是大家都知道,网格大小为O是不可能的。同时由于计算机的精度限制,网格尺寸缩小会增加舍入误差,也就是说,计算精度并不是随着网格数量的减小而不断增加,同时,网格尺寸的减小会增加计算资源的消耗。在进行计算中,常常要进行网格独立性验证,也是避免做这类吃力不讨好的事情。4 .模型将模型放在精度这里其实是不太合适的,但是不恰当的模型的确会很大程度上影响到计算精度。例如FLUENT中的湍流模型有很多种,如零方程模型、一方程模型、双
6、方程模型等等,不同的模型有其最合适的使用范围,如果使用不当,势必会造成计算精度下降。合理的选择计算模型,不止能提高计算精度,也能提高计算结果的可信度。但是要合理地选择模型,很大程度上依赖于使用者的理论功底和对问题的认识程度。二、可信度在AlAA的官方文档中,对于可信度的验证是有明确的说明的。可信度通常指数学模型与真实世界的差异。在这方面,CFD软件使用者能控制的部分并不多,主要有以下一些方面。1 .几何模型有时候为了网格划分方便或计算资源考虑,简化了真实模型细节。例如一些微小特征、将三维模型简化为二维计算、周期模型等等。需要注意的是,在进行简化之前,对模型简化所可能造成的后果有明确的认识。究竟
7、能不能简化、简化会不会造成精度的严重损失,这些都是需要考虑的。比如,计算一段直管中的流动问题,从几何上来讲,可以简化为平面模型、可以简化为轴对称旋转问题、可以简化为轴对称问题,但是对于不同的物理情况,能否简化就很值得商榷。模型中的细小特征简化问题也是需要去思考的。将细小模型进行简化是出于计算资源上的考虑,但若细小特征处于敏感位置,对计算结果的影响比较大时,能否将其简化掉则也是必须考虑的问题。2 .物理模型再一次提到物理模型。现实世界是一个复杂的系统,我们在进行研究时,不可能考虑所有的影响因素,只能选取一些主要因素去进行考虑。很简单的例子,NS方程是从三大守恒定律出发的,所做的假设比较少,但是很
8、遗憾,对于复杂结构直接数值求解NS方程目前还不可能,于是为了工程需要,对NS方程离散过程进行了一系列的简化,于是出现了各种湍流模式,出现了各种燃烧模型、多相流模型。3 .模型参数现在很多工程软件都集成了物理模型,其中很多模型参数都是一些半经验或经验参数,并不一定会适应自己的模型。但是这些模型参数的获取是一件非常困难的事情,通常都是通过实验获取。在最后,再来谈谈CFD计算结果的验证以及计算修正的问题。通常实验是最好的验证手段,但是存在一个问题,实验过程中的参数很难与计算输入的参数完全吻合。对于实际工程问题,采用实验有时候是唯一的验证手段。一般来说,数值计算结果在工程上与实验结果误差在10%以内是
9、被允许的。在数值计算结果与实验数据存在很大差异时,一般进行以下一些步骤的检查:1 .检查几何模型分析是否忽略了关键几何特征、检查边界位置是否合适。很多时候边界位置设得不合适,可能会导致计算振荡,不收敛等情况发生。同时,由于不同的软件对于不同的边界组合方式处理方法存在差异,需要选择合适的边界组合方式(如FLUENT中压力边界与OUlfIoW边界相冲,最好不要同时出现,可能导致收敛问题。流量入口边界收敛要比压力入口困难)。2 .检查物理模型是否选用了不合适的模型。每一种模型都有一定的使用范围,使用者需要对这些使用限制有深刻的认识才能更好的进行选择。例如FLUENT中,湍流模型有很多,标准K-E模型
10、适合一般的工程流动问题,但是对于强旋流误差较大,RNGK-E模型适合旋转流动湍流计算,SA模型适合航空外流计算,K-W适合边界层计算,雷诺模型适合各向异性湍流的计算,但是计算量大不易收敛。因此在进行选择需要仔细的考虑选择的模型是否适合自己的问题,一旦模型选择错误,轻则造成大的误差,重则不收敛计算出错。3 .检查是否忽略了不该忽略的物理现象例如计算复杂几何模型时出现大的负压区,是否需要考虑空化。计算高压气体时,是否考虑可压缩性,是否考虑粘性热。还有一些情况下,是否考虑蒸发、冷凝等相变情况。有时候这些物理现象会导致计算的不收敛乃至计算错误。4 .优化网格网格质量始终是CFD工程师们的努力内容。好的
11、网格质量能够增强收敛、提高计算精度、减少计算时间,因此在时间充足的情况下,尽可能的去提高网格质量。同时,对于流动情况更杂的区域进行网格加密处理。在计算结果达到要求后,还需要进行网格独立性验证。5 .边界条件检查测量精度是否满足要求?若边界信息不是通过仪器测量得出而是通过计算,那么采用的公式使用条件是否能够接受?总之,虽然CFD的输入、输出较为简单,但是要想得到比较好的计算结果实际上是相当的困难的,不但需要良好的实验设备的支持,更需要使用者拥有深厚的理论功底。在当前,很多高校的学生都加入了CFD计算这个行业,有很多像我这样的半路出家的,理论基础薄弱,在应用CFD过程中出现了很多的问题,不但会在工
12、程上造成灾难,还会败坏CFD的名声。所以痛定思痛,下定决心学好理论,只有拥有良好的理论功底,才有可能将CFD更好的应用于工程中,更好的让CFD指导产品设计。虽然很多朋友对CFD的历史沿革非常熟悉,但是为了叙述的完备,这里还是先回顾一下CFD的发展历史。CFD是英文COmPUtatiOnaIFlUidDynamiCS(计算流体力学)的缩写。虽然提到“计算”就容易让人想起计算机,但CFD的历史起点其实可以追溯1910年个计算机尚未诞生的年代。在19101917年期间,RiChardSon采用数值方法模拟大气运动。尽管没有获得成功,但这个事件仍然被看作CFD诞生的起点。据说当年RiChardSon曾
13、经在一个体育场中组织了2万多人进行数值计算,每人手里拿着一个手摇计算器,然后Richardson站在体育场中心指挥这场大规模的数值计算,不过因为他的数值格式是不稳定的,所以一直到1917年他也没有成功地预测天气的变化。类似的事情在中国搞两弹一星的时候也出现过,当时是每人拿着一个算盘进行计算,区别是中国做这样的计算的时候,稳定性理论早就提出,因此这样的计算对于中国两弹一星的成功起到了关键的作用。我甚至觉得这有可能是数值计算第一次成功地服务于中国的国家建设。1928CoUrant、FriedriChS和LeWy开创了稳定性研究,他们三个人的名字后来被组合在一起,成为双曲型问题稳定性判据的名字,即C
14、FL条件。后来在二战期间(应该是30年代),VonNeumann独立创立了以他的名字命名的VonNeumann线性稳定性分析方法。直到今天,VonNeumann稳定性方法仍然是CFD稳定性分析的主要工具。在稳定性分析方法提出之前,VonNeumann还与Richtmyer合作提出人工粘性法。1952COUrant提出一阶迎风格式。迎风格式在CFD领域具有非常重要的意义,后来的很多格式,特别是双曲问题的求解格式都离不开迎风格式的基本思路。几乎与此同时,基于位势流理论的面元法被提出。面元法只在物体表面划分网格,并采用基本解叠加的方式满足物体表面的边界条件,因此其计算量比需要进行全场网格划分的求解方
15、法要小的多,所以面元法一度成为飞机设计领域最流行的方法,现在则成为飞机概念设计阶段快速获取气动性能的计算手段,详细计算则交给全NS求解器。1959Godunov提出Godunov一阶迎风格式。这个格式将相邻网格间的流动看作微型的激波管流动,从而把流场计算归结为黎曼问题的求解,对20年后高分辨率格式的诞生起到了启示作用。I960年,LaX-Wendroff格式诞生。这种格式采用Tayk)r级数展开的方式获取数值格式,最终的格式虽然繁琐,但思路简洁,因此成为经典格式之一。19631.ES方法建立。LES方法直接求解大涡结构,并用亚格子模型处理小尺度旋涡,可以看作DNS与湍流模式理论相结合的一种湍流
16、求解方法。因为其计算量远远大于湍流模式理论,所以迄今为止还仅限于学术领域。不过在HPC技术飞速发展的今天,LES方法被认为是将取代湍流模式成为未来一个时期湍流模拟的主流方法,显示这一点的一个迹象就是作为湍流模式理论和LES方法的之间的混合方法,如DES、SGS等,己经开始逐渐进入工程计算领域。1969MeCormaCk格式建立。MCCOrmaCk格式分预报、校正两步进行,精度上保持二阶精度,但计算量远低于LaX-Wendroff格式,因此成为一种深受喜爱的格式,并流行了很多年,对CFD的影响非常深远。1972Spalding和Patanka提出SIMPLE格式。SIMPLE格式主要用于求解不可压流问题,因此这个格式的来历与早期求解双曲问题的诸多格式都不同。70年代末,Spalding以此算法为基础设计了Phoenics软件,开创了CFD软件商业化的新时代SIMPLE算法也是FLUENT软