CHEMKIN4.0.1入门指南

CHEMKIN4.0.1入门指南
CHEMKIN4.0.1入门指南

CHEMKIN入门指南

《燃烧学》辅助教程

上篇

基础知识、核心程序、化学平衡(EQUIL)、全混反应(AURORA)

如果文中有任何错误,请不吝指出,以便不断改进

2004.3

第一章CHEMKIN简介

本章介绍CHEMKIN的主要功能和求解过程。

第一节安装CHEMKIN

Chemkin最早的版本始于1980,由美国Sandia实验室的Kee RJ等人编写,经过多年的不断发展日趋完善。后来由Reaction Design公司收购并继续开发,目前最新版为3.7.1。由于学习和科研需要,我们花费2000$向ReactionDesign公司订购了一套最新版本的CHEMKIN 3.7.1,其中包括20个网络教学许可证,用于《燃烧学》课程的学习。

[安装] 请从ftp://combustion:combustion@166.111.56.202的“CHEMKIN软件”目录内下载安装程序chemkin371_pc_setup.exe,执行安装程序。安装完后会自动在桌面及开始菜单建立快捷方式。

[运行许可证书] 教学用的CHEMKIN采用网络认证,故电脑必须联网(校内)。当程序计算(Run)时,系统会提示选择license,选择“Specify license server”,然后next,在下一画面填入“166.111.56.202”即可。

第二节CHEMKIN介绍

CHEMKIN是一种非常强大的求解复杂化学反应问题的软件包,常用于对燃烧过程、催化过程、化学气相沉积、等离子体及其他化学反应的模拟。CHEMKIN包括“核心程序(Core Utilities)”和“应用程序(Application)”两级程序包。以气相反应、表面反应、传递过程这三个核心软件包为基础,CHEMKIN提供了对12种常见化学过程模拟的软件包及后处理程序。

CHEMKIN的三个核心程序

模块:

1) 气相动力学(Gas-Phase

Kinetics):是所有程序计算的基

础,提供气相成分组成、热力学数

据、化学反应等信息。

2) 表面动力学(Surface

Kinetics)。很多反应过程包括多相

反应,如催化反应、化学气相沉积、

固体腐蚀等。在这些反应里,

Surface Kinetics提供两相反应所

需的各种信息,如表面结构、表面

和体内的成分组成及热力学数据、

表面化学反应等。

3) 传递(Transport)。提供气

相多组分粘度、热传导系数、扩散

系数和热扩散系数等。

其中Surface Kinetics和

Transport必须以Gas-Phase Kinetics为基础,因为它们中出现的成分都必须在Gas-Phase

Kinetics已定义。

Gas-Phase Kinetics、Surface Kinetics和Transport提供了化学反应的基本信息,生成动态链接库供后续程序调用。用户可以自己编写程序调用它们来实现指定的功能,但最方便的是使用CHEMKIN自带的应用程序。CHEMKIN提供了12个典型的应用程序(Application),它们的名字和描述如表1.1,其简图见图1.2:

AURORA CRESLAF EQUIL OPPDIF OVEND

PASR PREMIX SPIN

SURFTHERM

第三节CHEMKIN求解过程及用户操作步骤

CHEMKIN通常的求解过程如下:

1. Gas Phase Kinetics(气相动力学)的处理

Gas Phase Kinetics的前处理器(Pre-processor)读取用户编写的输入文件和自带的热力学数据库,生成包含元素、组分、热力学数据反应信息的Gas-Phase Kinetics连接文件。Gas-Phase Kinetcs提供了处理这一文件的一个Fortran子程序库,供其他程序调用。

2. Surface Kinetics(表面动力学)和Transport(传递过程)的处理

如果化学反应包含表面反应或传递过程,则需要相应地执行这两个核心程序块。

Surface Kinetics的前处理器读取用户编写的输入文件,生成包含表面反应信息的Surface Kinetics连接文件,Surface Kinetics提供子程序库处理该连接文件。

