首页/文章/ 详情

基于神经网络算法的OpenFOAM燃烧求解器

1年前浏览3036
层流稳态火焰面模型作为简化燃烧场中化学反应计算的有效方法,被广泛应用于层流和湍流火焰的模拟中。然而面对组分数较多的复杂燃烧过程,传统的火焰面查表方法存在着效率低下、数据占用内存过多的问题。为解决该问题,人工神经网络方法作为一种非线性回归方法被引入层流火焰面模型中。

本文通过预先求解层流火焰面方程,建立以混合分数Z和反应进度变量Yc为查表变量层流火焰面表。以火焰面表为样本基于BP算法训练神经网络,实现对Z、Yc与显焓、组分质量分数之间非线性函数关系的逼近,以此为基础在OpenFOAM平台上开发基于神经网络算法的燃烧求解器annReactingFoam。对轴对称伴流甲烷/空气非预混层流火焰的模拟结果表明,使用annReactingFoam计算得到的温度及组分质量分数分布与求解详细化学反应得到的结果较为吻合。

1

研究背景

层流稳态火焰面模型(Steady laminar flamelet model)是湍流非预混火焰数值模拟中常用简化计算方法[1],该方法相对于直接求解详细化学反应方法的计算量大大降低,且在其适用范围内可实现较高的模拟精度。  
然而,在层流火焰面模型的应用过程中,传统的查表方法存在效率低下、占用内存多等问题。为了解决这些问题,M.D. Emami [2]和Baris A. Sen [3]等使用人工神经网络方法取代传统的火焰面模型查表方法,可以在保证计算精度的同时,减小内存使用,大大提升了计算效率。  
人工神经网络(Artificial Neural Networks)方法起源于对大脑神经突触联接结构的模仿[4]。一个典型的人工神经网络其结构如图1所示,包括输入层、隐含层和输出层三部分,隐含层可为一层或多层。图中每个圆圈代表一个神经元,神经元之间的连接线则对应一个权重。Back Propagation (BP) 算法[5]包含正向传播输入和反向传播误差两个过程,在训练过程中基于梯度下降法不断更新权重,经过一定次数的迭代后,网络将完成对输入与输出样本之间存在的某种函数或者规律的逼近。  
 

图1 典型的神经网络结构图

本文介绍了基于OpenFOAM平台[6]开发的神经网络燃烧求解模块。通过自主开发的程序调用CHEMKIN-III模块[7]完成层流火焰面建表,将火焰面表作为样本基于Keras框架[8]采用BP算法训练神经网络,实现对ZY与显焓、组分质量分数之间非线性函数关系的逼近,并开发了基于神经网络算法的OpenFOAM燃烧求解器annReactingFoam。

2

理论依据及程序实现

本文以层流非预混火焰的数值模拟为背景介绍神经网络燃烧求解模块,包含了层流火焰面建表、训练神经网络和燃烧求解器三个部分,以下就各部分的理论依据及程序实现做简要介绍。


层流火焰面建表

火焰面模型适用的前提为燃烧的化学反应速率远快于湍流时间尺度,湍流火焰可视为一系列层流小火焰的集 合。通过求解一系列不同拉伸率下的层流对撞扩散火焰(图2),可得到表征层流小火焰结构的层流火焰面解。

 
图2 层流对撞扩散火焰示意图

混合分数坐标下的层流火焰面方程为如下:

式中:YαSαhα 分别对应第α种组分的质量分数、反应速率和焓。在薄反应区和准一维的假设下,R(Yα),R(T)是高阶小量,可以忽略。选取混合分数以及反应进度变量Y作为建表变量,建立包含显焓、组分质量分数、Y生成率ώYc的层流火焰面表,其中Y定义为CO2和H2O的质量分数之和[9]。此处与传统火焰面建表方法的不同在于选取显焓而非温度建表,其原因在于OpenFOAM中的热物理模型是基于显焓值计算温度及其他热物性的值。本文建立了甲烷/空气对撞火焰的层流火焰面表,选取的化学反应机理为GRI-3.0机理,得到的火焰面表中显焓和CO2质量分数分布在Z-Y坐标下的分布如图3所示。

     

