论文已发表:http://www.sciencedirect.com/science/article/pii/S0196890417305599

模拟对象为文献Combined gasification of coal and biomass in internal circulating fluidized bed[1]中的内循环气化炉。[1]http://www.sciencedirect.com/science/article/pii/S037838201100395X

---------------------------------------------------------------------分割线-----------------------------------------------------------------

2016.8.? 遇到问题:燃烧过程涉及到空燃比,需要知道质量流率,然而,fluent里对空气设置质量流率可能会出现错误,因此需要知道速度边界与质量流率的关系。(模拟二维对象)

2016.8? 解决:用report--flux功能

对于二维模型,可以设置reference里面的depth来调节质量流率(当边界速度一定时)。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.8.? 遇到问题:fluent算燃烧果然还是不够稳健,直接加入所有反应(10多个)后直接残差飞上天。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.8.16 问题解决:先加了两个裂解反应算了一段时间,再加碳氧化,还是不行,残差还是飞上天。索性把碳氧化速率减小1000倍,稳定住了,然后一个个加所有的异相反应,也稳定的不错,直接加入所有的均相反应,收敛性不是很好,主要是连续性方程不收敛,先让他继续这么算,算一晚上明天去看看。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.8.17 下午去看了看,结果发散了,又在那倒腾好一会,现在终于把所有反应都加上去并且都能收敛了。过程是这样的:我从昨天保存的地方,开始逐个加均相反应。刚开始两个还能收敛的不错,加到第三个均相反应的时候,残差又降不下去了,即使把反应速率改小,把时间步长减小,前两步能够收敛,但是到后面又收敛的不好了。来回尝试了好几次还还是不行。然后我有了个灵感,因为把步长减小后,前几步的残差是能降到很低的,这样我把收敛标准调到e-4的话,误差积累应该就更小,没准收敛效果会更好。果然我的想法是可行的。把连续性标准调到e-4以后,收敛性确实好多了。然后我还把另外几个湍流模型都算上了,看看它们算出来的流型有啥区别没有。明天去看看。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.8.23 先总结一下前两天的。陆陆续续去了好几次,调的过程中发现,时间步长不是越小收敛效果越好。刚开始步长是1e-6,连续性下不去,然后我偶然发现把时间步长增加到1e-5反而能够很好收敛。目前看来,暂时能够比较稳定的计算,但是比较头疼的是,由于反应比较多,有两个网格温度超限,而且每一步残差都会飞到很高,后果就是没准哪一步就由于残差弹的太高导致程序死掉,但是继续算还是可以算的。目前就是这个状态,明天拿个细点的网格去算算试试。看能不能稍微好点。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.9.19 这回重新调整了一下case,把碳单独看成一相,这样能减少反应方程的数目。前期调残差也废了点劲,主要还是减小步长,然后根据不收敛的变量找到对应松弛因子,减小之。比较头疼的是算到14秒的时候,突然发散了,很是奇怪,按说基本上产物都比较稳定了,不应该发散才对。多半还是反应的原因,然后先把均相反应先全部关上,依次打开,发现是碳氧化反应导致的,然后把这个反应速率先减少10倍,试了试,发现可以稳定计算,但是影响产物的量,先这样计算一段时间试试吧。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.9.21 真的是一个问题一夜回到解放前。之前通的是300k的低温气体,流化还不错,后来改为1073k以后,死活流化不起来了。尝试了一下把气体密度改为volume-weighted,这回可以了。而且,发现沙子流化不起来的话,会阻碍气体的热量传递,高温区只有低端入口一点点。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.9.28 这几天真是经历各种神奇的bug,累觉不爱,好在现在基本解决。自从装上linux系统以后,windows下的fluent就出现奇葩问题,设置好以后,开始计算就会报错,莫名其妙的错误,就像这样:

然后关掉这个奇怪的框框,继续算就能算了。但是让人很不爽啊。于是我就把linux备份出来,把整个硬盘格式化,重做系统,居然还是如此。我就很方了。。最后的最后,我是换了个系统重装才解决这个问题。但是我现在并不知道到底是什么问题引起的,简直神奇。

