首页 > 代码库 > mfix模拟流化床燃烧帮助收敛的方法

mfix模拟流化床燃烧帮助收敛的方法

1.在反应速率里用rate_limit函数;2.初始床料中可以添加一部分碳和灰。下面给出详细解释:

 

1.c3m生成的化学反应速率中有一个这样的函数:

1 double precision function rate_limit( x )2     double precision x3     rate_limit = x/(x + 1e-05)4     return5 end

manual中给出的解释是,这个函数可以缓解某些值突然减小导致的难收敛问题。举个例子:

1 RATES(moisture_release_1) = &2             6105.92107819465d0*ROP_s(IJK,1)*X_s(IJK,1, &3             COALMOISTURE_1)*rate_limit(X_s(IJK,1, &4             COALMOISTURE_1))*exp(-10668.847726726d0/min(T_s(IJK, &5             1),2500d0))

这是水气化的反应速率,rate_limit()中传入的是水的质量分数,也就是说,由水的质量分数变化带来的不稳定会被函数限制住。

我看了一下这个函数的图像,发现,x特别大的时候函数几乎水平为1,特别小时为0,在1e-5附近时在0~1之间,不是很理解这个函数具体怎么起到稳定作用的。不过此函数确实起作用,我在自己编写的nox生成反应速率的时候,不加这个函数的时候,步长到0.1*e-5都不收敛,把反应物当作参数传进去的函数乘上去之后,到0.1*e-3就能很好收敛。

2.床料体积分数为0.5,其中0.3为沙,0.2为碳和灰。这是我之前突发奇想这么设置的,没想到对收敛是很有帮助的,当我把床料全部换为沙以后到0.1e-5才能勉强收敛。思考了一下,估计是因为床料中掺混了碳以后,由于反应的发生,床料的空隙率瞬间减小,是有利于进料口进料的;不过仅仅是猜测。

mfix模拟流化床燃烧帮助收敛的方法