OpenFOAM vs. Cantera我该信哪个?

2021-03-17  本文已影响0人  charryzzz

做燃烧的OpenFOAMer都知道,化学反应机理至关重要,它不仅会影响反应流的温度,还会影响组分的分部等。最近在研究金属铝在空气中的燃烧,从Combustion and Flame上找到了一个8组分12步反应机理[1]

铝、氧气反应机理

恰巧前段时间把求解器从OF2.4.x版本升级到了OFv1912版本,(此处省略一万字),就随手用2个版本的chemFOAM,并采用了两个不同的ODE求解器算了一下这个反应机理,结果差距还很大,特别是在初始温度比较低的时候。作为对比,还用了Cantera的0维求解器[2]计算了同样的反应机理。初始温度从1200K到3200K,结果如下

Fig. 1 chemFoam-24x-vs-1912-1200K Fig. 2 chemFoam-24x-vs-1912-1600K Fig. 3 chemFoam-24x-vs-1912-2400K Fig. 4 chemFoam-24x-vs-1912-3200K

可以发现,当初始温度为1200K时(Fig.1),OFv1912点火失败,OF2.4.x点火成功,但是两个不同的ODE求解器得到的最终温度竟然不一样,Cantera计算结果和OF2.4.x+seulex求解器的结果最为接近。

当初始温度为1600K时(Fig.2),OFv1912点火成功,并且其最终温度与Cantera一致,但是点火过程的温度变化并不吻合。OF2.4.x的最终温度较高。

当初始温度为2400K和3200K时(Fig.3 & Fig.4),OFv1912的计算结果与Cantera完全一致,但是OF2.4.x的计算结果始终偏高。

与氢气、甲烷等常用的燃料不同,针对铝/氧气反应机理的研究还不太成熟,机理的缺陷可能造成了以上互相矛盾的结果,究竟哪个结果更准确也不得而知。因为Cantera在化学反应计算中的认可度还是较高,同时,铝与氧气的反应一般都在3000K左右,所以我选择相信新版本OFv1912的结果。并且,OFv1912的的计算速度较旧版本也有很大提高。关于ODE求解器,Rosenbrock34是比较常用的而且计算速度很快,但是这个求解器有时候会crash(可能还是反应机理的问题),可以考虑把ODE求解器换成seulex,它的鲁棒性更好,但是计算速度要比前者慢30%甚至更多。

所以,各位做小众燃料燃烧的CFDer,当遇到温度或者组分分布异常,或者点熄火现象预测不准确时,可以考虑从换一个ODE求解器,或者换一个OpenFOAM版本,说不定有意想不到的收获。


  1. Huang et. al. Effect of Particle Size on Combustion of Aluminum Particle Dust in Air. Combustion and Flame. 2009. (http://www.sciencedirect.com/science/article/pii/S0010218008002861)

  2. Cantera, reactor1.py https://cantera.org/examples/python/reactors/reactor1.py.html

上一篇 下一篇

猜你喜欢

热点阅读