做燃烧仿真这些年,我碰过不少看起来简单、动起手来处处是坑的方向,多孔介质燃烧算一个。标题里的“主题036”听着像某个题库里的编号,但真正上手的人都知道,这个题目深挖下去,横跨流动、传热、传质、辐射、化学反应五场耦合。气体燃料在多孔结构里烧,火焰不是浮在表面,而是藏进骨架内部,固体骨架像一台热量的“搬运工”,把火焰区的高温不断往上游搬运,预热未燃气,从而实现超绝热燃烧。这篇文章我想完整梳理一遍多孔介质燃烧仿真从原理到落地的技术要点,包括模型选择、网格策略、化学机理处理、火焰位置判定和常见调试问题,给正在做燃烧仿真或者准备入坑的同学一份可以直接对照着用的施工图。
1. 先搞懂多孔介质燃烧的“脾气”再建模
1.1 超绝热效应:温度反直觉升高的物理根源
普通自由火焰有理论绝热燃烧温度,比如甲烷空气预混火焰大约在2200K上下,烧完就完了,能量随烟气带走。多孔介质燃烧完全不是这套逻辑。燃烧区释放的热量先被固体骨架吸收,骨架通过辐射和固相导热,把相当一部分热量回传给上游的未燃气体,让气流还没到火焰面就已经被预加热到很高温度,于是火焰区实际峰值温度可能超过自由火焰的理论绝热燃烧温度,这就是超绝热效应。
我第一次算这个现象的时候很不习惯,因为流场里局部气体温度高于热力学平衡温度,总觉得是发散或者错误,后来才明白这正是多孔介质燃烧的核心特征。数值模型如果用的是简单绝热系统假设,不考虑固相辐射回热,无论如何都复现不出这个温度过冲,算出来结果比实验低一大截。
用生活经验来理解:冬天烤火,直接对着明火烤和先去摸一块被火烧透的石板,这两种热体验完全不同。石板先吸热,再把热量慢慢辐射回你手上,而且这个热量更均匀、持续。多孔介质里的固体骨架扮演的就是石板角色,只不过这是一块一直在工作的“石板”。
1.2 贫燃极限拓宽:为什么燃料越稀薄反而越好烧
天然气、沼气、低热值工业废气这类燃料,用传统自由火焰很难稳定燃烧,因为能量密度太低,火焰容易被吹脱或者自行熄灭。但放进多孔介质里,情况就变了。固体骨架的高热容相当于给火焰区装了一个大型“热惯性飞轮”,局部温度波动会被骨架吸收和缓冲,火焰区一旦形成就存在一个高温核心区,不断向周边补热。同时,孔径设计得当的话,火焰在骨架缝隙里被“卡”住,流速波动被孔隙结构打散,火焰不易回传也不易吹脱。
在仿真里,这意味着你需要在较宽的当量比范围内都能算出稳定火焰。我之前做过一版当量比0.4左右的甲烷多孔介质燃烧案例,开始用普通预混火焰边界条件,火焰直接吹飞了,折腾了很久才意识到:模型必须能体现出燃料在进入多孔体后先被预热、再在内部着火这一过程。反应发生的位置不在入口表面,而在骨架深处。
这里有一个关键概念叫“淬熄距离”。气体在细小通道里燃烧时,壁面散热速度如果大于火焰产热速度,火焰就会熄灭,这个临界通道尺寸就是淬熄距离。多孔介质恰好把孔径控制在淬熄距离附近或者稍大一点,让火焰刚好能在孔隙内稳定存在。孔径太小火焰熄了,孔径太大回热效果又不够,这就是为什么不同材料、不同孔径的多孔体,对应的稳定燃烧窗口差异很大。
1.3 回火与淬熄:仿真里最怕碰到的两种失效模式
多孔介质燃烧器设计时最关心两个边界:回火边界和淬熄边界。回火指上游未燃气被预加热过头,还没到设计燃烧区就在多孔体前段甚至更上游着火;淬熄则是进口流速偏低时,散热大于产热,火焰整个灭掉。仿真阶段,如果边界条件给得不对,这两类现象会在计算中直接表现为火焰位置大幅偏移、温度场周期性振荡、甚至残差无法收敛。
我调试时最常用的判断指标是:火焰锋面是否落在多孔体内部,并且距离入口有一段合理的预热距离。如果火焰跑到多孔体上游,说明回火相关物理没有被压制住,可能是预热段过于绝热、辐射被高估或者入口流速太低;如果整个温度场平平无奇、没有明显高温锋面,多半是淬熄效应被过度放大,比如孔隙率太低、辐射热损过大或者反应活性设置偏低。数值模型里,这两种失效模式对应的修正手段完全相反,一上来就调松弛因子是浪费时间的。
2. 仿真模型怎么选:体积平均法、双温度模型与辐射方案
2.1 体积平均法还是孔隙尺度直接模拟:先想清楚用途
多孔介质燃烧仿真第一道坎就是空间尺度问题。真实泡沫陶瓷的骨架尺寸在几百微米量级,孔隙也在亚毫米到毫米级,而整个燃烧器长度可能有几十厘米,若要把每个孔隙都画成网格,单元数量会上千万甚至上亿,工程上根本不现实。所以绝大多数工况级仿真都采用体积平均法,把多孔区当成一种等效连续介质处理,用孔隙率、渗透率、惯性阻力系数这些宏观参数代替真实微观结构。
孔隙尺度直接模拟则是在研究火焰在单个孔隙里如何传播、壁面如何淬熄时才会用。优点是可以看到局部温度细节,缺点是计算量巨大、建模成本高,而且对几何重构的精度要求很苛刻。实际做项目时,先用体积平均法确认整体流场和火焰形态,再针对局部细节挖一两个代表性孔道做直接模拟,是一种比较划算的组合打法。
体积平均法的代价是“抹掉”了局部热点和骨架尖角处的微小火焰结构,所以你在结果里看不到微观火焰褶皱,只能看到宏观的高温区分布。做燃烧器设计这个精度足够;但如果要研究某个具体材料结构下的火焰稳定性,就必须孔隙尺度建模了。
2.2 什么时候必须用双温度能量模型
体积平均法下面还有一层选择:多孔区能量方程用单方程还是双方程。单方程假设固相和气相温度相等,即局部热平衡;双方程则分别写固相能量方程和气相能量方程,通过体积传热系数耦合。多孔介质燃烧的特殊之处在于,固相温度和气相温度可能差异非常大,火焰锋面附近气体瞬间升温,但骨架需要时间传导热量,两者的峰值温度可能差几百开尔文。这种情况下还用单方程,等于强行把骨架和气体绑在一个温度上,超绝热效应的回热机制直接被抹掉,计算结果几乎没有参考价值。
我自己的判断标准很简单:当多孔区固相与气相换热系数不可忽略、火焰区域温度梯度很大、且孔隙率在0.5到0.9之间的时候,无条件用双温度模型。只有在很低负荷、温差小到可以忽略、或者只做初步流场分析的场景,单方程才勉强够用。
固相能量方程要记得加辐射源项,这是多孔介质燃烧区别于普通多孔介质传热的关键。骨架温度上千摄氏度后,辐射换热占比迅速上升,体积平均模型里通常把固相处理成吸收-发射性灰体,通过辐射输运方程算出固相辐射源项,再耦合回固相能量方程。
2.3 动量源项、辐射模型和边界条件的实操参数
多孔区动量方程需要在标准N-S方程基础上增加Darcy-Forchheimer源项,包含粘性损失项和惯性损失项。粘性项反映流经多孔体的摩擦压降,惯性项反映孔隙突扩突缩带来的局部阻力。这两个参数最理想是用实验压降数据拟合,没有实验数据的时候可以用渗透率经验公式估算,再通过仿真跟已有文献校准。
辐射模型的选择:多孔介质燃烧区光学厚度通常比较大,骨架对辐射的吸收和散射都很强,用P1模型计算成本低、稳定,能较好处理吸收-发射性介质。如果改用DO模型,射线离散精度高一些,但计算量成倍上涨,而且对网格质量要求更高,收敛更困难。我做工程仿真基本都是P1起步,除非要精细分析辐射方向性,否则不轻易上DO。
边界条件的设置也要格外小心。入口一般给速度入口,同时给定气组分质量分数和温度。多孔体与上下游气体区交界面要设置成内部界面,而不是壁面,否则气相流动连续性会出错。多孔体外壁面必须准确估计对流热损系数,这个数直接影响火焰位置和温度峰值。我之前踩过一次坑:把外壳当成绝热壁面,算出来的峰值温度比实验高了两百多度,火焰也偏向下游,后来加上外壁综合换热系数,温度才回到合理区间。
下面这个表是我常用的初始参数参考,具体数值要跟实验数据修正:
| 参数 | 典型取值 | 说明 |
|---|---|---|
| 孔隙率 | 0.75~0.9 | 泡沫陶瓷常用范围 |
| 比表面积 | 1000~6000 1/m | 影响体积换热系数 |
| 渗透率 | 1e-9~1e-7 m² | 材料越细密越小 |
| 惯性阻力系数 | 50~500 1/m | 通过压降实验拟合 |
| 固相导热系数 | 1~10 W/(m·K) | 陶瓷材料实测值 |
| 体积换热系数 | 1e5~1e7 W/(m³·K) | 决定双温度模型耦合强度 |
| 固相发射率 | 0.85~0.95 | 高辐射回热的关键 |
| 外壁换热系数 | 5~50 W/(m²·K) | 自然对流到强制风冷 |
3. 从几何到网格:三维建模和化学机理的实用套路
3.1 几何简化的原则:能省则省,但不能省出假结果
多孔介质燃烧器几何建模第一步是划分区域:上游来流段、多孔介质段、下游燃烧/出口段。上游来流段要留足够的长度,保证入口速度充分发展后进入多孔体,避免入口边界效应直接干扰火焰锋面。下游段也要留出空间,因为火焰出多孔体后还有后燃过程,烟气温度和组分在这个区域继续变化。
多孔介质段在体积平均法里不需要真实刻画泡孔结构,我通常会建一个形状与燃烧器内部腔体一致的规则体,设置材料参数和多孔介质源项即可。如果在多孔体上下游存在渐变截面或者扩压结构,优先用平滑过渡,避免截面突变造成的回流,回流会导致气流停留时间变化,进而影响火焰位置判断。
泡沫陶瓷这类各向同性材料,体积平均处理时当成均匀多孔介质问题不大。但有些陶瓷蜂窝结构存在明显通道方向性,气流沿通道方向阻力小、径向阻力大,这时候需要给Darcy-Forchheimer源项设置方向性系数,否则算出来的压降和火焰形态会跟实测差很多。
3.2 网格策略:火焰区加密比整体加密划算得多
网格策略对多孔介质燃烧仿真成败影响非常大。多孔区内部因为有骨架换热和化学反应,温度和组分梯度极大;流出多孔体后的后燃区也存在残留燃料的继续反应。所以网格需要重点加密两个位置:多孔体内部尤其是靠近入口的前半段,以及多孔体出口紧邻的下游区域。这两处加密到位,火焰锋面才能被准确捕捉。
网格类型上,多孔区用多面体网格比四面体网格收敛更好,单元数量也能控制得更低。边界层网格用于捕捉壁面热边界层,对多孔区壁面附近固相温度分布有影响,但不用画太厚,两三层的程度就够,毕竟多孔区内部的主导传热是骨架辐射和流固耦合,不是壁面边界层导热。
网格无关性验证时要有合适的监测对象。很多人只看出口温度或总压降,这两个量对网格不太敏感,网格粗一点也可能蒙对同一个数。更好的做法是同时监测多孔体中心轴线上的温度峰值、峰值位置、火焰面前后的组分浓度梯度,这些量对网格粗细极其敏感。我做过一次实验:粗网格和细网格出口温度只差5%,但火焰峰值位置差了将近一厘米,这个差距在燃烧器设计里足以决定结构尺寸选型。
3.3 化学机理和燃烧模型:算得准不如算得稳
多孔介质燃烧的燃料最常见是甲烷或含少量惰性气体的低热值混合气。化学机理选择要兼顾精度和计算量。详细机理(几十个组分、几百个基元反应)在三维多孔计算里几乎跑不动,而且收敛难度大。实际工程中,优先选骨架机理或简化机理,把甲烷氧化路径压缩到十几个组分以内。如果多孔介质燃烧里涉及氢气和一氧化碳含量较高的混合气,还要留意机理是否覆盖H2/CO混合燃烧的交叉反应,否则点火延迟计算会失真。
燃烧模型方面,有限速率模型在多孔介质燃烧里比涡耗散模型适用得多。多孔介质内部火焰区流动并不完全是快速反应控制,局部预热、局部淬熄、骨架表面对自由基的吸附等效应都会让反应速率偏离涡耗散假设。涡耗散模型在直管平焰燃烧题里很省事,但放到多孔介质里容易把火焰算得太薄、温度太锐。有限速率模型虽然对网格和时间步长更敏感,但至少能表现火焰在预热区内缓慢推进的过程,结构上更贴近物理。
初始化点火是另一个容易翻车的地方。直接在常温入口条件下让多孔体内部发生自燃,几乎不可能收敛。我会先在多孔体中间人为加一个高温热斑作为初始条件,比如把某一小块区域的温度和组分设为已燃气状态,让反应从这里发展起来。这个方法跟实验里用点火器引燃完全是一个物理逻辑,在仿真里也是最快稳定到燃烧态的手段。
3.4 操作顺序:先冷态后热态的递进策略
多孔介质燃烧仿真强烈建议分阶段推进,不要一上来就全耦合。第一阶段只算冷态等温流场,不加反应,不开能量方程,获得稳定的速度场和压力场。第二阶段打开能量方程但关闭反应,逐步提高固体骨架初始温度,让流固换热稳定。第三阶段打开化学反应,从热态流场基础上点燃,这时候收敛速度会快得多,而且能避免冷态温度场和化学反应的强非线性互相干扰。
我在实际操作中喜欢把反应区初始温度设在1200K到1500K之间,这个温度对甲烷反应接近着火点中上区域,点火延迟短,又不至于让计算早期出现超大温度梯度和数值爆炸。点火成功后,等到温度场和组分场双向稳定,再逐步调整边界条件到设计工况。
4. 稳定工况调试实录:火焰位置、收敛性与快速排查表
4.1 火焰锋面不在多孔体内部的经典问题
仿真调完后最常见的问题是火焰跑到多孔介质外面去了。火焰长了脚跑到出口段甚至附着在出口处,在实验里就是燃烧器“烧空”了。出现这个现象,先别急着改网格,按照可能性逐个排查:气体流速是不是过高,把火焰吹离了多孔体;多孔体预热能力是否被低估,导致未燃气进入燃烧区后点火延迟太长;辐射回热模型是否被关闭或参数设置太低,超绝热效应没有建立起来。
火焰跑到入口上游则是回火现象,也就是未燃气在进入多孔体之前就被点着了。这种情况相对少见,一旦出现,往往意味着入口段材料被误设成高温壁面,或者入口来流温度太高,要么就是多孔体上游换热系数设置过大,把热量过度回传。
检查火焰位置最直接的手段是沿轴向提取温度曲线,火焰锋面处的温度梯度会出现一个明显峰值,这个峰值所在的位置就是火焰锋面位置。配合同一轴线上OH或者CH基元组分的浓度峰值,可以交叉验证,避免只凭温度误判。
4.2 收敛困难和伪振荡的调试顺序
温度残差震荡不停是最折磨人的问题。多孔介质燃烧里,温度场、辐射场、化学反应高度耦合,任何一个环节数值反馈过强都会引发振荡。我调试收敛问题时有个固定顺序:先把时间步长降到合适数量级,比如1e-4秒到1e-3秒,观察压降和温度是否出现周期性波动;再检查松弛因子,能量方程和辐射方程的松弛因子要保守一些;最后检查网格是否在火焰区存在长宽比过大的单元,这种单元在化学反应计算时会产生假振荡。
辐射和能量方程的耦合振荡也很常见。P1模型的辐射源项对温度变化非常敏感,尤其是温度超过1000K后辐射强度随温度四次方增长,一个小扰动就会被放大。这时候可以先把固相发射率调低一些跑通,再一步步加回实际值,给计算一个缓冲过程。
4.3 网格无关性验证的正确姿势
网格无关性验证不是只做两三套网格对比出口温度就完事。我会固定一套物理参数和边界条件,分别用粗、中、细三套网格计算,每套网格都等温度场和组分场充分稳定后提取火焰位置、峰值温度和压降三个量。如果峰值温度还能波动超过几十开尔文,网格必须再加加密。如果火焰位置已经稳定在几个毫米的偏差范围内,这个网格密度就基本可以接受。
这里有个容易犯的错:加密网格时把整个多孔体区域均匀加密,计算量暴涨但精度提升有限。正确的做法是只在火焰锋面可能出现的位置周围做局部加密,并且每次加密后重新检查火焰锋面是否移动。若火焰锋面因网格变化而明显移动,说明之前加密区域还是没有覆盖真实火焰区,需要调整加密范围。
4.4 常见问题快速排查表
我把做多孔介质燃烧仿真时翻过的车总结成一张速查表,遇到问题对着查能省下大量试错时间:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 火焰跑到出口段 | 流速过高、预热不足 | 降低入口速度、检查体积换热系数 |
| 火焰落在入口上游 | 回火、入口段温度过高 | 降低来流温度、增加上游散热 |
| 温度峰值偏低超200K | 辐射回热未激活、固相发射率太低 | 打开固相辐射、提高发射率到0.9 |
| 多孔区进出口压降异常大 | 惯性阻力系数偏大 | 核对Darcy-Forchheimer参数 |
| 温度残差周期性波动 | 时间步长太大、辐射源项过强 | 缩小时间步长、降低辐射松弛因子 |
| 多孔区内部温度梯度极陡 | 反应机理过于刚性 | 换简化机理、检查点火温度初始值 |
| 点火后温度发散 | 热斑温度过高、网格质量差 | 降低初始热斑温度、改善火焰区网格 |
| 出口CO浓度与实验明显偏高 | 后燃区不够长、氧化不充分 | 加长下游计算域、检查出口回流量 |
4.5 个人调试中的一点体会
多孔介质燃烧仿真最让人头疼的不是某个参数不会设,而是参数之间的耦合。比如你为了把火焰拉回多孔体内部调高了体积换热系数,结果固相温度升高了,辐射回热增强,入口预热也跟着增强,火焰位置可能又跑到上游去了。所以每次只调一个参数,跑完全收敛再看下一项,这个笨办法在多物理场强耦合问题里反而最省时间。
另外建议大家养成一个好习惯:每次修改任何参数前,先保存一份当前收敛结果,记录此时的火焰位置、温度峰值和压降。出问题时可以轻松做对比,判断是哪一次修改引入了偏差。做多孔介质燃烧仿真,耐心比技巧重要得多。火焰锋面在多孔体里稳定下来的那一瞬间,温度分布像被“钉”在骨架中一样,那个画面本身就是对调试过程最好的回报。