-
以下三张图依次为buoyantBoussinesqSimepleFoam,Fluent6.3,CFX15.0计算残差曲线,边界条件及k-e模型参数相同,总均为ICEM导出六面体网格,约112w。
(buoyantBoussinesqSimepleFoam设置delt=10-e8,我擦:big_mouth: ,刚才发现了个openfoam计算设置的错误:big_mouth: :big_mouth: ,不知道这个信息是不是对时间花费很关键,但至少上面of结果不可信了,buoyantBoussinesqSimpleFoam求解器该算例时,controlDict下求解器名字写成了simpleFoam,由于是从simpleFoam下拷贝过来加入换热计算的,这个名字漏掉改了,计算却没报错)。话说回来,我觉得of计算这么慢的主要原因在于我把时间步设置的过小造成的,当时是先算了瞬态,所以算稳态时时间步没有进行修改。
-
@cfd-china 在 OpenFOAM后处理与Fluent结果比较 中说:
计算时间差异太大了。个人经验
buoyantBoussinesqSimpleFoam
算100万网格不至于用100小时。能否贴出了log看看?CFX和Fluent差异也太大了。你设置的是收敛后停止计算还是固定迭代步数?
我在使用OpenFOAM的simpleFoam计算管内流动的时候也是收敛很慢,并且计算结果还不对,不知道是不是我不会用的原因。反正OpenFOAM的计算速度超慢,fluent分分钟算完的算例,OpenFOAM却要我出去吃个饭回来才计算完成
-
你好,我说下当时情况,记不全了(有点啰嗦,勿怪)。
1、上面那个是初始算例,后来发现虽宏观上三者基本一致,但注意到OF与Fluent差异更小,以至于后来再也没用CFX比较。
2、就计算时间差异,单核算即使100h(4天),也可以通过并行将花费时间大幅减小,后来时间差异也没有深究。不过后来过几个算例,双核大概五十多个小时,四核大概二十个小时左右(记不清了)
3、不知是我设置有问题还是其他原因(上面有人提到原因可能是buoyantBoussinesqSimpleFoam时间步设置成了10-8s,后来我改为1s试了下,并未看到计算时间明显减小),后来有人怀疑残差定义三者有别(听说fluent残差是计算域通量残差积分),考虑到自身课题进度等原因,未花费精力对其深究。
4、计算设置是固定步数,CFX由于迅速收敛而未达到计算步数,fluent与of到计算步数而未收敛,故计算过程中加大了步数。
5、当时算例log后来估计删了(,找了没找到,那个算例太原始,没受重视)。
6、我的浅薄之见:of比CFX、fluent计算慢在情理中,试想一个庞大的商业公司每年养N多人搞开发,如果计算速度不比一套of计算代码快的话就怪了。CFX可能采用了某些神秘的加速收敛方案(我只用过一次CFX),毕竟源代码未公开。:joking: :joking: :lol: -
也想比对Fluent和O.F.的计算效率与准度的问题,但是发现实际操作起来还挺麻烦的。边界条件的处理,离散,数值积分方面的处理要做到非常接近才能让对比结果有说明意义。这篇文献供大家参考。
Robertson, E., Choudhury, V., Bhushan, S. & Walters, D. K. Validation of OpenFOAM numerical methods and turbulence models for incompressible bluff body flows. Comput. Fluids 123, 122–145 (2015).
-
@random_ran
极品文章,2015年OpenFOAM和Fluent对比的数据发在Computers&Flduis必然下了不少功夫,有空研究研究。