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

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

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

1 double precision function rate_limit( x )
2     double precision x
3     rate_limit = x/(x + 1e-05)
4     return
5 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才能勉强收敛。思考了一下,估计是因为床料中掺混了碳以后,由于反应的发生,床料的空隙率瞬间减小,是有利于进料口进料的;不过仅仅是猜测。

时间: 2024-10-08 18:02:35

mfix模拟流化床燃烧帮助收敛的方法的相关文章

用mfix模拟流化床时边界压力需要注意的问题

没想到今天模拟一个冷态流化床都出现这么多问题.需要通入三种气体组成的混合物,这时入口边界的压力BC_P_g不能为零,否则会报错,但是,需要注意的是,收敛效果对这个压力边界非常敏感,我随意给了个30,结果发散,发散的很厉害,速度超限.然后我看了看官方给的一个流化床燃烧的例子,里面设的是3.04d7(30个大气压),设成这个值就没问题了. 所以,结论是:单种气体算流化床时,边界压力可以给0,但是通多种气体就必须严格考量这一值,可以参考官方案例,比如3.04d7.具体原因可能是用到了理想状态方程,PV

在PC上测试移动端网站和模拟手机浏览器的5大方法

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

VB模拟键盘输入的N种方法

VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件.那么我们怎样才能用VB来写一个程

多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值

//多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //多态 模拟 移动硬盘 插入电脑

CURL模拟POST提交的二种方法实例

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式. 方法一(返回的是json字符串格式): /** * Curl版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_curl('http://facebook.cn/restServer.php',$post_string); */ function actionPost($url,$data){

黑马程序员——java——模拟一个字符串中的trim方法去掉一个字符串两端的空格

模拟一个字符串中的trim方法去掉一个字符串两端的空格 public class StingTrimDemo { //模拟一个trim方法, 去掉一个字符串两边的空格], public static void main(String[] args) { // TODO Auto-generated method stub String s = " my java "; System.out.println("未去空格前的字符串+++:[ "+s+" ]&q

【转】在PC上测试移动端网站和模拟手机浏览器的5大方法

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择“复制”,复制一个图标副本到桌面.右击该副本,选择“属性”,打开相应的对话框,在“目标”文

模拟生成环境的MySQL安装方法-通用二进制方式安装

模拟生成环境的MySQL安装方法-通用二进制方式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.并发响应用户请求的网络IO模型 1>.单进程 特点:一个进程响应一个请求.而且只有一个进程,所以执行任务是串行的. 2>.多进程/线程 特点:一个进程响应一个请求,如prefork多进程模式(由master进程提前开启的多个prefork进程,然后由这些prefork进程去响应多个请求.):也可以一个线程响应一个请求,如worker多线程模式(由master进程开启多个子

js原生创建模拟事件和自定义事件的方法

让我万万没想到的是,原来<JavaScript高级程序设计(第3版)>里面提到的方法已经是过时的了.后来我查看了MDN,才找到了最新的方法. 1. 模拟鼠标事件 MDN上已经说得很清楚,尽管为了保持向后兼容MouseEvent.initMouseEvent()仍然可用,但是呢,我们应该使用MouseEvent().我们使用如下页面做测试 1 <!DOCTYPE html> 2 <html> 3 <head lang="zh-CN"> 4