CHEMKIN401入门指南.docx
- 文档编号:5812739
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:39
- 大小:205.98KB
CHEMKIN401入门指南.docx
《CHEMKIN401入门指南.docx》由会员分享,可在线阅读,更多相关《CHEMKIN401入门指南.docx(39页珍藏版)》请在冰豆网上搜索。
CHEMKIN401入门指南
CHEMKIN入门指南
《燃烧学》辅助教程
上篇
基础知识、核心程序、化学平衡(EQUIL)、全混反应(AURORA)
如果文中有任何错误,请不吝指出,以便不断改进
2004.3
第一章CHEMKIN简介
本章介绍CHEMKIN的主要功能和求解过程。
第一节安装CHEMKIN
Chemkin最早的版本始于1980,由美国Sandia实验室的KeeRJ等人编写,经过多年的不断发展日趋完善。
后来由ReactionDesign公司收购并继续开发,目前最新版为3.7.1。
由于学习和科研需要,我们花费2000$向ReactionDesign公司订购了一套最新版本的CHEMKIN3.7.1,其中包括20个网络教学许可证,用于《燃烧学》课程的学习。
[安装]请从ftp:
//combustion:
combustion@166.111.56.202的“CHEMKIN软件”目录内下载安装程序chemkin371_pc_setup.exe,执行安装程序。
安装完后会自动在桌面及开始菜单建立快捷方式。
[运行许可证书]教学用的CHEMKIN采用网络认证,故电脑必须联网(校内)。
当程序计算(Run)时,系统会提示选择license,选择“Specifylicenseserver”,然后next,在下一画面填入“166.111.56.202”即可。
第二节CHEMKIN介绍
CHEMKIN是一种非常强大的求解复杂化学反应问题的软件包,常用于对燃烧过程、催化过程、化学气相沉积、等离子体及其他化学反应的模拟。
CHEMKIN包括“核心程序(CoreUtilities)”和“应用程序(Application)”两级程序包。
以气相反应、表面反应、传递过程这三个核心软件包为基础,CHEMKIN提供了对12种常见化学过程模拟的软件包及后处理程序。
一般求解过程如图1.1所示。
CHEMKIN的三个核心程序模块:
1)气相动力学(Gas-PhaseKinetics):
是所有程序计算的基础,提供气相成分组成、热力学数据、化学反应等信息。
2)表面动力学(SurfaceKinetics)。
很多反应过程包括多相反应,如催化反应、化学气相沉积、固体腐蚀等。
在这些反应里,SurfaceKinetics提供两相反应所需的各种信息,如表面结构、表面和体内的成分组成及热力学数据、表面化学反应等。
图1.1计算过程
3)传递(Transport)。
提供气相多组分粘度、热传导系数、扩散系数和热扩散系数等。
其中SurfaceKinetics和Transport必须以Gas-PhaseKinetics为基础,因为它们中出现的成分都必须在Gas-PhaseKinetics已定义。
Gas-PhaseKinetics、SurfaceKinetics和Transport提供了化学反应的基本信息,生成动态链接库供后续程序调用。
用户可以自己编写程序调用它们来实现指定的功能,但最方便的是使用CHEMKIN自带的应用程序。
CHEMKIN提供了12个典型的应用程序(Application),它们的名字和描述如表1.1,其简图见图1.2:
AURORA
模拟稳态及瞬态的充分混合反应器网络,包括等离子体反应器。
CRESLAF
模拟圆管或平板边界层流动中的层流化学反应。
EQUIL
计算化学平衡和相平衡。
OPPDIF
模拟对冲扩散火焰。
OVEND
模拟多层的低压化学气相沉积(LPCVD)反应器
PASR
模拟部分搅拌反应器中的混合和动力学
PLUG
模拟柱塞流反应器
PREMIX
模拟稳态、层流、一维的预混火焰
SHOCK
模拟入射和反射激波的化学动力学
SPIN
模拟用于化学气相沉淀的一维转盘流或滞流反应器
SURFTHERM
分析气相和表面化学反应系统中的热化学、传递及动力学数据。
TWAFER
求解多层的低压化学气相淀积(LPCVD)反应器的温度
第三节CHEMKIN求解过程及用户操作步骤
CHEMKIN通常的求解过程如下:
1.GasPhaseKinetics(气相动力学)的处理
GasPhaseKinetics的前处理器(Pre-processor)读取用户编写的输入文件和自带的热力学数据库,生成包含元素、组分、热力学数据反应信息的Gas-PhaseKinetics连接文件。
Gas-PhaseKinetcs提供了处理这一文件的一个Fortran子程序库,供其他程序调用。
2.SurfaceKinetics(表面动力学)和Transport(传递过程)的处理
如果化学反应包含表面反应或传递过程,则需要相应地执行这两个核心程序块。
SurfaceKinetics的前处理器读取用户编写的输入文件,生成包含表面反应信息的SurfaceKinetics连接文件,SurfaceKinetics提供子程序库处理该连接文件。
Transport的前处理器根据Gas-phaseKinetics连接文件中的信息,自动从CHEMKIN自带的传递数据库(tran.dat)读取相应的数据,然后生成包含传递信息的Transport连接文件,Transport提供子程序库处理该连接文件。
3.Application(应用程序)求解
根据问题需要,应用程序读取输入文件确定求解过程,调用Gas-PhaseKinetics、SurfaceKinetics、Transport各自的子程序库内相应的子程序来读取反应信息,然后进行计算。
CHEMKIN自带的12种应用程序中,每一种都有自己的前处理器,并对应不同格式的输入文件。
程序计算结束后,会生成一动态连接文件供后处理。
4.Post-Process(后处理)
CHEMKIN提供了统一的后处理器,用于对应用程序的结果进行分析和绘图。
用户操作的一般步骤如下:
1.决定问题的性质,选择适当的应用程序
通常情况下,一般的化学反应问题通过适当的假设和简化,都可以对应到某一种CHEMKIN包含的12个应用程序里,有时一个问题还可以有多种选择。
选择恰当的应用程序是求解问题的第一步。
但是如果实在不幸没有一种应用程序可以很好的解决你的问题,或者想要更完美地解决一些问题,就只有自己编写程序,调用CHEMKIN里的子程序库进行计算了。
2.编写核心程序输入文件
编写Gas-PhaseKinetic的输入文件,在其中定义元素、组分、化学反应等;
编写SurfaceKinetic的输入文件(如果问题需要),在其中定义表面的性质和反应等。
Transport不需要编写输入文件,该程序只处理CHEMKIN自带的一个传递数据库(tran.dat)。
3.编写应用程序输入文件
按照应用程序要求的格式,定义反应条件、反应过程、求解方法等。
4.求解&后处理
点击用户界面的“Run”按钮执行程序计算;
点击用户界面的“Restart”按钮以上次计算结果为初始条件重新计算(在有些情况下会用到);
点击用户界面的“Post-Process”按钮调用CHEMKIN后处理器
第四节后处理器的使用
CHEMKIN的计算结果可以从其生成的文本输出文件中查看。
CHEMKIN为所有的应用程序提供了一个统一的后处理程序(Post-Processor),可以方便的将计算结果绘制成曲线。
点击程序界面右下端的按钮“Post-Process”启动后处理器,默认情况下会读取工作目录下的XMLdata.zip文件中的数据,启动之后用户还可以添加其他解文件的数据。
在弹出的选项卡中,“SolutionSet”选项卡内选择要绘制成曲线的解系列,因为有些应用程序的结果中会出现多个解系列(如CRESLAF)。
“Species/Variables”选项卡内选择要绘制成曲线的变量或组分,第一列(Row)列出解文件中所有变量名,第二列(SpeciesVar)为变量值,第三列(Rxnsens)为该变量的误差(有的应用程序后处理时无此列),第四列(RatesofProd)为该变量的产生率。
进入绘图界面后,选择菜单Plot->X-Yplot,从弹出的选项卡中选择曲线的X轴和Y轴(可多选)。
选择菜单Plot->Contour,选择要绘制等高线的变量,但要求解结果必须是二维的(如CRESLAF)。
说明:
本文作为一本入门教程,旨在使大家能够迅速了解和掌握CHEMKIN的基本功能和应用,所以很多复杂的高级技巧只做了一些简单介绍或者完全忽略。
CHEMKIN的帮助系统提供对程序所有功能的详细介绍,请自行参阅。
CHEMKIN是一个非常好的计算工具,但只有深入了解化学反应和燃烧理论,才能真正发挥它的作用。
第二章核心程序(CoreUtility)
本章介绍Gas-PhaseKinetics,SurfaceKinetics,Transport这三个核心程序包,它们是应用程序计算统一的平台。
第一节Gas-PhaseKinetics(气相动力学)
气相反应动力学是所有CHEMKIN计算的基础。
Gas-PhaseKinetics软件包包括一个前处理器(Pre-Processor),一个热力学数据库(Thermo.dat)和超过150个子程序的程序库。
其处理过程参见图1.1:
首先,前处理器读取用户编写的输入文件(默认为chem.inp),然后从热力学数据库(Therm.dat)获取在输入文件中定义了的组份的热力学数据;之后生成包含元素、组份、反应的各种信息的连接文件(chem.asc)。
应用程序可以通过调用其子程序库来读取该连接文件中的信息。
同时,前处理器还会生成一个文本文件(chem.out),里面为元素、组分和反应的列表;如果输入文件有错误,错误信息也会出现在chem.out中;该文件可以在CHEMKIN程序界面里打开并查看。
介绍Gas-PhaseKinetics输入文件之前,先介绍CHEMKIN格式的输入文件的一些通用规则:
1.注释符号“!
”。
符号“!
”无论出现在一行的任何位置,此行后面的文本将作为注释文本而被忽略。
2.输入文件每行不应超过80列
3.除了个别有极其严格规则的地方外(如热力学数据的定义等,均会特殊声明),空格作为分隔符,而且多个空格将被视为一个。
4.数字格式:
可以为整数(如99)、浮点数如(99.99)、或E格式(如9.999E2)。
下面介绍如何编写Gas-PhaseKinetics的输入文件。
该文件包括四部分的内容,分别为元素、组份、热力学数据、化学反应,如例2.1所示:
!
例2.1
ELEMENTSHOEND!
元素定义
SPECIESH2HO2OOHH2OEND!
组分定义
THERMO!
热力学数据(本例中只定义了“OH”的热力学数据)
OH121286O1H1G0300.005000.001000.001
0.02882730E+020.10139743E-02-0.02276877E-050.02174683E-09-0.05126305E-142
0.03886888E+050.05595712E+020.03637266E+020.01850910E-02-0.16761646E-053
0.02387202E-07-0.08431442E-110.03606781E+050.13588605E+014
END
REACTIONS!
反应方程及Arrhenius系数
H2+O2=2OH0.170E+140.0047780
OH+H2=H20+H0.117E+101.303626
O+OH=O2+H0.400E+15-0.500
O+H2=OH+H0.506E+052.676290
2OH=O+H2O0.600E+091.300
H+H+M=H2+M0.100E+19-1.000
H2O/0.0/H2/0.0/!
辅助数据
H+H+H2=H2+H20.920E+17-0.600
H+H+H2O=H2+H2O0.600E+20-1.250
END
一、元素(Elements)部分:
[规则]此部分以ELEMENTS(或者ELEM,两者等价)关键字开头;其后以空格为间隔符列出将在反应中出现的所有元素;最后以END关键字结束。
例如定义氢(H)、氧(O)、氮(N)、电子(E)四个元素:
ELEMHONCE END
!
如果程序中有离子参加反应,则电子(E)必须作为一个元素定义
用户要按周期表的元素名(两个字母均须大写)来定义元素,CHEMKIN可以辨认的元素如表2.1。
如果用户定义同位素或新元素的话,可以以1~2个字母命名(不与元素表重名),并将其原子量以“/”括住跟随其后。
如定义氢(H)的同位素氚(命名为HH)如下:
ELEMHH/3.0/END
表2.1CHEMKIN元素表:
H,HE,LI,BE,B,C,N,O,F,NE,NA,MG,AL,SI,P,S,CL,AR,K,CA,SC,TI,V,CR,MN,FE,CO,NI,CU,ZN,GA,GE,AS,SE,BR,KR,RB,SR,Y,ZR,NB,MO,TC,RU,RH,PD,AG,CD,IN,SN,SB,TE,I,XE,CS,BA,LA,CE,PR,ND,PM,SM,EU,GD,TB,DY,HO,ER,TM,YB,LU,HF,TA,W,RE,OS,IR,PT,AU,HG,TL,PB,BI,PO,AT,RN,FR,RA,AC,TH,PA,U,NP,PU,AM,CM,BK,CF,ES,FM,D,E
其中,D为氢(H)的同位素氘(D),E为电子。
注:
元素定义的规则很自由,比如可以出现多个ELEM,元素可以分多行来写,END可以省略,如果元素定义重复的话后面的一个将被忽略等,但由于这些规则仅仅是为了程序处理方便,这里就不一一赘述了。
在后面的文档中,我们也只介绍正规的规则,类似的自由规则不在我们学习之列。
二、组份(Species)部分:
[规则]以SPECIES(或SPEC)开头;其后以空格为分隔符列出将在反应中出现的所有组份;最后以关键字END结束。
例如:
SPECIESH2O2HOOHHO2N2NNOEND
组份可用不超过16个字符而且以字母开头的任意字符串来命名,但不建议随意命名。
因为如果要利用CHEMKIN的热力学数据库therm.dat的话,组分的命名必须按照CHEMKIN的规则来,这些组分名称都是按照其分子式来命名的,CHEMKIN可以识别的组份名称(778种)列入附录1中。
对于附录1中的组分名称,CHEMKIN可以从热力学数据库therm.dat中自动获取到该组分的元素组成及其热力学性质。
如果用户定义的组份不在其中,则该组份的热力学数据需自行定义。
三、热力学数据(ThermodynamicData):
所有定义的组份都必须有其热力学数据。
CHEMKIN提供了一个比较完善的热力学数据库文件(therm.dat),可以在CHEMKIN图形界面查看并修改。
常见组分一般都包括内(参见附录1),所以只要按照CHEMKIN规定的格式命名组分,通常情况下用户并不需要定义热力学数据。
只有当1.用户要用自己的数据代替therm.dat中的热力学数据2.用户定义的组份在数据库中没有时,才需要定义其热力学数据。
热力学数据的定义基于下面的多项式模拟:
在热力学数据中需要定义组分的元素组成、两个温度区间、及在每个温度区间内
的值。
热力学数据的定义非常的严格,这里不作介绍了,有兴趣的参看帮助文件。
四、反应机理(ReactionMechanism)
Arrhenius定律:
[规则]起始行:
关键字REACTIONS(或REAC),其后为Arrhenius系数的单位(可选)。
中间行:
反应方程式,然后为该方程的Arrhenius系数(依序为Ai,βi,Ei);
有些反应需要辅助数据补充说明,出现在该反应方程式的下一行。
结束行:
关键字END。
1.在起始行内可以定义Arrhenius系数Ai和Ei的单位;Ei的单位可以定义为CAL/MOLE,KCAL/MOLE,JOULES/MOLE,KJOULES/MOLE,KELVINS,或EVOLTS。
Ai的单位可以用关键字MOLES或MOLECULES来定义,分别对应cm•mole•sec•K和cm•molecules•sec•K。
如果没有定义,Ei和Ai的默认单位是:
cal/mole和cm•mole•sec•K
2.反应方程中,“=”和“<=>”用于可逆反应(两者等价),“=>”用于不可逆反应,“+M”表示催化剂,“(+M)”用于压力控制反应,“HV”表示光子,“E”表示电子。
4.有些反应方程之后需要有补充的辅助数据说明。
如果一个反应后面出现辅助数据,则会是如下的情况之一:
a)含“+M”的反应中,某些组分有着特别的催化效率。
b)含“(+M)”的反应(即压力控制反应)。
c)Landau-Teller反应
d)反应速率由Chebyshev给出
e)反应速率拟合关系式
f)包含“HV”的反应,定义光子的波长
g)组分随温度变化
h)能量损失参数
i)等离子体动量传递碰撞频率
j)逆反应速率(通常可逆反应的逆反应速率由平衡常数计算,也可以在辅助数据中用REV关键字直接给出)
k)反应指数
l)反应单位(如果仅仅改变某个反应的Ei、Ai的单位)
m)DuplicateReaction(如果两个反应的生成物和反应物都相同但反应机理不同,可以在辅助数据中用关键字DUP加以区别)
n)用户编程定义反应速率
各种类型的辅助数据格式也不一样,这里只给大家一个概念,并不准备去细讲。
因为我们通常情况下并不需要自己去编写反应机理。
很多反应的反应机理都已有人研究过,下面提供几个常用的网络资源。
[网络资源]:
1.LawrenceLivermoreNationalLaboratory,网址为:
http:
//www-cms.llnl.gov/combustion/combustion2.html
提供许多燃料的燃烧机理,直接为CHEMKIN格式,方便易用。
2.美国NIST(NationalInstituteofStandardandTechnology)的化学动力学数据库,网址为:
http:
//kinetics.nist.gov/index.php。
可以查询任意反应的反应速率,而且可以查到该数据出自那篇文献。
3.GRI(GasResearchInstituteofUniversityofCaliforniaatBerkeley),网址为:
http:
//www.me.berkeley.edu/gri-mech/data/frames.html。
可以查到大部分反应的Arrhenius系数。
该研究所对天然气燃烧的研究尤为深入。
第二节SurfaceKinetics(表面动力学)
很多过程中都包含固体表面与气相的反应,如化学气相沉积、化学腐蚀、固体腐蚀、催化过程等。
KHEMKIN的核心程序SurfaceKinetics软件包就是在气相反应(Gas-PhaseKinetics)的基础上处理这一过程。
SurfaceKinetics由一个前处理器和含70多个子程序的程序库组成。
SurfaceKinetics的处理过程参见图1.1,前处理器读取用户编写的输入文件(surf.inp),并从Gas-PhaseKinetics连接文件(chem.asc)中读取相应的数据,将其输出为包含表面反应各种信息的表面反应连接文件(surf.asc);同时还生成一个文本文件(surf.out),该文件包含反应机理的描述及出错信息,可以在程序界面里打开。
在编写SurfaceKinetics输入文件之前,先来介绍一些CHEMKIN表面反应的基础:
在表面反应中,根据相的不同,组分可以分为三大类型:
气体(gas)、表面(surface)、和体内(bulk)。
表面可以定义不同的site,以表明表面性质的不同(如处于尖的地方和平的地方),每个site均可以定义各自包含的组分,同时每个site都是一个相。
体内(bulk)也可以定义不同的bulk相。
假设定义了Ns个site和Nb个bulk,则整个系统共有1+Ns+Nb相,其中1相为气相,2~Ns+1为表面相,Ns+2~Ns+Nb+1为体内相。
如果系统有几类不同的表面(比如有两个表面,其表面和体内的组分、相、反应完全不同),则可将每一类表面定义为一个material,每个material可以定义自己的site、bulk、及化学反应。
输入文件如例2.2,每个文件可以定义多个material,每个material包括material的声明、site的定义、bulk的定义、热力学数据、表面化学反应等五部分:
!
例2.2
MATERIALWAFER!
material的声明,当有数类不同的表面反应时需要
SITE/POLY/SDEN/2.25e-9/!
site的声明,其后为该site内的组分
SI(S)SICL(S)SICL2(S)SICL3(S)
END
BULK!
bulk的声明,其后为该bulk内的组分
SI(B)/2.33/
END
REACTIONSMWOFF!
反应方程
CL+SI(S)=>SICL(S)1.00.00.0
E+CL2++2SI(S)=>2SICL(S)0.40.00.0
E+CL++SICL3(S)+SI(B)=>SICL4+SI(S)0.500.00.0
END
MATERIALWALL!
第2个material声明,亦即第2类表面反应
SITE/METAL/SDEN/2.25E-9/
AL(S)ALCL(S)
END
REACTIONSMWOFF
CL++E=>CL0.60.00.0
CL+AL(S)=>ALCL(S)1.00.00.0
END
一、material的声明
[规则]以MATERIAL关键字开始,紧接着是该material的名字
如果只有一种表面,此部分可以不定义。
二、site数据
[规则]开始行:
关键字SITE,之后为斜线括起来的site名字,之后为关键字SDEN,之后斜线括起来的是该site在标准状态下的密度,例如SITE/POLY/SDEN/2.25e-9/
中间行:
该site内包含的组分,以空格间隔
结束行:
关键字END
如果该material内有多个site的话,可以按上述格式重复site的定义,但site的名字必须不同。
三、bulk数据
[规则]开始行:
关键字BULK,之后为斜线括起来的bulk名。
中间行:
该bulk包含的组分,每一组分后可以跟随一个被斜线括起来的数字来定义该组分的密度(g/cm3)。
结束行:
关键字END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CHEMKIN401 入门 指南
![提示](https://static.bdocx.com/images/bang_tan.gif)