收敛表示仿真软件已经把流场反复修正到位,可以结束仿真运算了。 如何判断仿真是否已经收敛,让我们很为难。 · 放宽收敛标准,可能把没有收敛的错误结果当作收敛结果接受了。 · 收紧收敛标准,又会多运行很多步,白白浪费很多时间。 所以,我们希望有个放之四海而皆准的收敛标准,在仿真运行到收敛的时候,正好结束仿真。 这个标准,不是一个数,不是一个公式。从把握全局标准的残差,到追求终局目标的设计参数,最后深挖局部观察的流动现象。从表及里,一层层剥开。 看完这三层,才敢说是否已经收敛。 01、全局标准 残差——仿真软件估算的误差。常规的收敛判断是:残差小到十的负四次方、负六次方……。对于简单算例,直接用软件给你的标准,残差达到标准就认为收敛;对于复杂算例,谁也无法只用残差判断是否收敛。 仿真软件运行几十步后,残差完成了漂亮的跳水,就不死不活地上上下下波动。 你猜不透,残差背后,仿真软件是在辛苦地修正流场,还是在搅乱流场。 你猜不透,残差下降到十的负六次方,表示流动已经修正合理,还是软件根本忽视了不合理的分布。 残差只是软件估算的整个流场的残余误差,并没有告诉你流场在发生什么。 · 大形势与你有什么关系,大趋势好的时候也有赔钱的,大形势不好的时候,也有赚钱的。 · 残差与你有什么关系,残差小的时候,也有流场乱的,残差大的时候,也有流场收敛的。 没有人可以只用股票指数炒股赚钱。没有人可以只用残差判断复杂算例收敛情况。计算机不能自动设置一个收敛准则,取代你的判断,所以你有存在的价值。 你抱怨的就是你存在的意义。 02、终局目标 换个思路,仿真的终局目标就是获得设计参数。如果你要算阻力,为什么不直接观察阻力变化?直接观察你关心的参数变化。例如:阻力、升力、薄弱点的温度、漩涡附近的压强、掺混处的浓度。 管它残差如何,反正你又不用残差做设计。只要你最挂念的位置没有出问题,你最关注的设计参数平稳下来,这个仿真结果基本可以用了。 如果阻力还在持续下降,即使残差再小,你也不敢说收敛了,还要继续运行;如果你关心的阻力,波动范围超出了容忍的范围,管它残差是大是小,你都要继续运行下去。 还有一种收敛,例如阻力虽然在波动,但是逐步出现了周期性。说明你遇到了个非要波动的流场,你再继续运行,仿真软件也无法消除流场的波动。 这个时候,残差也大,参数也波动,但是仿真已经收敛了。 把重要参数随仿真运行步数变化的曲线与残差一起动态显示出来,这种简单粗暴的方法很有效。 时刻记住:你追求的是参数,不是残差。 03、局部观察 以上只是帮助你判断是否收敛。最好你还能够明白仿真运行为什么会收敛,为什么不收敛。建议你,每运行几百步自动存储一个仿真结果。以前这么做也许是怕运行突然中断,可以从存储的这一步重新启动。现在要打开流场数据,看看每过几百步发生了什么变化。 但是我们要看什么呢?流场中要看的数不胜数,根本看不过来。所以,只看这两种情况: · 对设计参数很重要的位置,比如影响阻力最大的表面附面层、底部分离涡。其他位置闹翻了天对设计参数影响也不大,就放过吧。 · 变化最大的位置:速度变化最大的位置、压强变化最大的区域、温度最高的区域。这种位置的数据在仿真运行过程中波动最大,往往是残差的发源地。 观察这些细节,你就会发现收敛是真收敛还是假收敛。也许是一个关键的漩涡,仿真软件的数值粘性把它固化了,该动不能动,表面上是收敛了,实际是被抹杀了;也许是一个无关的小波动,被仿真软件放大,流场实在消化不了,在流场中来回乱窜。表面上是不收敛,实际是被干扰了。 看到流场的细节,你才知道仿真发生了什么故事。但是只有对流动观察思考,你才能知道该看什么细节,否则你会被细节淹没。 观察让你知道应该观察什么,观察对了地方才能观察到真相。 04、结 论 用残差这个全局标准判断收敛,只适用于简单的算例。复杂的算例要用你的大脑判断。盯着设计参数这个终局目标,因为你追求的是参数,不是残差。 观察关键局部读懂仿真运行的内在故事,判断是真收敛、假收敛。然而,只有观察思考才能知道哪里是关键。 你能看透收敛的三重标准吗? 来源:陆姐说微信公众号(ID:Lujieshuo2015),作者:陆宏志。 |
GMT+8, 2024-11-24 17:32 , Processed in 0.048996 second(s), 22 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.