CFD:化学反应

在CFD的燃烧以及反应流中,需要求解化学反应。有的时候化学反应要涉及到上千个。因此对化学反应标准化很有必要。在商业软件Fluent以及开源软件OpenFOAM中,化学反应组件部分的输入均参考chemkin。chemkin是老牌的用于处理化学反应的软件包。

在OpenFOAM中,典型的输入文件包含chem.inp文件以及thermo.dat文件。OpenFOAM会将其转换为OpenFOAM可以读取的格式。chem.inp文件以及thermo.dat文件如下:

ELEMENTS
H O C N AR
END
SPECIES
H2 H O2 O OH HO2 H2O2 H2O AR N2
END
REACTIONS
   OH+H2=H+H2O             2.14E+08  1.52  3449.0 !MARINOV 1995A
   O+OH=O2+H               2.02E+14  -0.4     0.0 !MARINOV 1995A
   O+H2=OH+H               5.06E+04  2.67  6290.0 !MARINOV 1995A
   H+O2(+M)=HO2(+M)        4.52E+13  0.0      0.0 !MARINOV 1995A
   LOW /  1.05E+19  -1.257  0.0 /                 !MARINOV 1995A
   H2O/0.0/ H2/0.0/ N2/0.0/
   H+O2(+N2)=HO2(+N2)      4.52E+13  0.0      0.0 !MARINOV 1995A
   LOW / 2.03E+20  -1.59    0.0  /                !MARINOV 1995A
   H+O2(+H2)=HO2(+H2)      4.52E+13  0.0      0.0 !MARINOV 1995A
   LOW / 1.52E+19  -1.133   0.0 /                 !MARINOV 1995A
   H+O2(+H2O)=HO2(+H2O)    4.52E+13  0.0      0.0 !MARINOV 1995A
   LOW / 2.10E+23  -2.437   0.0 /                 !MARINOV 1995A
   OH+HO2=H2O+O2           2.13E+28 -4.827 3500.0 !HIPPLER 1995
    DUP
   OH+HO2=H2O+O2           9.10E+14  0.0  10964.0 !HIPPLER 1995
    DUP
   H+HO2=OH+OH             1.50E+14  0.0  1000.0  !MARINOV 1995A
   H+HO2=H2+O2             8.45E+11  0.65 1241.0  !MARINOV 1995A
   H+HO2=O+H2O             3.01E+13  0.0  1721.0  !MARINOV 1995A
   O+HO2=O2+OH             3.25E+13  0.0     0.0  !MARINOV 1995A
   OH+OH=O+H2O             3.57E+04  2.4 -2112.0  !MARINOV 1995A
   H+H+M=H2+M              1.00E+18 -1.0     0.0  !MARINOV 1995A
   H2O/0.0/ H2/0.0/
   H+H+H2=H2+H2            9.20E+16 -0.6     0.0  !MARINOV 1995A
   H+H+H2O=H2+H2O          6.00E+19 -1.25    0.0  !MARINOV 1995A
   H+OH+M=H2O+M            2.21E+22 -2.0     0.0  !MARINOV 1995A
    H2O/6.4/
   H+O+M=OH+M              4.71E+18 -1.0     0.0  !MARINOV 1995A
    H2O/6.4/
   O+O+M=O2+M              1.89E+13  0.0 -1788.0  !MARINOV 1995A
   HO2+HO2=H2O2+O2         4.20E+14  0.0 11982.0  !MARINOV 1995A
   DUP
   HO2+HO2=H2O2+O2         1.30E+11  0.0 -1629.0  !MARINOV 1995A
   DUP
   OH+OH(+M)=H2O2(+M)      1.24E+14 -0.37    0.0  !MARINOV 1995A
   LOW /  3.04E+30   -4.63   2049.0 /             !MARINOV 1995A
    TROE / 0.470   100.0   2000.0  1.0E+15/
   H2O2+H=HO2+H2           1.98E+06  2.0  2435.0  !MARINOV 1995A
   H2O2+H=OH+H2O           3.07E+13  0.0  4217.0  !MARINOV 1995A
   H2O2+O=OH+HO2           9.55E+06  2.0  3970.0  !MARINOV 1995A
   H2O2+OH=H2O+HO2         2.40E+00 4.042 -2162.0 !MARINOV 1995A
END
THERMO ALL
   200.000  1000.000  5000.000
AR                120186AR  1               G  0200.00   5000.00  1000.00      1
 0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00    2
-0.07453750E+04 0.04366001E+02 0.02500000E+02 0.00000000E+00 0.00000000E+00    3
 0.00000000E+00 0.00000000E+00-0.07453750E+04 0.04366001E+02                   4
H                 120186H   1               G  0200.00   5000.00  1000.00      1
 0.02500000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00    2
 0.02547163E+06-0.04601176E+01 0.02500000E+02 0.00000000E+00 0.00000000E+00    3
 0.00000000E+00 0.00000000E+00 0.02547163E+06-0.04601176E+01                   4