这还没完。由于之前几次算的都不是很理想,我就重新跑了个流化的case,具体设置后面介绍,当把反应模型打开以后,出现掉进程的问题(并行)。然后单线程算,出现segmentation fault的问题。这下我更方了,我甚至一度感觉是电脑硬件出问题了。然后我就一步步排查,最终发现,当设置湍流模型为k-epsilon dispersed,生物质和煤同时给,此时打开容积燃烧模型就会出现segmentation faul的问题,于是我就换成k-epsilon mixture,就不会有这个问题了,然后就是一步步加反应了。下面说说这个case怎么设置的。

首先我用1073k的气体通入床内,并且patch整个流体域为1073k,湍流模型设置的是dispersed(但是事实证明,最好别用这个,用mixture吧,虽然mixture的鼓泡床出泡效果没有dispersed明显),等充分流化以后就开始加生物质和煤了,这两者是常温。先只加入裂解和水蒸发这两个,最难的地方在于,由于床料的阻碍作用,生物质和煤的速度残差下不去。把步长减小到2e-4,动量松弛因子可以小到0.1左右,然后可以先这样算一段时间,因为随着反应的进行,生物质和煤会反应掉,反正我是中午回去睡一觉回来看就收敛了。收敛以后可以再尝试着把其他反应都加上,并把过小的松弛因子(比如动量)加大点。目前看来,计算还算稳定,就是不知道会不会和之前一样算一会又发散。先看看吧。对了,这次我先用单线程算试试,看和双线程结果有没区别。

-----------------------------------------------------------------------分割线------------------------------------------------------

2016.10.31 基本上反应全部加进去收敛以后,就能一直比较稳定了,剩下的就是调反应速率,因为这块涉及到不同文献给出的反应速率单位不同,导致指前因子单位不同,所以换算很麻烦,再加上有些文献写的可能是错的,先来记录一下单位换算的问题。

举个例子:CH4 + O2的反应速率表达式长这样,r = k[CH4][O2]。在FLUENT里,反应速率的单位是kmol/m3/s,气体浓度单位是kmol/m3,这样,就可以推出k的单位是m3/kmol/s,所以在FLUENT里,对于这个反应要保证单位正确。此时假如查到一篇文献反应速率的单位是mol/m3/s,那么可以推出其k的单位是m3/mol/s,应该将k中指前因子乘以1000,再填入FLUENT面板中。

虽然道理是这样,我自己操作过程中却遇到问题,我用文献《Three dimensional kinetic modeling of fluidized bed biomass gasification》的反应速率,并换算好单位,但是结果差的很多,这个反应速率我之前是用过的,组分对的也还可以,没换算单位,所以对于这篇文献,我怀疑作者可能给的不是换算以后的值。为什么会有这种感觉呢,我通过对比了几篇文献中CO+H2O的反应速率的值,感觉有些混乱。

这个来自一篇引用很高的文献《Modeling of biomass gasification in fluidized bed》

可以看到,A的值(也就是上文提到的k值)是2.78e3,其单位是m3/kmol/s,和FLUENT里是一样的,再来看看另几篇。

-- from 《Euler–Lagrange/DEM simulation of wood gasification in a bubbling fluidized bed reactor》

-- from 《Simulation on gasification of forestry residues in fluidized beds by Eulerian–Lagrangian approach》

-- from 《Two dimensional numerical computation of a circulating fluidized bed biomass gasifier》

如果按照第一篇为基准,那么A单位转换成m3/mol/s后应该是2.78,可是从这几篇文献可以看到,非常混乱。

目前还没找到确定答案,存疑。

转载于:https://www.cnblogs.com/Jay-CFD/p/5777702.html

