初步解读mfix中的stiff chemistry solver(刚性化学求解器)

在mfix中添加化学反应时,有一个可以勾选的选项叫做stiff chemistry solver.
一般来说我都是勾选的,但是一直以来不太清楚到底能不能勾选?为什么要勾选?它代表着什么意义?

mfix user guide里面说的不清不楚,而且太简略了。

后来偶然发现mfix中的化学反应其实是借鉴ansys的chemkin的。而且fluent中也有一个相同的stiff chemistry solver选项。那就好办了,毕竟fluent是商业软件,说明文档要详细得多。

获取stiff chemistry solver相关信息的来源可能有4个:

  1. mfix user guide中的少量叙述
  2. fluent user guide中的叙述
  3. fluent theory guide中的叙述
  4. chemkin中的叙述

注: 我用的fluent 19.0版本

fluent user guide中关于stiff chemistry 的叙述

先在fluent user guide文档中搜索下“stiff chemistry”
相关的很多,捡主要的来说。

首先是1355页提到了stiff chemistry solver

在这里插入图片描述这一节(14.1)的大标题是在讲体积化学反应,我理解也就是同相反应

从这里可以看出stiff chemistry solver是 finite-rate chemistry(有限速率化学)模型中的一种求解器,fluent中 除了它,并列的还有CHEMKIN-CFD。而且只有当使用 有限速率化学 或者eddy-dissipation concent TCL 模型的时候,才能用刚性化学

1833页的14.1.8.1. Stability and Convergence in Reacting Flows

也就是关于有反应流动的稳定性和收敛性的叙述

在这里插入图片描述这段说的很好,需要细看一下。有这么几个关键信息

  1. 带反应流动本身是很难收敛的。原因在于:反应会产生产物,质量就难以守恒;会产生大量的热,温度就难以守恒;会放出气体加速流动,速度就难以守恒。这就要求质量、动量守恒与组分输运之间有很强的耦合。
  2. fluent怎么解决的呢?靠一个two-step solution(只用于稳态,我们忽略)的机制,以及靠松弛化。
  3. 其次,即使去除这些物理上的因素,在数学上带反应流动也是很难守恒的。其根源在于当反应速率比较快的时候(与扩散、对流时间尺度相比),组分输运方程是一个“数值刚性”的系统。(我的理解:即很小的误差会不断放大)。于是我们就需要使用刚性化学反应求解器了。

1384页的 14.1.8.5. Solution of Stiff Chemistry Systems

在这里插入图片描述
在这里插入图片描述
这就是承接上面说的用stiff chemistry solver解决数值刚性问题的方案
它主要说了这么几件事

  1. 对于稳态流动,压力基求解器,使用stiff chemistry solver,化学反应速率其实是在一段时间内求平均的。也就是那个公式所说的内容。这段时间的选取,要是很小,反应速率接近现实,但是会发散,要是很大,不发散但是就没有反应了。其选取与扩散、流动的时间尺度有关。因为我们要做的是瞬态,这里就不细说了。
  2. ISAT算法。它这里没有细讲,但是它说对于颗粒反应,这是极其重要的。具体要看theory guide。
  3. 假如用密度基隐式求解器。也可以用stiff chemistry,但是要注意给定以下几点:
  • 温度的增长率不能太高:要给一个上限,一般是0.2
  • 温度时间步的减少率温度变化造成的时间步的减少不能太快,如果太快就立即限制当地CFL数,一般给定0.25
  • 最大化学时间步比。反应的时间尺度(即化学反应Jacobian矩阵的特征值)不能太大。否则无法维持该矩阵的良性。如果发生就立即限制当地CFL数。一般为0.9

综合来看,这三个举措都是为了防止温度变化过快导致发散而实施的。可见限制温度的变化是有反应流动防止发散的关键之一

上面所叙述的都在14.1 体积化学反应里的,也就是同相反应,下面是异相反应

1789页关于异相反应stiff chemistry的叙述

在这里插入图片描述
可以发现至少三点:

  1. 异相反应的刚性化学求解器也是用来帮助收敛的
  2. ANSYS利用分步的算法来植入刚性化学求解器:即先计算无反应的流动,然后在时间步的最后一次性植入所有化学反应。(这与MFIX是一样的)
  3. 刚性化学反应求解器的容差可以给定。

总结

  1. stiff chemistry是用来防止有反应流动发散的一个机制
  2. 发散的原因,以及stiff chemistry 作用的对象,是减小化学反应Jacobian矩阵(推测就是组分输运方程的Jacobian矩阵)的数值刚性
  3. stiff chemistry solver的作用机制推测大概是在化学矩阵刚性较大的时候,通过强行控制一些参数,比如CFL数,时间步,来强制防止不发散。

先说这么多,下期继续。下期观察theory guide

posted @ 2020-04-16 01:10  北斗123  阅读(1924)  评论(0编辑  收藏  举报