H2                121286H   2               G  0200.00   5000.00  1000.00      1
 0.02991423E+02 0.07000644E-02-0.05633829E-06-0.09231578E-10 0.01582752E-13    2
-0.08350340E+04-0.01355110E+02 0.03298124E+02 0.08249442E-02-0.08143015E-05    3
-0.09475434E-09 0.04134872E-11-0.01012521E+05-0.03294094E+02                   4
H2O                20387H   2O   1          G  0200.00   5000.00  1000.00      1
 0.02672146E+02 0.03056293E-01-0.08730260E-05 0.01200996E-08-0.06391618E-13    2
-0.02989921E+06 0.06862817E+02 0.03386842E+02 0.03474982E-01-0.06354696E-04    3
 0.06968581E-07-0.02506588E-10-0.03020811E+06 0.02590233E+02                   4
H2O2              120186H   2O   2          G  0200.00   5000.00  1000.00      1
 0.04573167E+02 0.04336136E-01-0.01474689E-04 0.02348904E-08-0.01431654E-12    2
-0.01800696E+06 0.05011370E+01 0.03388754E+02 0.06569226E-01-0.01485013E-05    3
-0.04625806E-07 0.02471515E-10-0.01766315E+06 0.06785363E+02                   4
HO2                20387H   1O   2          G  0200.00   5000.00  1000.00      1
 0.04072191E+02 0.02131296E-01-0.05308145E-05 0.06112269E-09-0.02841165E-13    2
-0.01579727E+04 0.03476029E+02 0.02979963E+02 0.04996697E-01-0.03790997E-04    3
 0.02354192E-07-0.08089024E-11 0.01762274E+04 0.09222724E+02                   4
O                 120186O   1               G  0200.00   5000.00  1000.00      1
 0.02542060E+02-0.02755062E-03-0.03102803E-07 0.04551067E-10-0.04368052E-14    2
 0.02923080E+06 0.04920308E+02 0.02946429E+02-0.01638166E-01 0.02421032E-04    3
-0.01602843E-07 0.03890696E-11 0.02914764E+06 0.02963995E+02                   4
O2                121386O   2               G  0200.00   5000.00  1000.00      1
 0.03697578E+02 0.06135197E-02-0.01258842E-05 0.01775281E-09-0.01136435E-13    2
-0.01233930E+05 0.03189166E+02 0.03212936E+02 0.01127486E-01-0.05756150E-05    3
 0.01313877E-07-0.08768554E-11-0.01005249E+05 0.06034738E+02                   4
OH                121286O   1H   1          G  0200.00   5000.00  1000.00      1
 0.02882730E+02 0.01013974E-01-0.02276877E-05 0.02174684E-09-0.05126305E-14    2
 0.03886888E+05 0.05595712E+02 0.03637266E+02 0.01850910E-02-0.01676165E-04    3
 0.02387203E-07-0.08431442E-11 0.03606782E+05 0.01358860E+02                   4
N2                121286N   2               G  0200.00   5000.00  1000.00      1
 0.02926640E+02 0.01487977E-01-0.05684761E-05 0.01009704E-08-0.06753351E-13    2
-0.09227977E+04 0.05980528E+02 0.03298677E+02 0.01408240E-01-0.03963222E-04    3
 0.05641515E-07-0.02444855E-10-0.01020900E+05 0.03950372E+02                   4
END

上述文件的详细解读可以参考chemkin的手册。现简要进行分析。

首先看chem.inp其中的ELEMENTS,表示反应中涉及到的所有元素。SPECIES表示反应中涉及到的所有组分。REACTIONS表示涉及到的所有的化学反应。例如对于下面这一行:

OH+H2=H+H2O             2.14E+08  1.52  3449.0 !MARINOV 1995A

首先,!感叹号后面的部分表示注释。OH+H2=H+H2O表示会发生的化学反应。化学反应的速率可以表示为:

(1)\[ k = A T^b \exp\left(-\frac{E}{RT}\right) \]

2.14E+08  1.52  3449.0分别对应方程(1)\(A\)\(b\)\(E\)参数。

一些反应类型比较特殊,比如下面这几行:

H+O2(+M)=HO2(+M)        4.52E+13  0.0      0.0 !MARINOV 1995A
LOW /  1.05E+19  -1.257  0.0 /                 !MARINOV 1995A
H2O/0.0/ H2/0.0/ N2/0.0/

特殊之处在于:

  • 其中第一行的反应附有(+M)符号,表示反应产生的条件需要M组分;但M组分不会在反应生产生或者消耗;

  • 其中第二行的LOW表示低压情况,在未注明LOW的情况下,则表示高压情况;

  • 其中第三行表示反应的三体反应系数;

最后需要注意的是。提供给OpenFOAM的相关文件,如thermo.dat文件,其中的参数修改的时候,请找一个模板直接修改。因为在转化格式的时候,代码不接受格式上的调整,调整可能会带来莫名其妙的错误。