用fluent模拟内循环床气化燃烧(调试过程记录)相关推荐

  1. 煤炭超临界水气化与超临界燃烧传热耦合Fluent模拟(调试记录)

    煤炭超临界水气化与超临界燃烧传热耦合Fluent模拟(调试记录) 这是一篇fluent数值计算的调试记录(自分用) ------------------------------------------ ...

  2. c语言内循环和外循环作用是什么,内循环和外循环的区别是什么 你平时都用开哪个...

    冬天暖风系统的开启也有很多门道,很多老司机也会出错,冬天我们是开内循环还是外循环比较好呢?哪样对车的使用寿命能够更好的提高,今天小编就给大家说一下其中的门道,让我们在以后开车的时候注意使用,看一下效果 ...

  3. mssql sqlserver 模拟for循环的写法

    转自:http://www.maomao365.com/?p=6567 摘要: 下文讲述sql脚本模拟for循环的写法,如下所示: /* for样例 for('初始值','条件','执行后自增') 通 ...

  4. 华为手机30s桌面循环滑动_【短讯】内循环工程机械高景气;苹果自研自产两种口罩;明年起华为手机将搭载鸿蒙系统...

    今日资讯 (2020-9-11) 工业资讯 [14部门发文推动 物流业制造业深度融合创新发展] 据新华社电 记者10日了解到,国家发展改革委等14个部门近日联合印发<推动物流业制造业深度融合创新 ...

  5. 编写函数,模拟内置函数 sorted()。

    编写函数,模拟内置函数 sorted(). 用python来简单的模拟sorted可以用库函数来进行,也较为简单,我选了min()和sort()来进行模拟 利用min()函数 def sorteds( ...

  6. 新概念0810:我理解的经济内循环

    新概念0810:我理解的经济内循环 这个词是最近的高频词汇,中央反复提倡的一种经济模式,以内循环为主外循环为辅的经济模式.同时也在拜读达利欧的<债务危机>一书,发现打造内循环为主外循环为辅 ...

  7. c语言内循环,C语言循环控制语句

    C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句.do-while循环语句和for循环语句来实现循环结构. 中文名 C语言循环控制语句 类    别 while循环语句,d ...

  8. 在Python中模拟do-while循环

    Python as a language doesn't support the do-while loop. However, we can have a workaround to emulate ...

  9. spring处理循环依赖时序图_spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖...

    本次博客的目标 1. 手写spring循环依赖的整个过程 2. spring怎么解决循环依赖 3. 为什么要二级缓存和三级缓存 4. spring有没有解决构造函数的循环依赖 5. spring有没有 ...

最新文章

  1. 优达学城《DeepLearning》项目2:犬种分类器
  2. 写Struts2、Spring、Hibernate的xml配置文件时无提示
  3. python 递归调用
  4. Android线程池封装库
  5. linux man命令的1和1p,Linux中man命令的使用方法再解释
  6. 模拟手指触摸 Android,TouchLib
  7. linux-shell命令之cp(copy)【拷贝复制】
  8. java电影票选座_jQuery实现电影票选座效果手机端代码
  9. JNI的方式调用DLL(SO)(上)
  10. day21 java的数字类
  11. mysql解压版配置win8_Windows安装mysql8解压版
  12. 绿联串口线linux驱动下载,usb转db9串口线驱动
  13. php smarty安装,smarty安装(PHP)
  14. 马士兵老师Java虚拟机调优
  15. 重庆高清卫星地图(含道路标签数据叠加)
  16. 【GIS风暴】什么是EPSG?常见坐标系对应的EPSG代号、经度范围、中央经线是多少?
  17. 解决能登录微信却登不上网页的问题
  18. 期权定价模型BS模型及反推隐含波动率 golang实现
  19. 微信小程序之如何注册微信小程序
  20. 韩信点兵C语言实现的几种方法

热门文章

  1. java git_Java 实战开发之git环境安装(三)
  2. python爬取网易云音乐歌曲评论信息
  3. u-view2.x picker多列联动遇到的bug
  4. 什么软件可以下载地形图?地形图下载软件推荐
  5. 读书笔记:SAFNet
  6. java软件工程师简历项目经验pdf_java软件工程师简历中项目经验怎么写?
  7. 六轴机械臂DIY(一)机械臂DIY总体规划
  8. macOS Ventura 13.0 (22A380) Boot ISO 原版可引导镜像
  9. ERP、PLM是什么意思?ERP、PLM有什么内在联系
  10. 2022年全球与中国非定向信标市场现状与未来发展趋势分析