我试图在Python Cantera 2.4中编程,氨(NH3)的催化分解相当于表面PFR(surf_PFR)
然而,当我定义接口时,我会根据我试图修复它所做的更改引发几种错误。我的猜测是,我在用我发现的物种和机制制作的.cti文件中遗漏了一些东西
出现以下错误(均与接口相关):
错误1: 回溯(最近一次呼叫最后一次): surf=ct.Interface(cti_文件,'Catalyst',[gas]) 文件“interfaces\cython\cantera\base.pyx”,第29行,在cantera.\u cantera.\u SolutionBase.cinit 文件“interfaces\cython\cantera\base.pyx”,第75行,在cantera.\u cantera.\u SolutionBase.\u init\u cti\u xml中 TypeError:无法将str转换为cantera.\u cantera.\u SolutionBase 进程已完成,退出代码为1 我必须补充一点,在这个错误中,我没有在安装文件夹中找到base.pyx文件来检查构造函数,但这不应该是根本原因
错误2: “未找到相气。提供的相为:催化剂”
错误3: surf=ct.Interface(cti_文件,'Catalyst',[gas]) 文件“interfaces\cython\cantera\base.pyx”,第29行,在cantera.\u cantera.\u SolutionBase.cinit 文件“interfaces\cython\cantera\base.pyx”,第78行,在cantera.\u cantera.\u SolutionBase.\u init\u cti\u xml中 运行时错误:错误的动态\u转换
我只是用我自己的ammonium.cti文件(附件)修改了surf_pfr.py文件,并按照相同的模式从其他人那里创建了cti,所以我不知道是什么导致了错误,我想让另一双眼睛来仔细检查
CTI文件:
# Ammonia decomposition mechanism under a catalyst and high temperature
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
ideal_gas(name = "gas",
elements = "N H",
species = """H2 N2 N H NH NH2 NH3 NNH N2H2 N2H3 N2H4""",
options = ['skip_undeclared_elements',
'skip_undeclared_species'],
reactions = "all",
transport = "Mix",
initial_state = state(temperature = 800.0, pressure = OneAtm)
)
stoichiometric_solid(name = 'bed',
elements = 'Ni',
density = (8.9, 'g/cm3'),
options = ['skip_undeclared_elements', 'skip_undeclared_species'],
species = 'NI')
ideal_interface(name = "Catalyst",
elements = " Ni ",
species = """ NI """,
phases = "gas",
site_density = 3e-3,
reactions = "all",
initial_state = state(temperature = 900.0,
coverages = 'NI:1'),
options = ['skip_undeclared_elements', 'skip_undeclared_species'],
)
#-------------------------------------------------------------------------------
# CATALYST DATA
#-------------------------------------------------------------------------------
species(name = "NI",
atoms = " Ni:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.776665400E+00, -7.522063800E-04,
4.325611300E-06, -5.473128700E-09, 2.110756500E-12,
5.090908300E+04, 6.168232530E+00] ),
NASA( [ 1000.00, 5000.00], [ 3.206149000E+00, -2.096992300E-04,
-2.283644800E-08, 1.508521100E-11, -1.000444500E-15,
5.070812600E+04, 3.531716230E+00] )
)
# note = "J12/76"
)
#-------------------------------------------------------------------------------
# N H SPECIES DATA
#-------------------------------------------------------------------------------
species(name = "NH3",
atoms = " N:1 H:3 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.286027400E+00, -4.660523000E-03,
2.171851300E-05, -2.280888700E-08, 8.263804600E-12,
-6.741728500E+03, -6.253727700E-01] ),
NASA( [ 1000.00, 6000.00], [ 2.634452100E+00, 5.666256000E-03,
-1.727867600E-06, 2.386716100E-10, -1.257878600E-14,
-6.544695800E+03, 6.566292800E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 2.92,
well_depth = 481.00,
dipole = 1.47,
rot_relax = 10.00),
note = "J 6/77"
)
species(name = "H2",
atoms = " H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
-9.179351730E+02, 6.830102380E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
-9.501589220E+02, -3.205023310E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 2.92,
well_depth = 38.00,
polar = 0.79,
rot_relax = 280.00),
note = "TPIS78"
)
species(name = "N2",
atoms = " N:2 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
-3.963222000E-06, 5.641515000E-09, -2.444854000E-12,
-1.020899900E+03, 3.950372000E+00] ),
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
-5.684760000E-07, 1.009703800E-10, -6.753351000E-15,
-9.227977000E+02, 5.980528000E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 3.62,
well_depth = 97.53,
polar = 1.76,
rot_relax = 4.00),
note = "121286"
)
species(name = "NH2",
atoms = " N:1 H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.204002900E+00, -2.106138500E-03,
7.106834800E-06, -5.611519700E-09, 1.644071700E-12,
2.188591000E+04, -1.418424800E-01] ),
NASA( [ 1000.00, 6000.00], [ 2.834742100E+00, 3.207308200E-03,
-9.339080400E-07, 1.370295300E-10, -7.920614400E-15,
2.217195700E+04, 6.520416300E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 2.65,
well_depth = 80.00,
polar = 2.26,
rot_relax = 4.00),
note = "And89"
)
species(name = "NH",
atoms = " N:1 H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.492908500E+00, 3.117919800E-04,
-1.489048400E-06, 2.481644200E-09, -1.035696700E-12,
4.188062900E+04, 1.848327800E+00] ),
NASA( [ 1000.00, 6000.00], [ 2.783692800E+00, 1.329843000E-03,
-4.247804700E-07, 7.834850100E-11, -5.504447000E-15,
4.212084800E+04, 5.740779900E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 2.65,
well_depth = 80.00,
rot_relax = 4.00),
note = "And94"
)
species(name = "NNH",
atoms = " N:2 H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.344692700E+00, -4.849707200E-03,
2.005945900E-05, -2.172646400E-08, 7.946953900E-12,
2.879197300E+04, 2.977941000E+00] ),
NASA( [ 1000.00, 6000.00], [ 3.766754400E+00, 2.891508200E-03,
-1.041662000E-06, 1.684259400E-10, -1.009189600E-14,
2.865069700E+04, 4.470506700E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.80,
well_depth = 71.40,
rot_relax = 1.00),
note = "T07/93"
)
species(name = "N2H4",
atoms = " N:2 H:4 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.834721490E+00, -6.491295550E-04,
3.768484630E-05, -5.007091820E-08, 2.033620640E-11,
1.008939250E+04, 5.752720300E+00] ),
NASA( [ 1000.00, 6000.00], [ 4.939573570E+00, 8.750171870E-03,
-2.993990580E-06, 4.672784180E-10, -2.730685990E-14,
9.282655480E+03, -2.694397720E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.53,
well_depth = 205,
rot_relax = 1.00),
# note = "L 5/90"
)
species(name = "N2H2",
atoms = " N:2 H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.344692700E+00, -4.849707200E-03,
2.005945900E-05, -2.172646400E-08, 7.946953900E-12,
2.879197300E+04, 2.977941000E+00] ),
NASA( [ 1000.00, 6000.00], [ 3.766754400E+00, 2.891508200E-03,
-1.041662000E-06, 1.684259400E-10, -1.009189600E-14,
2.865069700E+04, 4.470506700E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.45,
well_depth = 71.40,
rot_relax = 1.00),
note = "T07/93"
)
species(name = "N2H3",
atoms = " N:2 H:3 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.834721490E+00, -6.491295550E-04,
3.768484630E-05, -5.007091820E-08, 2.033620640E-11,
1.008939250E+04, 5.752720300E+00] ),
NASA( [ 1000.00, 6000.00], [ 4.939573570E+00, 8.750171870E-03,
-2.993990580E-06, 4.672784180E-10, -2.730685990E-14,
9.282655480E+03, -2.694397720E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.45,
well_depth = 200,
rot_relax = 1.00),
note = "T07/93"
)
species(name = "N",
atoms = " N:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
5.610463700E+04, 4.193908700E+00] ),
NASA( [ 1000.00, 6000.00], [ 2.415942900E+00, 1.748906500E-04,
-1.190236900E-07, 3.022624500E-11, -2.036098200E-15,
5.613377300E+04, 4.649609600E+00] )
),
transport = gas_transport(
geom = "atom",
diam = 3.30,
well_depth = 71.40),
note = "L 6/88"
)
species(name = "H",
atoms = " H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
2.547365990E+04, -4.466828530E-01] ),
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
2.547365990E+04, -4.466829140E-01] )
),
transport = gas_transport(
geom = "atom",
diam = 2.05,
well_depth = 145.00),
note = "L 7/88"
)
#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------
# Reaction 1
surface_reaction('NH3 + NI <=> NH + H2 + NI', [ 6.3e14, 0, 391*238.846 ])
# Reaction 2
reaction('NH3 + NH <=> 2 NH2', [ 3.16e14, 0, 112.08*238. ] )
# Reaction 3
reaction('NH2 + NH <=> NH3 + N', [ 1e13, 0, 8.37*238.846] )
# Reaction 4
reaction('NH3 + NH2 <=> N2H3 + H2', [ 1e11, 0.5, 90.43*238.846 ] )
# Reaction 5
reaction('NH + H2 <=> NH2 + H', [ 1e14, 0, 84.03*238.846 ] )
# Reaction 6
reaction('NH + H <=> N + H2', [ 3.2e13, 0, 1.36*238.846 ] )
# Reaction 7
three_body_reaction('N2H3 + NI <=> NH2 + NH + NI', [5E16, 0, 251.21*238.846])
# Reaction 8
three_body_reaction('N2H3 + NI <=> N2H2 + H + NI', [1e17, 0, 138.16*238.846])
# Reaction 9
three_body_reaction('N2H2 + NI <=> NNH + H + NI', [5e16, 0, 209.34*238.846])
# Reaction 10
three_body_reaction('NNH + NI <=> N2 + H + NI', [1e13, 0.5, 12.81*238.846])
# Reaction 11
reaction('N2H2 + NH2 <=> NH3 + NNH', [8.8E-2, 4.05, -6.75*238.846])
# Reaction 12
reaction('N2H2 + H <=> NNH + H2', [85e3, 2.63, -0.963*238.846])
# Reaction 13
reaction('2 NH2 + NI <=> N2H4 + NI', [4.23e16, 0, 0])
# Reaction 14
falloff_reaction('N2H4 (+ M) <=> 2 NH2 (+ M)',
kf = [5e14, 0, 251.21*238.846],
kf0 = [1.5e15, 0, 163.28*238.846])
# Reaction 15
three_body_reaction('N2H4 + NI <=> N2H3 + H + NI', [1e15, 0, 266.28*238.846])
# Reaction 16
reaction('N2H4 + NH <=> NH2 + N2H3', [1e9, 1.5, 8.37*238.846])
# Reaction 17
reaction('N2H4 + H <=> N2H3 + H2', [7e12, 0, 10.47*238.846])
# Reaction 18
reaction('N2H4 + N <=> N2H3 + NH', [1e10, 1, 8.37*238.846])
# Reaction 19
reaction('N2H4 + NH2 <=> N2H3 + NH3', [1.8e6, 1.71, -5.78*238.846])
# Reaction 20
reaction('NH3 + H <=> NH2 + H2', [5.42e5, 2.4, 41.53*238.846])
# Reaction 21
reaction('2 H + NI <=> H2 + NI', [3.51e17, 0, 0])
第二个问题(更多出于好奇)如果三体反应将M视为未定义的催化剂,比如说催化剂,那么我如何在cti文件中定义我的催化剂(Ni)。是因为我没有定义其他元素的覆盖率/效率值(默认为一个)
提前感谢您的帮助 ~JC
目前没有回答
相关问题 更多 >
编程相关推荐