《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格式主要用于求解不可
17、压流问题,因此这个格式的来历与早期求解双曲问题的诸多格式都不同。70年代末,Spalding以此算法为基础设计了Phoenics软件,开创了CFD软件商业化的新时代SIMPLE算法也是FLUENT软件等商用软件的基本算法,因此现在己经是影响最大的算法。同样在1972年,DNS方法提出。1977出现无网格方法。这类方法的思想大多源于早期的元胞自动机算法,后来逐渐发展出数十种算法格式,其中比较著名的包括LBM方法、SPH方法、分子动力学方法、DPD方法等等。19791985此期间是高分辨率格式的创立期,在此期间,从MUSCL格式到TVD格式,再到ENo格式和WENo格式,针对双曲型问题的计算精度,
18、特别是计算中出现的虚假震荡问题提出了一套完备的理论,开启了一轮高分辨率格式设计的热潮,使得双曲型问题的求解跃上一个新台阶。1978开始出现CFD商用软件,90年代以后CFD商用软件逐渐成熟,并成为流体力学研究的基本工具。1997将LES与湍流模式理论相混合的DES方法被提出,湍流计算开始出现逐步摆脱湍流模式理论的趋势,特别是在气动噪声这类传统算法精度不足的领域中,DES方法的应用要更多一些。2001AIAA开始启动阻力预测开放式研究活动(DPW)O这个活动每两年举办一次,主要针对阻力计算的可信度问题展开研究。CFD的可信度问题本质上是将工业领域的质量管理方法引入CFD研究,通过提高CFD的可信
19、度,增强工业界对CFD结果的信心,AIAA的DPW活动每2年举办一次,至今己举办了5次活动。2010AIAA开始举办高升力预测开放式研究活动(HiLiftPW)4,这个活动也是每两年举办一次,今年是第二次活动,主要针对高升力构型中存在的问题进行可信度研究。也是从2010年起,国内的航空CFD高可信开放式研究活动(HiCFD)启动。HiCFD活动同时考虑阻力预测和高升力预测问题,为了便于与AIAA的结果进行对比,计算所用几何模型直接选用AIAA发布的模型。今年是第二次活动。这次活动在国内有较大影响,几乎所有航空院所都派人参加了这次活动。上面的叙述都是以时间点为标识进行的,但是实际上CFD的发展是
20、一个过程,CFD各个分支领域的发展也都各有自己相对独立的历史。一个新概念提出后往往要经历10年甚至30年左右的沉淀才能逐渐被业界认识,并掀起一个研究的热潮,然后到达其技术成熟期,并开始向工程界普及使用。比如LES的提出是在60年代,但其研究的高潮是在90年代。商用CFD软件的出现是在70年代末,但其兴盛是在90年代后。高分辨率格式的兴起是在70年代末80年代初,其热潮出现在80-90年代。无网格方法出现在70年代,热潮则在2000年以后出现。另外需要纠正一个观念,就是计算机的出现催生了CFD和数值方法,从实际的历史上看,数值方法的出现远早于计算机的出现,但无可否认的是,只有当数值方法与计算机技
21、术相结合后,数值方法(包括CFD)才真正焕发出活力,并成为主流的研究工具之提到数值模拟就会让人想到虚拟世界,脑海中也会浮现出电影黑客帝国中的场景。虚拟世界是人在计算机帮助下建立的世界,因此建立虚拟世界的人就是这个小世界的神。从这一点出发逆向去思维,也有人说我们现实的世界也很有可能是由更高级生物建立的虚拟世界。这当然是有可能的,但区别就是我们建立的小世界中有一种叫做误差的幽灵,时不时会溜出来捣乱。现实的宇宙则从来没有这种穿帮的现象,所以我还是倾向于认为现实的宇宙是实在的,我相信这也是绝大多数人的看法。正因为计算流体力学中的流场是虚拟的流场,所以很多人都对数值模拟的结果保持一种怀疑的态度,特别是在
22、与实验结果相对比时,很多人都直觉地更倾向于相信实验结果。换句话说,大家都直觉地认为虚拟的东西是假的、不可信的,现实的东西是真的、是可信的。正因为如此,所以流体力学界有一个说法,叫“计算结果是自己相信别人不信,实验结果是别人相信自己不信二既然虚拟的东西这么让人不放心,那为什么还要花大力气去发展和研究呢?原因就在于数值模拟有诸多优点。在这些优点中最常被提起的就是“成本低、周期短”,在工程应用上这显然是非常重要的优点。在计算机中建立一个模型的时间显然比实际制作一个实验模型要短,数值模拟的周期显然也比在风洞中进行实验要短。成本上就更是这样,与风洞试验动辄上百万的花费相比,数值模拟的成本显然要低廉的多。
23、同时由于研制周期缩短导致的成本间接下降也非常可观,因此数值模拟技术(包括CFD)自诞生之日起就获得了蓬勃发展。除了上述两个优点外,CFD还能模拟一些用地面实验技术无法模拟的流场,比如CFD可以模拟马赫数为20的流场,而这样的流场由于能量水平的限制实际上无法在地面进行模拟。同时需要注意的是实验中如果要完全重现真实流场往往需要满足诸多相似准则,但实际的实验常常只能满足1-2个相似准则,而很难完全满足所有的相似准则,同时实验中使用的传感器也有误差,并且存在支架干扰、洞壁干扰等干扰因素,保证其数据的精准度是实验流体力学的主要研究内容,所以数值模拟与实验之间相互依存、相互印证就成为流体力学研究中一种常用
24、方法。除上述众所周知的优点外,数值模拟还有另外一些优点不常被提及。比如数值模拟可以给出更丰富的流场细节,模拟参数更易于修改、调整,错误的结果一般不至于导致严重的后果等等。事实上CFD软件和程序可以被当作便携式风洞来使用,随时可以对自己感兴趣的问题做个计算,看看跟自己的直觉是否吻合。虽然数值模拟技术有上述诸多优点,但仍然存在诸多误差来源,这也是大家不敢轻易相信CFD的结果的原因。在真实流场与CFD结果之间存在数学模型、数值模型这样两个抽象层,而每次抽象都是一次理想化过程,在数值模型中更是在离散过程中引入数值耗散和色散项,并且存在由于计算机数位限制导致的舍入误差。同时流体运动是典型的非线性系统,一
25、些高阶小量在奇点附近可能并不是可忽略不计的,由此也会带来误差。在这种情况下,如何提高CFD计算结果的可信度显然成为CFD能否在工程应用中得到广泛应用的一个先决条件。如果能有一套流程可以增加CFD结果的可信度,则显然会增强人们对CFD结果的信心,否则,还是会让人在使用CFD时存在诸多疑惑。提到数值模拟就会让人想到虚拟世界,脑海中也会浮现出电影黑客帝国中的场景。虚拟世界是人在计算机帮助下建立的世界,因此建立虚拟世界的人就是这个小世界的神。从这一点出发逆向去思维,也有人说我们现实的世界也很有可能是由更高级生物建立的虚拟世界。这当然是有可能的,但区别就是我们建立的小世界中有一种叫做误差的幽灵,时不时会
26、溜出来捣乱。现实的宇宙则从来没有这种穿帮的现象,所以我还是倾向于认为现实的宇宙是实在的,我相信这也是绝大多数人的看法。正因为计算流体力学中的流场是虚拟的流场,所以很多人都对数值模拟的结果保持一种怀疑的态度,特别是在与实验结果相对比时,很多人都直觉地更倾向于相信实验结果。换句话说,大家都直觉地认为虚拟的东西是假的、不可信的,现实的东西是真的、是可信的。正因为如此,所以流体力学界有一个说法,叫“计算结果是自己相信别人不信,实验结果是别人相信自己不信”。既然虚拟的东西这么让人不放心,那为什么还要花大力气去发展和研究呢?原因就在于数值模拟有诸多优点。在这些优点中最常被提起的就是“成本低、周期短”,在工
27、程应用上这显然是非常重要的优点。在计算机中建立一个模型的时间显然比实际制作一个实验模型要短,数值模拟的周期显然也比在风洞中进行实验要短。成本上就更是这样,与风洞试验动辄上百万的花费相比,数值模拟的成本显然要低廉的多。同时由于研制周期缩短导致的成本间接下降也非常可观,因此数值模拟技术(包括CFD)自诞生之日起就获得了蓬勃发展。除了上述两个优点外,CFD还能模拟一些用地面实验技术无法模拟的流场,比如CFD可以模拟马赫数为20的流场,而这样的流场由于能量水平的限制实际上无法在地面进行模拟。同时需要注意的是实验中如果要完全重现真实流场往往需要满足诸多相似准则,但实际的实验常常只能满足1-2个相似准则,
28、而很难完全满足所有的相似准则,同时实验中使用的传感器也有误差,并且存在支架干扰、洞壁干扰等干扰因素,保证其数据的精准度是实验流体力学的主要研究内容,所以数值模拟与实验之间相互依存、相互印证就成为流体力学研究中一种常用方法。除上述众所周知的优点外,数值模拟还有另外一些优点不常被提及。比如数值模拟可以给出更丰富的流场细节,模拟参数更易于修改、调整,错误的结果一般不至于导致严重的后果等等。事实上CFD软件和程序可以被当作便携式风洞来使用,随时可以对自己感兴趣的问题做个计算,看看跟自己的直觉是否吻合。虽然数值模拟技术有上述诸多优点,但仍然存在诸多误差来源,这也是大家不敢轻易相信CFD的结果的原因。在真实流场与CFD结果之间存在数学模型、数值模型这样两个抽象层,而每次抽象都是一次理想化过程,在数值模型中更是在离散过程中引入数值耗散和色散项,并且存在由于计算机数位限制导致的舍入误差。同时流体运动是典型的非线性系统,一些高阶小量在奇点附近可能并不是可忽略不计的,由此也会带来误差。在这种情况下,如何提高CFD计算结果的可信度显然成为CFD能否在工程应用中得到广泛应用的一个先决条件。如果能有一套流程可以增加CFD结果的可信度,则显然会增强人们对CFD结果的信心,否则,还是会让人在使用CFD时存在诸多疑惑。