Transport的前处理器根据Gas-phase Kinetics连接文件中的信息,自动从CHEMKIN自带的传递数据库(tran.dat)读取相应的数据,然后生成包含传递信息的Transport连接文件,Transport提供子程序库处理该连接文件。

3. Application(应用程序)求解

根据问题需要,应用程序读取输入文件确定求解过程,调用Gas-Phase Kinetics、Surface Kinetics、Transport各自的子程序库内相应的子程序来读取反应信息,然后进行计算。CHEMKIN自带的12种应用程序中,每一种都有自己的前处理器,并对应不同格式的输入文件。程序计算结束后,会生成一动态连接文件供后处理。

4. Post-Process(后处理)

CHEMKIN提供了统一的后处理器,用于对应用程序的结果进行分析和绘图。

用户操作的一般步骤如下:

1. 决定问题的性质,选择适当的应用程序

通常情况下,一般的化学反应问题通过适当的假设和简化,都可以对应到某一种CHEMKIN包含的12个应用程序里,有时一个问题还可以有多种选择。选择恰当的应用程序是求解问题的第一步。但是如果实在不幸没有一种应用程序可以很好的解决你的问题,或者想要更完美地解决一些问题,就只有自己编写程序,调用CHEMKIN里的子程序库进行计算了。

2. 编写核心程序输入文件

编写Gas-Phase Kinetic的输入文件,在其中定义元素、组分、化学反应等;

编写Surface Kinetic的输入文件(如果问题需要),在其中定义表面的性质和反应等。

Transport不需要编写输入文件,该程序只处理CHEMKIN自带的一个传递数据库(tran.dat)。

3. 编写应用程序输入文件

按照应用程序要求的格式,定义反应条件、反应过程、求解方法等。

4. 求解&后处理

点击用户界面的“Run”按钮执行程序计算;

点击用户界面的“Restart”按钮以上次计算结果为初始条件重新计算(在有些情况下会用到);

点击用户界面的“Post-Process”按钮调用CHEMKIN后处理器

第四节后处理器的使用

CHEMKIN的计算结果可以从其生成的文本输出文件中查看。CHEMKIN为所有的应用程序提供了一个统一的后处理程序(Post-Processor),可以方便的将计算结果绘制成曲线。

点击程序界面右下端的按钮“Post-Process”启动后处理器,默认情况下会读取工作目录下的XMLdata.zip文件中的数据,启动之后用户还可以添加其他解文件的数据。

在弹出的选项卡中,“Solution Set”选项卡内选择要绘制成曲线的解系列,因为有些应用程序的结果中会出现多个解系列(如CRESLAF)。“Species/Variables”选项卡内选择要绘制成曲线的变量或组分,第一列(Row)列出解文件中所有变量名,第二列(Species Var)为变量值,第三列(Rxn sens)为该变量的误差(有的应用程序后处理时无此列),第四列(Rates of Prod)为该变量的产生率。

进入绘图界面后,选择菜单Plot->X-Y plot,从弹出的选项卡中选择曲线的X轴和Y轴(可多选)。选择菜单Plot->Contour,选择要绘制等高线的变量,但要求解结果必须是二维

的(如CRESLAF)。

说明:本文作为一本入门教程,旨在使大家能够迅速了解和掌握CHEMKIN的基本功能和应用,所以很多复杂的高级技巧只做了一些简单介绍或者完全忽略。CHEMKIN的帮助系统提供对程序所有功能的详细介绍,请自行参阅。

CHEMKIN是一个非常好的计算工具,但只有深入了解化学反应和燃烧理论,才能真正发挥它的作用。

第二章核心程序(Core Utility)

本章介绍Gas-Phase Kinetics, Surface Kinetics, Transport这三个核心程序包,它们是应用程序计算统一的平台。

第一节Gas-Phase Kinetics (气相动力学)

