Added a kinetics test suite with tests for P-log reactions
Added a sample mechanism file containing P-log and Chebyshev reactions.
This commit is contained in:
parent
510b25b884
commit
64ccd58680
5 changed files with 1109 additions and 1 deletions
|
|
@ -18,7 +18,10 @@ if 'LD_LIBRARY_PATH' in os.environ:
|
|||
def testRunner(target, source, env):
|
||||
"""SCons Action to run a compiled test program"""
|
||||
program = source[0]
|
||||
code = subprocess.call([program.abspath], env=env['ENV'])
|
||||
workDir = Dir('#test/work').abspath
|
||||
if not os.path.isdir(workDir):
|
||||
os.mkdir(workDir)
|
||||
code = subprocess.call([program.abspath], env=env['ENV'], cwd=workDir)
|
||||
if not code:
|
||||
open(target[0].path, 'w').write(time.asctime()+'\n')
|
||||
return code
|
||||
|
|
@ -115,6 +118,7 @@ def addMatlabTest(script, dependencies=None):
|
|||
|
||||
# Instantiate tests
|
||||
addTestProgram('thermo', 'nasapoly')
|
||||
addTestProgram('kinetics', 'pdep')
|
||||
|
||||
if localenv['python_package'] == 'full':
|
||||
addTestScript('python', 'runTests.py',
|
||||
|
|
|
|||
267
test/data/pdep-test.cti
Normal file
267
test/data/pdep-test.cti
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
units(length='cm', time='s', quantity='mol', act_energy='cal/mol')
|
||||
|
||||
ideal_gas(name='gas',
|
||||
elements="H C",
|
||||
species="""H R1A R1B P1 R2
|
||||
P2A P2B R3 P3A P3B
|
||||
R4 P4 R5 P5A P5B
|
||||
R6 P6A P6B""",
|
||||
reactions='all',
|
||||
initial_state=state(temperature=300.0, pressure=OneAtm))
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name='H',
|
||||
atoms='H:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 2.50000000E+00, 7.05332819E-13, -1.99591964E-15,
|
||||
2.30081632E-18, -9.27732332E-22, 2.54736599E+04,
|
||||
-4.46682853E-01]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 2.50000001E+00, -2.30842973E-11, 1.61561948E-14,
|
||||
-4.73515235E-18, 4.98197357E-22, 2.54736599E+04,
|
||||
-4.46682914E-01])))
|
||||
|
||||
species(name='R1A',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R1B',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P1',
|
||||
atoms='H:7 C:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R2',
|
||||
atoms='H:7 C:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P2A',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P2B',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R3',
|
||||
atoms='H:7 C:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P3A',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P3B',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R4',
|
||||
atoms='H:3 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P4',
|
||||
atoms='H:3 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R5',
|
||||
atoms='H:7 C:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P5A',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P5B',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='R6',
|
||||
atoms='H:8 C:2',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P6A',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
species(name='P6B',
|
||||
atoms='H:4 C:1',
|
||||
thermo=(NASA([200.00, 1000.00],
|
||||
[ 5.14987613E+00, -1.36709788E-02, 4.91800599E-05,
|
||||
-4.84743026E-08, 1.66693956E-11, -1.02466476E+04,
|
||||
-4.64130376E+00]),
|
||||
NASA([1000.00, 3500.00],
|
||||
[ 7.48514950E-02, 1.33909467E-02, -5.73285809E-06,
|
||||
1.22292535E-09, -1.01815230E-13, -9.46834459E+03,
|
||||
1.84373180E+01])))
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
pdep_arrhenius('R1A + R1B <=> P1 + H',
|
||||
[(0.01, 'atm'), 1.212400e+16, -0.5779, 10872.7],
|
||||
[(1.0, 'atm'), 4.910800e+31, -4.8507, 24772.8],
|
||||
[(10.0, 'atm'), 1.286600e+47, -9.0246, 39796.5],
|
||||
[(100.0, 'atm'), 5.963200e+56, -11.529, 52599.6])
|
||||
|
||||
# Reaction 2
|
||||
pdep_arrhenius('H + R2 <=> P2A + P2B',
|
||||
[(0.001316, 'atm'), 1.230000e+08, 1.53, 4737.0],
|
||||
[(0.039474, 'atm'), 2.720000e+09, 1.2, 6834.0],
|
||||
[(1.0, 'atm'), 1.260000e+20, -1.83, 15003.0],
|
||||
[(1.0, 'atm'), 1.230000e+04, 2.68, 6335.0],
|
||||
[(10.0, 'atm'), 1.680000e+16, -0.6, 14754.0],
|
||||
[(10.0, 'atm'), 3.310000e+08, 1.14, 8886.0],
|
||||
[(100.0, 'atm'), 1.370000e+17, -0.79, 17603.0],
|
||||
[(100.0, 'atm'), 1.280000e+06, 1.71, 9774.0])
|
||||
|
||||
# Reaction 3
|
||||
pdep_arrhenius('H + R3 <=> P3A + P3B',
|
||||
[(0.001315789, 'atm'), 2.440000e+10, 1.04, 3980.0],
|
||||
[(0.039473684, 'atm'), 3.890000e+10, 0.989, 4114.0],
|
||||
[(1.0, 'atm'), 3.460000e+12, 0.442, 5463.0],
|
||||
[(10.0, 'atm'), 1.720000e+14, -0.01, 7134.0],
|
||||
[(100.0, 'atm'), -7.410000e+30, -5.54, 12108.0],
|
||||
[(100.0, 'atm'), 1.900000e+15, -0.29, 8306.0])
|
||||
|
||||
# Reaction 4
|
||||
pdep_arrhenius('H + R4 <=> H + P4',
|
||||
[(10.0, 'atm'), 1.740000e+07, 1.98, 4521.0])
|
||||
|
||||
# Reaction 5
|
||||
chebyshev_reaction('R5 + H (+ M) <=> P5A + P5B (+ M)',
|
||||
Tmin=300.0, Tmax=2000.0,
|
||||
Pmin=(0.0098692326671601278, 'atm'), Pmax=(98.692326671601279, 'atm'),
|
||||
coeffs=[[ 8.28830e+00, -1.13970e+00, -1.20590e-01, 1.60340e-02],
|
||||
[ 1.97640e+00, 1.00370e+00, 7.28650e-03, -3.04320e-02],
|
||||
[ 3.17700e-01, 2.68890e-01, 9.48060e-02, -7.63850e-03],
|
||||
[-3.12850e-02, -3.94120e-02, 4.43750e-02, 1.44580e-02]])
|
||||
|
||||
# Reaction 6
|
||||
chebyshev_reaction('R6 (+ M) <=> P6A + P6B (+ M)',
|
||||
Tmin=290.0, Tmax=3000.0,
|
||||
Pmin=(0.0098692326671601278, 'atm'), Pmax=(98.692326671601279, 'atm'),
|
||||
coeffs=[[-1.44280e+01, 2.59970e-01, -2.24320e-02, -2.78700e-03],
|
||||
[ 2.20630e+01, 4.88090e-01, -3.96430e-02, -5.48110e-03],
|
||||
[-2.32940e-01, 4.01900e-01, -2.60730e-02, -5.04860e-03],
|
||||
[-2.93660e-01, 2.85680e-01, -9.33730e-03, -4.01020e-03],
|
||||
[-2.26210e-01, 1.69190e-01, 4.85810e-03, -2.38030e-03],
|
||||
[-1.43220e-01, 7.71110e-02, 1.27080e-02, -6.41540e-04]])
|
||||
149
test/data/pdep-test.inp
Normal file
149
test/data/pdep-test.inp
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
ELEMENTS
|
||||
H C AR
|
||||
END
|
||||
|
||||
SPECIES
|
||||
H
|
||||
R1A R1B P1
|
||||
R2 P2A P2B
|
||||
R3 P3A P3B
|
||||
R4 P4
|
||||
R5 P5A P5B
|
||||
R6 P6A P6B
|
||||
END
|
||||
|
||||
THERMO ALL
|
||||
300.000 1000.000 5000.000
|
||||
! NOTE: All of this thermo data is bogus
|
||||
H H 1 G 200.000 3500.000 1000.000 1
|
||||
2.50000001E+00-2.30842973E-11 1.61561948E-14-4.73515235E-18 4.98197357E-22 2
|
||||
2.54736599E+04-4.46682914E-01 2.50000000E+00 7.05332819E-13-1.99591964E-15 3
|
||||
2.30081632E-18-9.27732332E-22 2.54736599E+04-4.46682853E-01 4
|
||||
|
||||
R1A C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
R1B C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P1 C 2H 7 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
|
||||
R2 C 2H 7 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P2A C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P2B C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
|
||||
R3 C 2H 7 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P3A C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P3B C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
|
||||
R4 C 1H 3 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P4 C 1H 3 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
|
||||
R5 C 2H 7 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P5A C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P5B C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
|
||||
R6 C 2H 8 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P6A C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
P6B C 1H 4 G 200.000 3500.000 1000.000 1
|
||||
7.48514950E-02 1.33909467E-02-5.73285809E-06 1.22292535E-09-1.01815230E-13 2
|
||||
-9.46834459E+03 1.84373180E+01 5.14987613E+00-1.36709788E-02 4.91800599E-05 3
|
||||
-4.84743026E-08 1.66693956E-11-1.02466476E+04-4.64130376E+00 4
|
||||
END
|
||||
|
||||
REACTIONS
|
||||
! Single PLOG reaction
|
||||
R1A+R1B=P1+H 1.0 0.0 0.0
|
||||
PLOG / 0.01 1.2124e+16 -0.5779 10872.7 /
|
||||
PLOG / 1 4.9108e+31 -4.8507 24772.8 /
|
||||
PLOG / 10 1.2866e+47 -9.0246 39796.5 /
|
||||
PLOG / 100 5.9632e+56 -11.5290 52599.6 /
|
||||
|
||||
! Multiple PLOG expressions at the same pressure
|
||||
H+R2=P2A+P2B 1.0 0.0 0.0
|
||||
PLOG / 0.001316 1.23e+08 1.53 4737 /
|
||||
PLOG / 0.039474 2.72e+09 1.20 6834 /
|
||||
PLOG / 1 1.26e+20 -1.83 15003 /
|
||||
PLOG / 1 1.23E+04 2.68 6335 /
|
||||
PLOG / 10 1.68e+16 -0.60 14754 /
|
||||
PLOG / 10 3.31E+08 1.14 8886 /
|
||||
PLOG / 100 1.37e+17 -0.79 17603 /
|
||||
PLOG / 100 1.28E+06 1.71 9774 /
|
||||
|
||||
! PLOG with duplicate rates and negative A-factors
|
||||
H+R3=P3A+P3B 1.0 0.0 0.0
|
||||
PLOG / 0.001315789 2.44E+10 1.04 3980 /
|
||||
PLOG / 0.039473684 3.89E+10 0.989 4114 /
|
||||
PLOG / 1 3.46E+12 0.442 5463 /
|
||||
PLOG / 10 1.72E+14 -0.01 7134 /
|
||||
PLOG / 100 -7.41E+30 -5.54 12108 /
|
||||
PLOG / 100 1.90E+15 -0.29 8306 /
|
||||
|
||||
! Degenerate PLOG with a single rate expression
|
||||
H+R4=H+P4 1.0 0.0 0.0
|
||||
PLOG / 10 1.74e+07 1.98 4521 /
|
||||
|
||||
! Bimolecular CHEB
|
||||
R5+H(+m)=P5A+P5B(+m) 1.0E0 0.0 0.0
|
||||
TCHEB / 300.0 2000.0 / PCHEB / 0.009869232667160128 98.69232667160128 /
|
||||
CHEB / 4 4 /
|
||||
CHEB / 8.2883000e+00 -1.1397000e+00 -1.2059000e-01 1.6034000e-02 /
|
||||
CHEB / 1.9764000e+00 1.0037000e+00 7.2865000e-03 -3.0432000e-02 /
|
||||
CHEB / 3.1770000e-01 2.6889000e-01 9.4806000e-02 -7.6385000e-03 /
|
||||
CHEB / -3.1285000e-02 -3.9412000e-02 4.4375000e-02 1.4458000e-02 /
|
||||
|
||||
! Unimolecular decomposition CHEB
|
||||
R6(+M)=P6A+P6B(+M) 1.000e+00 0.000 0.000
|
||||
TCHEB / 290.0 3000.0 / PCHEB / 0.009869232667160128 98.69232667160128 /
|
||||
CHEB / 6 4 /
|
||||
CHEB / -1.4428000e+01 2.5997000e-01 -2.2432000e-02 -2.7870000e-03 /
|
||||
CHEB / 2.2063000e+01 4.8809000e-01 -3.9643000e-02 -5.4811000e-03 /
|
||||
CHEB / -2.3294000e-01 4.0190000e-01 -2.6073000e-02 -5.0486000e-03 /
|
||||
CHEB / -2.9366000e-01 2.8568000e-01 -9.3373000e-03 -4.0102000e-03 /
|
||||
CHEB / -2.2621000e-01 1.6919000e-01 4.8581000e-03 -2.3803000e-03 /
|
||||
CHEB / -1.4322000e-01 7.7111000e-02 1.2708000e-02 -6.4154000e-04 /
|
||||
END
|
||||
522
test/data/pdep-test.xml
Normal file
522
test/data/pdep-test.xml
Normal file
|
|
@ -0,0 +1,522 @@
|
|||
<?xml version="1.0"?>
|
||||
<ctml>
|
||||
<validate reactions="yes" species="yes"/>
|
||||
|
||||
<!-- phase gas -->
|
||||
<phase dim="3" id="gas">
|
||||
<elementArray datasrc="elements.xml">H C</elementArray>
|
||||
<speciesArray datasrc="#species_data">
|
||||
H R1A R1B P1 R2
|
||||
P2A P2B R3 P3A P3B
|
||||
R4 P4 R5 P5A P5B
|
||||
R6 P6A P6B</speciesArray>
|
||||
<reactionArray datasrc="#reaction_data"/>
|
||||
<state>
|
||||
<temperature units="K">300.0</temperature>
|
||||
<pressure units="Pa">101325.0</pressure>
|
||||
</state>
|
||||
<thermo model="IdealGas"/>
|
||||
<kinetics model="GasKinetics"/>
|
||||
<transport model="None"/>
|
||||
</phase>
|
||||
|
||||
<!-- species definitions -->
|
||||
<speciesData id="species_data">
|
||||
|
||||
<!-- species H -->
|
||||
<species name="H">
|
||||
<atomArray>H:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
2.500000000E+00, 7.053328190E-13, -1.995919640E-15, 2.300816320E-18,
|
||||
-9.277323320E-22, 2.547365990E+04, -4.466828530E-01</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
2.500000010E+00, -2.308429730E-11, 1.615619480E-14, -4.735152350E-18,
|
||||
4.981973570E-22, 2.547365990E+04, -4.466829140E-01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R1A -->
|
||||
<species name="R1A">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R1B -->
|
||||
<species name="R1B">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P1 -->
|
||||
<species name="P1">
|
||||
<atomArray>H:7 C:2 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R2 -->
|
||||
<species name="R2">
|
||||
<atomArray>H:7 C:2 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P2A -->
|
||||
<species name="P2A">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P2B -->
|
||||
<species name="P2B">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R3 -->
|
||||
<species name="R3">
|
||||
<atomArray>H:7 C:2 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P3A -->
|
||||
<species name="P3A">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P3B -->
|
||||
<species name="P3B">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R4 -->
|
||||
<species name="R4">
|
||||
<atomArray>H:3 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P4 -->
|
||||
<species name="P4">
|
||||
<atomArray>H:3 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R5 -->
|
||||
<species name="R5">
|
||||
<atomArray>H:7 C:2 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P5A -->
|
||||
<species name="P5A">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P5B -->
|
||||
<species name="P5B">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species R6 -->
|
||||
<species name="R6">
|
||||
<atomArray>H:8 C:2 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P6A -->
|
||||
<species name="P6A">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species P6B -->
|
||||
<species name="P6B">
|
||||
<atomArray>H:4 C:1 </atomArray>
|
||||
<thermo>
|
||||
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
5.149876130E+00, -1.367097880E-02, 4.918005990E-05, -4.847430260E-08,
|
||||
1.666939560E-11, -1.024664760E+04, -4.641303760E+00</floatArray>
|
||||
</NASA>
|
||||
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
|
||||
<floatArray name="coeffs" size="7">
|
||||
7.485149500E-02, 1.339094670E-02, -5.732858090E-06, 1.222925350E-09,
|
||||
-1.018152300E-13, -9.468344590E+03, 1.843731800E+01</floatArray>
|
||||
</NASA>
|
||||
</thermo>
|
||||
</species>
|
||||
</speciesData>
|
||||
<reactionData id="reaction_data">
|
||||
|
||||
<!-- reaction 0001 -->
|
||||
<reaction reversible="yes" type="plog" id="0001">
|
||||
<equation>R1A + R1B [=] P1 + H</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.212400E+13</A>
|
||||
<b>-0.57789999999999997</b>
|
||||
<E units="cal/mol">10872.700000</E>
|
||||
<P units="atm">0.01</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>4.910800E+28</A>
|
||||
<b>-4.8506999999999998</b>
|
||||
<E units="cal/mol">24772.800000</E>
|
||||
<P units="atm">1.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.286600E+44</A>
|
||||
<b>-9.0245999999999995</b>
|
||||
<E units="cal/mol">39796.500000</E>
|
||||
<P units="atm">10.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>5.963200E+53</A>
|
||||
<b>-11.529</b>
|
||||
<E units="cal/mol">52599.600000</E>
|
||||
<P units="atm">100.0</P>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>R1B:1 R1A:1.0</reactants>
|
||||
<products>H:1 P1:1.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0002 -->
|
||||
<reaction reversible="yes" type="plog" id="0002">
|
||||
<equation>H + R2 [=] P2A + P2B</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.230000E+05</A>
|
||||
<b>1.53</b>
|
||||
<E units="cal/mol">4737.000000</E>
|
||||
<P units="atm">0.0013159999999999999</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>2.720000E+06</A>
|
||||
<b>1.2</b>
|
||||
<E units="cal/mol">6834.000000</E>
|
||||
<P units="atm">0.039474000000000002</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.260000E+17</A>
|
||||
<b>-1.8300000000000001</b>
|
||||
<E units="cal/mol">15003.000000</E>
|
||||
<P units="atm">1.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.230000E+01</A>
|
||||
<b>2.6800000000000002</b>
|
||||
<E units="cal/mol">6335.000000</E>
|
||||
<P units="atm">1.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.680000E+13</A>
|
||||
<b>-0.59999999999999998</b>
|
||||
<E units="cal/mol">14754.000000</E>
|
||||
<P units="atm">10.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>3.310000E+05</A>
|
||||
<b>1.1399999999999999</b>
|
||||
<E units="cal/mol">8886.000000</E>
|
||||
<P units="atm">10.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.370000E+14</A>
|
||||
<b>-0.79000000000000004</b>
|
||||
<E units="cal/mol">17603.000000</E>
|
||||
<P units="atm">100.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.280000E+03</A>
|
||||
<b>1.71</b>
|
||||
<E units="cal/mol">9774.000000</E>
|
||||
<P units="atm">100.0</P>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H:1.0 R2:1</reactants>
|
||||
<products>P2A:1.0 P2B:1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0003 -->
|
||||
<reaction reversible="yes" type="plog" id="0003">
|
||||
<equation>H + R3 [=] P3A + P3B</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>2.440000E+07</A>
|
||||
<b>1.04</b>
|
||||
<E units="cal/mol">3980.000000</E>
|
||||
<P units="atm">0.0013157889999999999</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>3.890000E+07</A>
|
||||
<b>0.98899999999999999</b>
|
||||
<E units="cal/mol">4114.000000</E>
|
||||
<P units="atm">0.039473684000000002</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>3.460000E+09</A>
|
||||
<b>0.442</b>
|
||||
<E units="cal/mol">5463.000000</E>
|
||||
<P units="atm">1.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.720000E+11</A>
|
||||
<b>-0.01</b>
|
||||
<E units="cal/mol">7134.000000</E>
|
||||
<P units="atm">10.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>-7.410000E+27</A>
|
||||
<b>-5.54</b>
|
||||
<E units="cal/mol">12108.000000</E>
|
||||
<P units="atm">100.0</P>
|
||||
</Arrhenius>
|
||||
<Arrhenius>
|
||||
<A>1.900000E+12</A>
|
||||
<b>-0.28999999999999998</b>
|
||||
<E units="cal/mol">8306.000000</E>
|
||||
<P units="atm">100.0</P>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H:1.0 R3:1</reactants>
|
||||
<products>P3B:1 P3A:1.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0004 -->
|
||||
<reaction reversible="yes" type="plog" id="0004">
|
||||
<equation>H + R4 [=] H + P4</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.740000E+04</A>
|
||||
<b>1.98</b>
|
||||
<E units="cal/mol">4521.000000</E>
|
||||
<P units="atm">10.0</P>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>R4:1 H:1.0</reactants>
|
||||
<products>H:1.0 P4:1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0005 -->
|
||||
<reaction reversible="yes" type="chebyshev" id="0005">
|
||||
<equation>R5 + H (+ M) [=] P5A + P5B (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Tmin>300.0</Tmin>
|
||||
<Tmax>2000.0</Tmax>
|
||||
<Pmin units="atm">0.0098692326671601278</Pmin>
|
||||
<Pmax units="atm">98.692326671601279</Pmax>
|
||||
<floatArray degreeT="4" name="coeffs" degreeP="4">
|
||||
5.28830e+00, -1.13970e+00, -1.20590e-01, 1.60340e-02,
|
||||
1.97640e+00, 1.00370e+00, 7.28650e-03, -3.04320e-02,
|
||||
3.17700e-01, 2.68890e-01, 9.48060e-02, -7.63850e-03,
|
||||
-3.12850e-02, -3.94120e-02, 4.43750e-02, 1.44580e-02</floatArray>
|
||||
</rateCoeff>
|
||||
<reactants>R5:1.0 H:1</reactants>
|
||||
<products>P5A:1.0 P5B:1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0006 -->
|
||||
<reaction reversible="yes" type="chebyshev" id="0006">
|
||||
<equation>R6 (+ M) [=] P6A + P6B (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Tmin>290.0</Tmin>
|
||||
<Tmax>3000.0</Tmax>
|
||||
<Pmin units="atm">0.0098692326671601278</Pmin>
|
||||
<Pmax units="atm">98.692326671601279</Pmax>
|
||||
<floatArray degreeT="6" name="coeffs" degreeP="4">
|
||||
-1.44280e+01, 2.59970e-01, -2.24320e-02, -2.78700e-03,
|
||||
2.20630e+01, 4.88090e-01, -3.96430e-02, -5.48110e-03,
|
||||
-2.32940e-01, 4.01900e-01, -2.60730e-02, -5.04860e-03,
|
||||
-2.93660e-01, 2.85680e-01, -9.33730e-03, -4.01020e-03,
|
||||
-2.26210e-01, 1.69190e-01, 4.85810e-03, -2.38030e-03,
|
||||
-1.43220e-01, 7.71110e-02, 1.27080e-02, -6.41540e-04</floatArray>
|
||||
</rateCoeff>
|
||||
<reactants>R6:1.0</reactants>
|
||||
<products>P6A:1.0 P6B:1</products>
|
||||
</reaction>
|
||||
</reactionData>
|
||||
</ctml>
|
||||
166
test/kinetics/pdep.cpp
Normal file
166
test/kinetics/pdep.cpp
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
#include "gtest/gtest.h"
|
||||
#include "cantera/kinetics/importKinetics.h"
|
||||
#include "cantera/thermo/IdealGasPhase.h"
|
||||
#include "cantera/kinetics/GasKinetics.h"
|
||||
|
||||
namespace Cantera
|
||||
{
|
||||
|
||||
class PdepTest : public testing::Test
|
||||
{
|
||||
public:
|
||||
PdepTest() {}
|
||||
|
||||
static void SetUpTestCase() {
|
||||
XML_Node* phase_node = get_XML_File("../data/pdep-test.xml");
|
||||
|
||||
thermo_ = new IdealGasPhase();
|
||||
kin_ = new GasKinetics();
|
||||
|
||||
buildSolutionFromXML(*phase_node, "gas", "phase", thermo_, kin_);
|
||||
}
|
||||
|
||||
static void TearDownTestCase() {
|
||||
delete thermo_;
|
||||
thermo_ = NULL;
|
||||
|
||||
delete kin_;
|
||||
kin_ = NULL;
|
||||
}
|
||||
|
||||
void SetUp() {
|
||||
std::string Xref = "H:1.0, R1A:1.0, R1B:1.0, R2:1.0, "
|
||||
"R3:1.0, R4:1.0, R5:1.0, R6:1.0";
|
||||
|
||||
thermo_->setState_TPX(900.0, 101325 * 8.0, Xref);
|
||||
}
|
||||
|
||||
protected:
|
||||
static ThermoPhase* thermo_;
|
||||
static Kinetics* kin_;
|
||||
|
||||
void set_TP(double T, double P) {
|
||||
T_ = T;
|
||||
RT_ = GasConstant / 4184.0 * T;
|
||||
P_ = P;
|
||||
thermo_->setState_TP(T_, P_);
|
||||
}
|
||||
|
||||
double k(double A, double n, double Ea) {
|
||||
return A * pow(T_, n) * exp(-Ea/RT_);
|
||||
}
|
||||
double T_, RT_, P_;
|
||||
};
|
||||
|
||||
ThermoPhase* PdepTest::thermo_ = NULL;
|
||||
Kinetics* PdepTest::kin_ = NULL;
|
||||
|
||||
TEST_F(PdepTest, reactionCounts) {
|
||||
EXPECT_EQ(6, kin_->nReactions());
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogLowPressure) {
|
||||
// Test that P-log reactions have the right low-pressure limit
|
||||
set_TP(500.0, 1e-7);
|
||||
vector_fp kf(6);
|
||||
kin_->getFwdRateConstants(&kf[0]);
|
||||
|
||||
// Pre-exponential factor decreases by 10^3 for second-order reaction
|
||||
// when converting from cm + mol to m + kmol
|
||||
double kf0 = k(1.212400e+13, -0.5779, 10872.7);
|
||||
double kf1 = k(1.230000e+05, 1.53, 4737.0);
|
||||
double kf2 = k(2.440000e+7, 1.04, 3980.0);
|
||||
double kf3 = k(1.740000e+04, 1.98, 4521.0);
|
||||
|
||||
EXPECT_NEAR(kf0, kf[0], 1e-9 * kf0);
|
||||
EXPECT_NEAR(kf1, kf[1], 1e-9 * kf1);
|
||||
EXPECT_NEAR(kf2, kf[2], 1e-9 * kf2);
|
||||
EXPECT_NEAR(kf3, kf[3], 1e-9 * kf3);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogHighPressure) {
|
||||
// Test that P-log reactions have the right high-pressure limit
|
||||
set_TP(500.0, 1e10);
|
||||
vector_fp kf(6);
|
||||
kin_->getFwdRateConstants(&kf[0]);
|
||||
|
||||
// Pre-exponential factor decreases by 10^3 for second-order reaction
|
||||
// when converting from cm + mol to m + kmol
|
||||
double kf0 = k(5.963200e+53, -11.529, 52599.6);
|
||||
double kf3 = k(1.740000e+04, 1.98, 4521.0);
|
||||
|
||||
EXPECT_NEAR(kf0, kf[0], 1e-9 * kf0);
|
||||
EXPECT_NEAR(kf3, kf[3], 1e-9 * kf3);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogDuplicatePressures) {
|
||||
// Test that multiple rate expressions are combined when necessary
|
||||
set_TP(500.0, 1e10);
|
||||
vector_fp kf(6);
|
||||
|
||||
kin_->getFwdRateConstants(&kf[0]);
|
||||
double kf1 = k(1.3700e+14, -0.79, 17603.0) + k(1.2800e+03, 1.71, 9774.0);
|
||||
double kf2 = k(-7.4100e+27, -5.54, 12108.0) + k(1.9000e+12, -0.29, 8306.0);
|
||||
|
||||
EXPECT_NEAR(kf1, kf[1], 1e-9 * kf1);
|
||||
EXPECT_NEAR(kf2, kf[2], 1e-9 * kf2);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogCornerCases) {
|
||||
// Test rate evaluation at the corner cases where the pressure
|
||||
// is exactly of the specified interpolation values
|
||||
set_TP(500.0, 101325);
|
||||
vector_fp kf(6);
|
||||
kin_->getFwdRateConstants(&kf[0]);
|
||||
|
||||
double kf0 = k(4.910800e+28, -4.8507, 24772.8);
|
||||
double kf1 = k(1.2600e+17, -1.83, 15003.0) + k(1.2300e+01, 2.68, 6335.0);
|
||||
double kf2 = k(3.4600e+9, 0.442, 5463.0);
|
||||
|
||||
EXPECT_NEAR(kf0, kf[0], 1e-9 * kf0);
|
||||
EXPECT_NEAR(kf1, kf[1], 1e-9 * kf1);
|
||||
EXPECT_NEAR(kf2, kf[2], 1e-9 * kf2);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogIntermediatePressure1) {
|
||||
set_TP(1100.0, 20*101325);
|
||||
vector_fp ropf(6);
|
||||
kin_->getFwdRatesOfProgress(&ropf[0]);
|
||||
|
||||
// Expected rates computed using Chemkin
|
||||
// ROP increases by 10**3 when converting from mol/cm3 to kmol/m3
|
||||
EXPECT_NEAR(3.100682e+05, ropf[0], 1e2);
|
||||
EXPECT_NEAR(2.006871e+05, ropf[1], 1e2);
|
||||
EXPECT_NEAR(4.468658e+06, ropf[2], 1e2);
|
||||
EXPECT_NEAR(1.774796e+06, ropf[3], 1e2);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogIntermediatePressure2) {
|
||||
thermo_->setState_TP(1100.0, 0.5*101325);
|
||||
vector_fp ropf(6);
|
||||
kin_->getFwdRatesOfProgress(&ropf[0]);
|
||||
|
||||
EXPECT_NEAR(5.244649e+02, ropf[0], 5e-2);
|
||||
EXPECT_NEAR(2.252537e+02, ropf[1], 2e-2);
|
||||
EXPECT_NEAR(2.985338e+03, ropf[2], 3e-1);
|
||||
EXPECT_NEAR(1.109248e+03, ropf[3], 1e-1);
|
||||
}
|
||||
|
||||
TEST_F(PdepTest, PlogIntermediatePressure3) {
|
||||
thermo_->setState_TP(800.0, 70*101325);
|
||||
vector_fp ropf(6);
|
||||
kin_->getFwdRatesOfProgress(&ropf[0]);
|
||||
|
||||
EXPECT_NEAR(2.274501e+04, ropf[0], 1e+1);
|
||||
EXPECT_NEAR(2.307191e+05, ropf[1], 1e+2);
|
||||
EXPECT_NEAR(2.224601e+07, ropf[2], 1e+3);
|
||||
EXPECT_NEAR(1.007440e+07, ropf[3], 1e+3);
|
||||
}
|
||||
} // namespace Cantera
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
printf("Running main() from pdep.cpp\n");
|
||||
testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue