千万不要想一次把事做好——CFD 算例调试方法

当今的 CFD 的算例头上长角,身上长刺,肚子里都是弯弯道。就是虚拟的自然界,速度跨越了从人体的血液流动到火箭的高超音速,温度跨越了从气体冻得结冰直到气体热得电离成离子,介质跨越了从火山的熔岩到浮在空气中的灰尘,流动现象有激波、有转捩、有火焰、有海水、有一切。拿个机翼只计算阻力、升力的时代上哪去了?凭什么今天要我一次搞定这么多事情。

如果想一次把算例做好,用庞大的网格描述细密的几何形状,加密壁面网格,加密流动重要区域。然后用最多的网格、最高阶的格式、最高级的模型、最小的时间步、最多的迭代步数开始计算。后面的场景很熟悉:计算机累的呜呜作响,残差曲线玩登月,屏幕一直喊救命,“****,error,over,finished”。

我们勤劳勇敢的 CFD 人不睡觉不吃饭也要搞定它,所有能改的都改,所有可以试的都试,无穷的因素产生的错误形式层出不穷,错误的原因却永远是个谜,好比你在南美洲扇蝴蝶翅膀,却要分析如何影响北美洲的风暴。对这种倒霉事,去请各路大仙帮忙,他们只会给你更多的选择,而不是更多的道路。

2. 先做减法后做加法

为什么我们使用成熟的 CFD 软件,已经拥有了仿真复杂算例的工具,还总是算死或算错,而且永远不知道谁使坏。我们太想一次把事情做对,给自己背上了无法承受的包袱。事情所以难是因为太复杂,影响结果的因素太多,看每一个模型都像罪魁祸首,看每个边界条件都是嫌疑人,但是每个计算错误都是他们共同产生的结果,无法找到铁证将始作俑者抓到。

其实解决方法很简单,做减法。你怀疑谁就叫谁出去,如果从此天下太平说明刚才赶出去的就是嫌疑犯,如果还出问题,说明算例里还有嫌疑犯。比如你怀疑湍流模型可能不对,那么取消湍流,计算一个层流甚至无粘的算例,如果结果还是错的,你就要怀疑其他模型了。运气好的减少几个复杂度,就取得合理的结果。见过运气最不好的,一直将算例简单为管道里面的均匀气流,才可以正常运转。

做完减法后的事情很简单,将你需要的各种设置一一叫回来,什么时候发现加上它出问题了,就是嫌疑犯回来的时刻。这就是一次面对 100 个问题和逐一面对各个问题的差异。

3. 先做成本低的影响大的

加密网格和减小时间步,都是消耗成本换成果的事情,一定能拖多后就多后,等大多数问题都解决了,再解决这些老大难。否则你网格很密,时间步很小,算一次费无数时间,最后发现问题还与它无关,你说冤不冤。

比如湍流模型,不管与它是否与结果有重要关系,大家都玩命尝试各种湍流模型。终于摸透了湍流模型,又发现其实湍流不影响结果。建议先评判影响程度,如果有困难,可以用极限状态判断对结果影响的量级,对比湍流和层流两个状态,如果这两个状态之间没有多大差别,你觉得使用哪个湍流模型的问题还值得揪心吗?

  • 分享于 · 2017.08.27 15:14 · 阅读 · 2325

[版权声明] :本文系网友分享,仅以非商业性的交流和科研为目的,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网( friends@stuch.cn )联系!我们将协调给予处理。转载授权码:确权中,请原作者尽快与我们取得联系,阅读原文(请登录)..

0 条评论

请先 登录 后评论
猜猜我是谁
实习小编 -官方账号

6
提问
38
回答
63
文章
注册推广