气相反应动力学是所有CHEMKIN计算的基础。Gas-Phase Kinetics软件包包括一个前处理器(Pre-Processor),一个热力学数据库(Thermo.dat)和超过150个子程序的程序库。其处理过程参见图1.1:首先,前处理器读取用户编写的输入文件(默认为chem.inp),然后从热力学数据库(Therm.dat)获取在输入文件中定义了的组份的热力学数据;之后生成包含元素、组份、反应的各种信息的连接文件(chem.asc)。应用程序可以通过调用其子程序库来读取该连接文件中的信息。

同时,前处理器还会生成一个文本文件(chem.out),里面为元素、组分和反应的列表;如果输入文件有错误,错误信息也会出现在chem.out中;该文件可以在CHEMKIN程序界面里打开并查看。

介绍Gas-Phase Kinetics输入文件之前,先介绍CHEMKIN格式的输入文件的一些通用规则:

1. 注释符号“!”。符号“!”无论出现在一行的任何位置,此行后面的文本将作为注释文本而被忽略。

2. 输入文件每行不应超过80列

3. 除了个别有极其严格规则的地方外(如热力学数据的定义等,均会特殊声明),空格作为分隔符,而且多个空格将被视为一个。

4. 数字格式:可以为整数(如99)、浮点数如(99.99)、或E格式(如9.999E2)。

下面介绍如何编写Gas-Phase Kinetics的输入文件。该文件包括四部分的内容,分别为元素、组份、热力学数据、化学反应,如例2.1所示:

! 例2.1

ELEMENTS H O END ! 元素定义

SPECIES H2 H O2 O OH H2O END ! 组分定义

THERMO ! 热力学数据(本例中只定义了“OH”的热力学数据)

OH 121286O 1H 1 G 0300.00 5000.00 1000.00 1

0.02882730E+02 0.10139743E-02-0.02276877E-05 0.02174683E-09-0.05126305E-14 2

0.03886888E+05 0.05595712E+02 0.03637266E+02 0.01850910E-02-0.16761646E-05 3

0.02387202E-07-0.08431442E-11 0.03606781E+05 0.13588605E+01 4

END

REACTIONS ! 反应方程及Arrhenius系数

H2+O2=2OH 0.170E+14 0.00 47780

OH+H2=H20+H 0.117E+10 1.30 3626

O+OH=O2+H 0.400E+15 -0.50 0

O+H2=OH+H 0.506E+05 2.67 6290

2OH=O+H2O 0.600E+09 1.30 0

H+H+M=H2+M 0.100E+19 -1.00 0

H2O/0.0/ H2/0.0/ ! 辅助数据

H+H+H2=H2+H2 0.920E+17 -0.60 0

H+H+H2O=H2+H2O 0.600E+20 -1.25 0

END

一、元素(Elements)部分:

[规则]此部分以ELEMENTS(或者ELEM,两者等价)关键字开头;其后以空格为间隔符列出将在反应中出现的所有元素;最后以END关键字结束。

例如定义氢(H)、氧(O)、氮(N)、电子(E)四个元素:

ELEM H O N C E END

!如果程序中有离子参加反应,则电子(E)必须作为一个元素定义

用户要按周期表的元素名(两个字母均须大写)来定义元素,CHEMKIN可以辨认的元素如表2.1。如果用户定义同位素或新元素的话,可以以1~2个字母命名(不与元素表重名),并将其原子量以“/”括住跟随其后。如定义氢(H)的同位素氚(命名为HH)如下:ELEM HH / 3.0 / END

表2.1 CHEMKIN元素表:

其中,D为氢(H)的同位素氘(D),E为电子。

注:元素定义的规则很自由,比如可以出现多个ELEM,元素可以分多行来写,END可以省略,如果元素定义重复的话后面的一个将被忽略等,但由于这些规则仅仅是为了程序处理方便,这里就不一一赘述了。在后面的文档中,我们也只介绍正规的规则,类似的自由规则不在我们学习之列。

二、组份(Species)部分:

[规则]以SPECIES(或SPEC)开头;其后以空格为分隔符列出将在反应中出现的所有组份;最后以关键字END结束。例如:

SPECIES H2 O2 H O OH HO2 N2 N NO END

组份可用不超过16个字符而且以字母开头的任意字符串来命名,但不建议随意命名。因为如果要利用CHEMKIN的热力学数据库therm.dat的话,组分的命名必须按照CHEMKIN 的规则来,这些组分名称都是按照其分子式来命名的,CHEMKIN可以识别的组份名称(778种)列入附录1中。

对于附录1中的组分名称,CHEMKIN可以从热力学数据库therm.dat中自动获取到该组分的元素组成及其热力学性质。如果用户定义的组份不在其中,则该组份的热力学数据需自行定义。

三、热力学数据(Thermodynamic Data):

所有定义的组份都必须有其热力学数据。CHEMKIN提供了一个比较完善的热力学数据库文件(therm.dat),可以在CHEMKIN图形界面查看并修改。常见组分一般都包括内(参见附录1),所以只要按照CHEMKIN规定的格式命名组分,通常情况下用户并不需要定义热力学数据。只有当1. 用户要用自己的数据代替therm.dat中的热力学数据2. 用户定义的组份在数据库中没有时,才需要定义其热力学数据。

热力学数据的定义基于下面的多项式模拟:

在热力学数据中需要定义组分的元素组成、两个温度区间、及在每个温度区间内

k k a a 71~的值。热力学数据的定义非常的严格,这里不作介绍了,有兴趣的参看帮助文件。

四、反应机理(Reaction Mechanism ) Arrhenius 定律:)exp(

T

R E T A K c i

i fi i

-=β [规则]起始行:关键字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 ) Duplicate Reaction (如果两个反应的生成物和反应物都相同但反应机理不同,

可以在辅助数据中用关键字DUP 加以区别) n ) 用户编程定义反应速率

各种类型的辅助数据格式也不一样,这里只给大家一个概念,并不准备去细讲。因为我们通常情况下并不需要自己去编写反应机理。很多反应的反应机理都已有人研究过,下面提供几个常用的网络资源。

[网络资源]:

1. Lawrence Livermore National Laboratory ,网址为: https://www.360docs.net/doc/a82760699.html,/combustion/combustion

2.html

提供许多燃料的燃烧机理,直接为CHEMKIN 格式,方便易用。

2. 美国NIST(National Institute of Standard and Technology)的化学动力学数据库,网址为:https://www.360docs.net/doc/a82760699.html,/index.php。

可以查询任意反应的反应速率,而且可以查到该数据出自那篇文献。

3. GRI (Gas Research Institute of University of California at Berkeley),网址为:

https://www.360docs.net/doc/a82760699.html,/gri-mech/data/frames.html。

可以查到大部分反应的Arrhenius系数。该研究所对天然气燃烧的研究尤为深入。

第二节Surface Kinetics (表面动力学)

很多过程中都包含固体表面与气相的反应,如化学气相沉积、化学腐蚀、固体腐蚀、催化过程等。KHEMKIN的核心程序Surface Kinetics软件包就是在气相反应(Gas-Phase Kinetics)的基础上处理这一过程。Surface Kinetics由一个前处理器和含70多个子程序的程序库组成。

Surface Kinetics的处理过程参见图1.1,前处理器读取用户编写的输入文件(surf.inp),并从Gas-Phase Kinetics连接文件(chem.asc)中读取相应的数据,将其输出为包含表面反应各种信息的表面反应连接文件(surf.asc);同时还生成一个文本文件(surf.out),该文件包含反应机理的描述及出错信息,可以在程序界面里打开。

在编写Surface Kinetics输入文件之前,先来介绍一些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

MATERIAL WAFER ! 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

REACTIONS MWOFF ! 反应方程

CL + SI(S) => SICL(S) 1.0 0.0 0.0

E + CL2+ + 2SI(S) => 2SICL(S) 0.4 0.0 0.0

E + CL+ + SICL3(S) + SI(B) => SICL4 + SI(S) 0.50 0.0 0.0

END

MATERIAL WALL !第2个material声明,亦即第2类表面反应

SITE/METAL/ SDEN/2.25E-9/

AL(S) ALCL(S)

END

REACTIONS MWOFF