图3 显焓、CO2质量分数在Z-Yc  坐标下的分布


 


神经网络的训练

采用层流火焰面表中的数据为样本,以Yc作为输入,焓值、组分质量分数及Yc生成率作为输出训练神经网络,得到的网络可实现对输入与输出变量间非线性函数关系的逼近。本文神经网络相关的工作基于Keras框架,该框架适用的Python的版本是2.7-3.6,以Theano或Tensorflow为后端,使用方便灵活。

利用Keras搭建网络主要有以下几步:

1

选择模型,Keras提供了序贯式模型和函数值模型两种;

2

搭建网络层,包括输入层、输出层、隐藏层; 

3

编译,包括选择优化函数、损失函数;

4

训练网络;

5

利用验证集预测数据

不同的应用场景有其合适的网络模型及参数。  
首先采用Z-Score方法对输出变量进行标准化。基于Keras框架建立全连接三层神经网络模型,隐含层采用20个神经元(图4)。为消除不同组分之间误差的影响,对每个输出变量建立一个单独的神经网络,即输出层的神经元数目为1。优化器选择随机梯度下降优化器SGD,损失函数选择均方误差MSE:

隐含层选择Tanh激活函数,输出层选择线性激活函数。设置完成后,不断迭代训练神经网络,等到MSE值不再减小时停止训练网络。

 

图4 基于火焰面数据表的神经网络结构图

为了验证得到的神经网络对火焰面表输入/输出变量间函数关系的还原精度,将训练集中的输入值重新代入训练好的神经网络,并将预测得到的输出值(ANN Prediction)与原有火焰面表中对应的目标值(Target)相比较。

图5展示了显焓及CH4、CO2和H2O组分质量分数预测值与目标值的对比,可以看出,神经网络能达到较高的还原精度。

 

图5 人工神经网络对显焓、CH4、CO2和H2O质量分数的还原精度验证



annReactingFoam

本文基于OpenFOAM的标准燃烧求解器reactingFoam开发了基于神经网络算法求解的新型燃烧求解器annReactingFoam。该求解器在原有燃烧求解器的基础上,添加了变量和上步的Yc 的输运方程以及自主开发的神经网络预测模块,其计算流程如图6所示。

图6 annReactingFoam工作流

ZY的输运方程都是模板类fvScalarMatrix的对象,以为例,方程具体形式可表示为:

式中为场类的对象,包含场中所有节点的数据值,可采用forall函数遍历场中节点。

神经网络预测模块包括模型参数的读取、网络预测值的计算两部分。在Keras框架下,读取2.2中训练好的网络模型,将可以复现网络的权重、偏置分别写入求解器中的权重矩阵和偏置矩阵,并记录激活函数;网络预测值计算部分与BP算法中的正向传播过程相同,遍历场中所有节点即可完成场的计算。针对本文中采用的三层神经网络结构,程序依据以下公式计算实现网络预测过程,

其中,ɑ为网络的输入值,w,v,b,γ 分别为输入层、 隐藏层的神经元权重和偏置量,σ代表激活函数,S为隐含层的输出,L表示网络的最终输出值。需要注意的是,网络的输入和输出均为经过Z-Score标准化后的数据,因此需要利用表中各组分的均值、方差信息来还原实际值。通过求解ZYc的输运方程,得到查表标量Yc,结合神经网络预测模块,即可得到显焓、组分质量分数及ώYc

3

算例验证

本文选取层流轴对称伴流非预混甲烷/空气火焰验证annReactingFoam的求解精度,该火焰是数值模拟中广泛研究的典型层流非预混燃烧问题。其燃烧的基本设定为:甲烷射流从内径为5.5mm,壁厚为0.8mm的中心铜管以0.0572m/s的速度流入,伴流空气射流从铜管和与之同轴的内径为47.6mm的外铜管形成的环形空腔以0.1048m/s的速度流入,更为详细的算例信息参见文献[10]。

