1、悲催的CFD仿真
当今的CFD的算例头上长角,身上长刺,肚子里都是弯弯道。就是虚拟的自然界,速度跨越了从人体的血液流动到火箭的高超音速,温度跨越了从气体冻得结冰直到气体热得电离成离子,介质跨越了从火山的熔岩到浮在空气中的灰尘,流动现象有激波、有转捩、有火焰、有海水、有一切。拿个机翼只计算阻力、升力的时代上哪去了?凭什么今天要我一次搞定这么多事情。
如果想一次把算例做好,用庞大的网格描述细密的几何形状,加密壁面网格,加密流动重要区域。然后用最多的网格、最高阶的格式、最高级的模型、最小的时间步、最多的迭代步数开始计算。后面的场景很熟悉:计算机累的呜呜作响,残差曲线玩登月,屏幕一直喊救命,“****,error,over,finished”。我们勤劳勇敢的CFD人不睡觉不吃饭也要搞定它,所有能改的都改,所有可以试的都试,无穷的因素产生的错误形式层出不穷,错误的原因却永远是个谜,好比你在南美洲扇蝴蝶翅膀,却要分析如何影响北美洲的风暴。对这种倒霉事,去请各路大仙帮忙,他们只会给你更多的选择,而不是更多的道路。
2、先做减法、后做加法
为什么我们使用成熟的CFD软件,已经拥有了仿真复杂算例的工具,还总是算死或算错,而且永远不知道谁使坏。我们太想一次把事情做对,给自己背上了无法承受的包袱。事情所以难是因为太复杂,影响结果的因素太多,看每一个模型都像罪魁祸首,看每个边界条件都是嫌疑人,但是每个计算错误都是他们共同产生的结果,无法找到铁证将始作俑者抓到。
其实解决方法很简单,做减法。你怀疑谁就叫谁出去,如果从此天下太平说明刚才赶出去的就是嫌疑犯,如果还出问题,说明算例里还有嫌疑犯。比如你怀疑湍流模型可能不对,那么取消湍流,计算一个层流甚至无粘的算例,如果结果还是错的,你就要怀疑其他模型了。运气好的减少几个复杂度,就取得合理的结果。见过运气最不好的,一直将算例简单为管道里面的均匀气流,才可以正常运转。
做完减法后的事情很简单,将你需要的各种设置一一叫回来,什么时候发现加上它出问题了,就是嫌疑犯回来的时刻。这就是一次面对100个问题和逐一面对各个问题的差异。
3、先做成本低的、影响大的
加密网格和减小时间步,都是消耗成本换成果的事情,一定能拖多后就多后,等大多数问题都解决了,再解决这些老大难。否则你网格很密,时间步很小,算一次费无数时间,最后发现问题还与它无关,你说冤不冤。
比如湍流模型,不管与它是否与结果有重要关系,大家都玩命尝试各种湍流模型。终于摸透了湍流模型,又发现其实湍流不影响结果。建议先评判影响程度,如果有困难,可以用极限状态判断对结果影响的量级,对比湍流和层流两个状态,如果这两个状态之间没有多大差别,你觉得使用哪个湍流模型的问题还值得揪心吗?
基于我不准确的理解将CFD算例重点调试的先后排序推荐如下:
a.全计算域的外边界条件
b.全计算域的流动参数
c.局部边界条件
d.重要模型
e.局部复杂几何形状
f.网格加密、时间步减小
4、知道可以不做什么
调试一个算例要做什么,我们太知道了,要做的工作数不清,网格和所有的设置、模型都要一一验证他们对结果的影响,确保使用最正确合理的方法。但是我们无法同时面对这么多问题,因此我们真正要知道的是可以不做什么!将自己从复杂的蜘蛛网中解脱。
可以做的事情——好做的事情:成本低、速度快、影响大。
可以不做的事情——不好做的事情:成本高、速度慢、影响小。
我是个见困难就躲的人,咱能力弱,只捡软柿子捏,用最小的成本换来最大的胜利,不到万不得已从来不和任何问题死拼。很有些CFD勇士,上来就错误地认为已经具备打阵地战的能力,遇到第一个问题不管已有的能力是否足够就全力以赴,往往牺牲在起步阶段。其实不要怕解决不了难题,伴随简单问题的解决,最初不好做的事情逐步变得好做,然后按照更高的标准去评判什么要做不要做。通过逐步迭代,最后还是可以达到全面胜利。
5、为解决问题简化算例
在调试期间如果算例很复杂,每次计算时间过长,根本无法快速取得经验。要想快速积累经验,明确各个设置的特点,只有简化算例,以最简单的模型、最少的网格和最快的速度消灭问题。
比如要确定仿真飞机飞行的计算外边界是否够远,你可以用一个铅笔头取代复杂的不得了的飞机,因为对于外边界位置这个问题,中间是一架飞机还是一个铅笔头都没有多大差别,只要尺寸、速度、高度是一样的都可以等同,但是计算量可以差几个量级,用简化算例可以达到一天完成几十、几百个调试。如果你说建一个简化算例太麻烦,宁愿带着最复杂的飞机去调试边界条件,每次计算还用5天,好吧,你有保持复杂的权利。建议,不要背着房子去探路,背上蜗牛壳虽然很完整,但是走不动。既然是探路就要放下一切包袱,可以不要的都不要,用最简单的模式先看看这个道路是否正确,回头将所需要的各种细节加上,以完美的姿态沿正确的方向前进。
分解、简化复杂问题,将不可能的事情变成很多个可能的事情。你努力可以跳上一米高台,再努力不能跳上三米的房顶,但是有了梯子小孩都可以上房顶。所以有空不是去练跳高,而是去制造梯子,好像浪费了时间,其实最省力。
上周出差,我坐在火车里写文稿,火车外栋栋高楼划过,也许某栋楼里就有人正在期待我这篇文稿,那个人是你吗?我等待着你关注我,等待着你去和你的朋友分享。
声明:本文内容为原创,本文已经授权,转自 陆姐说 公 众 号 。转载本文内容需要标明出处并取得“陆姐说”的认可。