CL+ + E => CL 0.6 0.0 0.0

CL + AL(S) => ALCL(S) 1.0 0.0 0.0

END

一、material的声明

[规则]以MA TERIAL关键字开始,紧接着是该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

同样,如果该materail内有多个bulk的话,可以按上述格式重复bulk的定义,但bulk 的名字必须不同。

四、热力学数据(Thermodynamic data)

参见Gas-Phase Kinetic中的说明,此部分一般省略。

五、表面反应方程

基本与Gas-Phase Kinetic中相同,但有几点不同:1. 开始行(含REAC关键字的行)内可以加入关键字MWON或MWOFF来表明对粘附系数方程(sticking-coefficient reactions)是否进行Motz-Wise修正,还可以加入关键字NONCON表明表面site的数量不守恒。2. 增加了许多新类型的辅助数据说明,用来描述表面反应的一些性质。关于辅助数据的说明本文不作介绍,可自行查阅帮助文档。

六、下一个material的声明和定义

定义完material、site、bulk、Thermodynamic、reaction这五部分,一个material就定义好了。如果还有其他类的表面,可以按照同样的格式定义另一个的material,但该material 的名字不能与前面的相同。

注意:每个material, site, bulk均需要赋予一个名字,如果文件中没有给出的话,CHEMKIN会自动依序命名为material1, material2, material3……、site1, site2, site3……、bulk1, bulk2, bulk3……等。

第三节传递(Transport)

很多反应过程需要使用气体多组分混合后的粘度、热传导系数、扩散和热扩散系数等,这些数据包含在tran.dat中。用户可以从CHEMKIN界面中对其查看更改,或者指定其他的传递数据来源。

此过程不需要用户编写输入文件,故在此不作详细介绍。

第三章化学平衡和相平衡计算(EQUIL)本章介绍最简单的应用程序——EQUIL,利用它来计算化学平衡和相平衡

第一节介绍

化学平衡的计算方法来自于Stanford的软件STANJAN,CHEMKIN将其集成到EQUIL 中,并为其提供CHEMKIN格式的输入和后处理工具。

其求解过程为:先运行Gas-Phase和Surface两个前处理器得到chem.asc和surf.asc连接文件,然后EQUIL读取连接文件中的信息并进行计算。

在燃烧中常常需要计算绝热燃烧温度(Adiabatic Flame Temperature),在CHEMKIN中,给定初始焓条件求解等压等焓问题,或者给定初始内能条件求解等容等内能问题,所求得的相平衡温度即为绝热燃烧温度。

第二节常用关键字

EQUIL的输入文件由一系列关键字及其参数组成,用来说明问题的性质和条件,常用关键字见表3.1。

表3.1 EQUIL中的关键字

第三节气相化学平衡计算

气相平衡的计算由于只涉及到气相,故无须编写Surface的输入文件;而且由于化学平衡计算只计算理想情况下的平衡值,与化学反应具体过程无关,故Gas-Phase输入文件中化学反应式也无须编写(即使写了也用不上)。因此气相化学平衡的计算非常简单,如例3.1所示:

例3.1: 气相平衡计算(此例包含在chemkin37\samples\eauil\gas_equil\ 目录下)

Gas-Phase输入文件(chem..inp):

ELEMENTS H O N END

SPECIES H2 H O2 O OH HO2 H2O N2 H2O2 END

EQUIL输入文件(equil.inp):

REAC H2 2 ! 定义反应物组成为:H2 2, O2 1, N2 3.76,它们的和不等于1,CHEMKIN会REAC O2 1 ! 自动计算各自的百分比,将其处理为摩尔分数

REAC N2 3.76

HP ! 定压定焓反应

TEMP 300 ! 初始温度为300K

TEST 2000 ! 预期平衡温度为2000K

PRES 1 ! 初始压力为1atm

CNTN ! 该关键字表明,此次计算完毕之后,还有后续计算

END ! 本次计算条件输入完毕

REAC H2 2 ! 第二次计算的条件

REAC O2 1

REAC N2 3.76

HP

TEMP 400