图7 层流轴对称伴流非预混甲烷/空气火焰结构示意图[10]

为验证annReactingFoam对层流非预混火焰的模拟精度,本文将得到的解与直接求解详细化学反应方法得到的解进行了对比。采用OpenFOAM自带的surfaces后处理工具提取截面的VTK格式数据,采用Python程序转换为numpy矩阵后基于matplotlib工具生成标量分布云图。图8中给出了求解详细化学反应得到的解(Detailed)与annReactingFoam得到的解(ANNs)其温度及CO2质量分数的分布云图的对比。可以看出,两者的分布趋势基本一致,对温度分布的预测在火焰下游存在一定误差,该误差是由火焰面模型对该二维火焰结构的还原精度局限造成的。

   
   
图8 温度及CO2质量分数分布云图的对比:Detailed,直接求解详细化学反应得到的解;ANNs,annReactingFOAM计算解

采用OpenFOAM自带的singleGraph后处理工具提取火焰中轴线上的数据信息,并基于matplotlib绘制中轴线上的温度及CO2质量分数分布对比曲线。图9中可以看出,两组解得到的中轴线上的温度及CO2质量分数分布基本一致,在火焰上游处非常接近,而在下游处开始出现一定的偏差。

图9 温度及CO2质量分数的对比:Detailed,直接求解详细化学反应得到的解;ANNs,annReactingFoam计算解 

从以上对比可以看出,基于神经网络算法的annReactingFoam对层流非预混火焰的模拟可以达到接近于直接求解详细化学反应解的较高精度。

4

结论

1)annReactingFoam求解器可基于双参数火焰面模型实现对层流非预混火焰的模拟,层流轴对称伴流非预混甲烷/空气火焰的模拟结果与求解详细化学反应得到的解较为吻合。

2)通过本文的研究,验证了人工神经网络方法在层流非预混火焰燃烧模拟计算中的有效性、准确性,对后续的研究具有一定参考价值。



参考文献

[1] 陆阳. 燃烧计算中火焰面模型的研究[D]: 中国科学技术大学, 2009.

[2] Emami M D, Fard A E. Laminar flamelet modeling of a turbulent CH4/H2/N2 jet diffusion flame using artificial neural networks[J]. Applied Mathematical Modelling, 2012, 36(5): 2082-2093. 

[3] Sen B A, Menon S. Turbulent premixed flame modeling using artificial neural networks based chemical kinetics[J]. Proceedings of the Combustion Institute, 2009, 32(1): 1605-1611.

[4] 周志华, 机器学习, 清华大学出版社, 2016.

[5] Nielsen M A. Neural networks and deep learning[M]. San Francisco, CA, USA:: Determination press, 2015. 

[6] Jasak H, Jemcov A, Tukovic Z. OpenFOAM: A C++ library for complex physics simulations[C]//International workshop on coupled methods in numerical dynamics. IUC Dubrovnik Croatia, 2007, 1000: 1-20.

 [7] Kee R J, Rupley F M, Meeks E, et al. CHEMKIN-III: A FORTRAN chemical kinetics package for the analysis of gas-phase chemical and plasma kinetics[R]. Sandia National Labs., Livermore, CA (United States), 1996. 

[8] Chollet F. Keras: The python deep learning library[J]. Astrophysics Source Code Library, 2018. 

[9] Pierce CD, Moin P. Progress-variable approach for large-eddy simulation of non-premixed turbulent combustion[J]. Journal of Fluid Mechanics, 2004,504: 73-97.

[10] Claramunt K, Consul R, Carbonell D, et al. Analysis of the laminar flamelet concept for nonpremixed laminar flames[J]. Combustion and Flame, 2006, 145(4): 845-862.


    
来源:多相流在线
OpenFOAM碰撞非线性多相流燃烧化学核能电力python理论材料Mathematica
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-23
最近编辑:1年前
积鼎科技
联系我们13162025768
获赞 108粉丝 109文章 300课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