TEST 2000

PRES 1

CNTN ! 此次计算完毕之后,还有后续计算

END

REAC H2 2 ! 第三次计算

REAC O2 1

REAC N2 3.76

HP

TEMP 500

TEST 2000

PRES 1

END

在EQUIL输入文件中至少要给出如下定解条件:

i. 问题类型。如HP,TP等,参见表3.1

ii. 反应物成份。使用REAC关键字,如果反应物摩尔分数之和不等1,会自动按比例调整。

iii. 初始条件。P, T, V, U, H, S这六个参数中的两个或多个,对于不同的问题类型,需要给出不同的参数。

后处理:如果只有一次计算结果(CNTN关键字用于多次计算),则计算结果可以从输出文本文件equil.out中查看。如果有多次计算结果,还可以使用后处理器(post-processor)来绘制多个解的曲线。

第三节多相化学平衡计算

Gas-Phase输入文件和Surface输入文件编写方法参见第二章,由于计算化学平衡并不需

要化学反应的反应速率,所以两个输入文件中反应方程部分均会被忽略。而且Surface输入文件只需要定义bulk相即可,site的定义也将被忽略。下面给出一个简单的例子(例3.2):例3.2: 多相平衡计算(此例包含在chemkin37\samples\eauil\bulk_equil\ 目录下)

Gas-Phase输入文件(chem..inp):

ELEMENTS H O C N AR END

SPECIES

CH4 CO CH3 CH2 CH C H CO2 H2O OH H2O2 HO2 O2 O N2

END

Surface 输入文件(surface.inp):

BULK/LIQ/

H2O(L) /1./

END

EQUIL输入文件(equil.inp):

REAC CH4 1.0

REAC O2 2.

REAC N2 7.52 ! 给出反应物成分

TEMP 300

PRES 1 ! 给出反应初始条件,T和P

TP

CNTN ! 继续计算关键字

END

REAC CH4 1.1

REAC O2 2.

REAC N2 7.52

TEMP 300

PRES 1

TP

END

跟气相化学平衡没有很大的区别,这里需要注意的是:只要曾进行过一次Surface的计算就会在文件夹下生成Surface连接文件surf.asc,如果此后想只进行气相平衡的计算,光从界面删掉surf.inp是不够的,必须删掉文件夹下的surf.asc。因为即使Surface处理器没有运行,EQUIL也会尝试去读取surf.asc文件。

第四章全混反应器(AURORA)

全混反应器是反应过程最基本的模型,很多问题经过适当的简化都可以用此模型来近似求解。

第一节介绍

全混反应器指气体扩散非常快或经过充分搅拌,使反应器内气体分布处处均匀。全混反应器是最简单的模型,在燃烧中有着广泛的应用,而且是测试化学反应的常用工具。

AURORA可以计算稳态和瞬态(反应器内参数随时间变化)的全混反应器,还可以计算多个反应器组成的反应器网络。除此之外,AURORA也可以用于等离子体反应器(Plasma),求解其离子、电子、中性粒子的浓度及电子温度等。AURORA还内置了一个内燃机气缸模型,用于压燃式发动机的动力学模拟。

对于稳态问题,采用TWOPNT求解;对于瞬态问题,采用DASPK求解。

求解过程:首先是Gas-Phase Kinetic和Surface Kinetic的先后处理过程(参见第二章),然后AURORA读取输入文件(用户编写),调用Gas-Phase Kinetic和Surface Kinetic的子程序读取反应数据,然后进行计算,将解结果输出为XMLdata.zip,供后处理程序以及程序重新计算使用;同时将解结果输出为aurora.out,可以在CHEMKIN界面内查看(view)。

AURORA输入文件的编写过程其实就是一些描述反应的关键字的罗列。第二节关键字解说:

第三节稳态气体燃烧过程

我们通过一个例子来了解稳态全混反应器的计算:

例4.1: 氢气在空气中的稳定燃烧(此例包含在chemkin37\samples\aurora\gas_psr\ 目录下)气体输入文件(chem.inp):

ELEMENTS O H N END

SPECIES O O2 H H2 OH HO2 H2O H2O2 N2 END

REACTIONS

H+O2 = O+OH 5.1E16 -0.82 16510 !MILLER 81

H2+O = H+OH 1.8E10 1.0 8830 !MILLER 77

H2+OH = H2O+H 1.2E09 1.3 3630 !DIXON-LEWIS 77

OH+OH = H2O+O 6.0E08 1.3 0.0 !COHEN 79

H+OH+M = H2O+M 7.5E23 -2.6 0.0 !MILLER 77

H2O /20.0/

O2+M = O+O+M 1.9E11 0.5 95560 !MILLER 81

H2+M = H+H+M 2.2E12 0.5 92600 !MILLER 77

H2O /6.0/

H /2.0/

H2 /3.0/

H2+O2 = OH+OH 1.7E13 0.0 47780 !MILLER 77

H+O2+M = HO2+M 2.1E18 -1.0 0.0 !SLACK 77

H2O /21.0/

H2 /3.3/

O2 /0.0/

N2 /0.0/

H+O2+O2 = HO2+O2 6.7E19 -1.42 0.0 !SLACK 77

H+O2+N2 = HO2+N2 6.7E19 -1.42 0.0 !SLACK 77

HO2+H = H2+O2 2.5E13 0.0 700 !LLOYD 74

HO2+H = OH+OH 2.5E14 0.0 1900 !LLOYD 74

HO2+O = OH+O2 4.8E13 0.0 1000 !LLOYD 74

HO2+OH = H2O+O2 5.0E13 0.0 1000 !LLOYD 74

HO2+HO2 = H2O2+O2 2.0E12 0.0 0.0 !TROE 69

H2O2+M = OH+OH+M 1.2E17 0.0 45500 !BAULCH 72

H2O2+H = HO2 + H2 1.7E12 0.0 3750 !BAULCH 72

H2O2+OH = H2O+HO2 1.0E13 0.0 1800 !BAULCH 72

END

AURORA输入文件

STST ! 稳态过程关键字

ENRG ! 求解能量方程

EQUI 1.0 ! 当量比

FUEL H2 0.8 ! 燃料组成

FUEL N2 0.2

OXID O2 0.21 ! 空气组成

OXID N2 0.79

PROD H2O ! 预期产物组成

PROD N2

!以上采用EQUI/FUEL/OXID/PROD/ADD方式来定义入口组分组成,也可用REAC关键字来定义入口条件。

PRES 1.0 ! 压力为1.0atm

VOL 67.4 ! 体积为67.4cm3

TAU 3.0E-05 ! 停留时间为3e-5 sec

TINL 298. ! 入口气体温度

QLOS 0.0 ! 热损失

TEMP 1700 ! 预期燃烧温度(便于迭代)

CNTN ! 继续计算关键字,表示本次计算END之后有其它计算END

SENS H2 O2 H2O ! 计算这些组分的灵敏系数

EQUI 1.2 ! 改变部分反应条件

END

第四节瞬态气体燃烧过程(点火过程)

同样,我们也通过一个例子来了解瞬态全混反应器的计算:

例4.2: 瞬态气体燃烧过程算例(此例包含在chemkin37\samples\aurora\transient\ 目录下)气体输入文件同例4.1,此处略

AURORA输入文件

TRAN ! 瞬态过程关键字

ENRG ! 求解能量方程

QLOS 0.0 ! 热损为0,表示绝热系统

PRES 1.0 ! 初始压力为1 atm

TEMP 1000. ! 初始温度为1000K

REAC H2 2. ! 初始反应物组成, CHEMKIN会自动转化为摩尔分数REAC O2 1.

REAC N2 3.76

TIME 2.E-4 ! 反应总时间

END

每行的含义已在程序中做了解说。计算完毕之后,可

以使用后处理器来绘制各参数随时间的变化,如选择

“Plot”—〉“X-Y Plot”,Time为X轴,Temperature为Y

轴,则得到右图

相关主题
相关文档
最新文档