[UnitTests] Simplify Blowers-Masel input

This commit is contained in:
Ingmar Schoegl
2022-02-15 12:53:51 -06:00
committed by Ray Speth
parent e870584973
commit 87167a4c8e
3 changed files with 27 additions and 176 deletions

View File

@@ -1,116 +0,0 @@
description: |-
This is a test input file for Motz Wise correction for interface
Blowers Masel reaction tests. This file is tweaked from the model
made by Deutschmann, and it has no physical sense, which should only
be used for tests.
See https://www.detchem.com/mechanisms for original model.
Ref:- 1.) Deutschmann et al., 26th Symp. (Intl.) on Combustion, 1996
pp. 1747-1754
-----------------------------------------------------------------------
generator: cti2yaml
cantera-version: 2.5.0
date: Wed, 11 Dec 2019 16:59:14 -0500
input-files: [ptcombust.cti]
units: {length: cm, quantity: mol, activation-energy: J/mol}
phases:
- name: gas
thermo: ideal-gas
elements: [O, H, C, N, Ar]
species:
- gri30.yaml/species: [H2, H, O, O2, OH, H2O, HO2, H2O2, C, CH, CH2, CH2(S),
CH3, CH4, CO, CO2, HCO, CH2O, CH2OH, CH3O, CH3OH, C2H, C2H2, C2H3,
C2H4, C2H5, C2H6, HCCO, CH2CO, HCCOH, AR, N2]
skip-undeclared-elements: true
kinetics: gas
reactions:
- gri30.yaml/reactions: declared-species
transport: mixture-averaged
state:
T: 300.0
P: 1.01325e+05
X: {CH4: 0.095, O2: 0.21, AR: 0.79}
- name: Pt_surf
thermo: ideal-surface
adjacent-phases: [gas]
elements: [Pt, H, O, C]
species: [PT(S), H(S), H2O(S), OH(S), O(S)]
Motz-Wise: true
kinetics: surface
reactions: all
state:
T: 900.0
coverages: {O(S): 0.0, PT(S): 0.5, H(S): 0.5}
site-density: 2.7063e-09
species:
- name: PT(S)
composition: {Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
- [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
- name: H(S)
composition: {H: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-1.3029877, 5.4173199e-03, 3.1277972e-07, -3.2328533e-09, 1.136282e-12,
-4227.7075, 5.8743238]
- [1.0696996, 1.543223e-03, -1.5500922e-07, -1.6573165e-10, 3.8359347e-14,
-5054.6128, -7.1555238]
- name: H2O(S)
composition: {O: 1, H: 2, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-2.7651553, 0.013315115, 1.0127695e-06, -7.1820083e-09, 2.2813776e-12,
-3.6398055e+04, 12.098145]
- [2.5803051, 4.9570827e-03, -4.6894056e-07, -5.2633137e-10, 1.1998322e-13,
-3.8302234e+04, -17.406322]
- name: OH(S)
composition: {O: 1, H: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-2.0340881, 9.3662683e-03, 6.6275214e-07, -5.2074887e-09, 1.7088735e-12,
-2.5319949e+04, 8.9863186]
- [1.8249973, 3.2501565e-03, -3.1197541e-07, -3.4603206e-10, 7.9171472e-14,
-2.6685492e+04, -12.280891]
- name: O(S)
composition: {O: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-0.94986904, 7.4042305e-03, -1.0451424e-06, -6.112042e-09, 3.3787992e-12,
-1.3209912e+04, 3.6137905]
- [1.945418, 9.1761647e-04, -1.1226719e-07, -9.9099624e-11, 2.4307699e-14,
-1.4005187e+04, -11.531663]
reactions:
- equation: 2 H(S) => H2 + 2 PT(S) # Reaction 1
type: Blowers-Masel
rate-constant: {A: 3.7e+21, b: 0, Ea0: 67400, w: 1000000}
coverage-dependencies:
H(S): {a: 0.0, m: 0.0, E: -6000.0}
- equation: H + PT(S) => H(S) # Reaction 2
type: Blowers-Masel
sticking-coefficient: {A: 1.0, b: 0, Ea0: 0, w: 1000000}
- equation: H2O + PT(S) => H2O(S) # Reaction 3
type: Blowers-Masel
sticking-coefficient: {A: 0.75, b: 0, Ea0: 0, w: 1000000}
- equation: O2 + 2 PT(S) => 2 O(S) # Reaction 4
type: Blowers-Masel
sticking-coefficient: {A: 0.023, b: 0, Ea0: 0, w: 1000000}
Motz-Wise: false
- equation: OH + PT(S) => OH(S) # Reaction 5
type: Blowers-Masel
sticking-coefficient: {A: 1.0, b: 0, Ea0: 0, w: 100000}
Motz-Wise: true

View File

@@ -1,12 +1,13 @@
description: |-
This is a test input file for interface Blowers Masel reaction tests.
This file is tweaked from the model made by Deutschmann, and it has
no physical sense, which should only be used for tests.
While input data are adapted from Deutschmann et al., they are not
physically relevant, and thus should only be used for testing purposes.
See https://www.detchem.com/mechanisms for original model.
Ref:- 1.) Deutschmann et al., 26th Symp. (Intl.) on Combustion, 1996
pp. 1747-1754
-----------------------------------------------------------------------
generator: cti2yaml
-----------------------------------------------------------------------
generator: cti2yaml + manual edits
cantera-version: 2.5.0
date: Wed, 11 Dec 2019 16:59:14 -0500
input-files: [ptcombust.cti]
@@ -30,63 +31,27 @@ phases:
thermo: ideal-surface
adjacent-phases: [gas]
elements: [Pt, H, O, C]
species: [{Pt-surf-species: all}]
species:
- ptcombust.yaml/species: [PT(S), H(S), H2O(S), OH(S), O(S)]
kinetics: surface
reactions: [Pt-reactions]
state:
T: 900.0
coverages: {O(S): 0.0, PT(S): 0.5, H(S): 0.5}
site-density: 2.7063e-09
Pt-surf-species:
- name: PT(S)
composition: {Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
- [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
- name: H(S)
composition: {H: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-1.3029877, 5.4173199e-03, 3.1277972e-07, -3.2328533e-09, 1.136282e-12,
-4227.7075, 5.8743238]
- [1.0696996, 1.543223e-03, -1.5500922e-07, -1.6573165e-10, 3.8359347e-14,
-5054.6128, -7.1555238]
- name: H2O(S)
composition: {O: 1, H: 2, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-2.7651553, 0.013315115, 1.0127695e-06, -7.1820083e-09, 2.2813776e-12,
-3.6398055e+04, 12.098145]
- [2.5803051, 4.9570827e-03, -4.6894056e-07, -5.2633137e-10, 1.1998322e-13,
-3.8302234e+04, -17.406322]
- name: OH(S)
composition: {O: 1, H: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-2.0340881, 9.3662683e-03, 6.6275214e-07, -5.2074887e-09, 1.7088735e-12,
-2.5319949e+04, 8.9863186]
- [1.8249973, 3.2501565e-03, -3.1197541e-07, -3.4603206e-10, 7.9171472e-14,
-2.6685492e+04, -12.280891]
- name: O(S)
composition: {O: 1, Pt: 1}
thermo:
model: NASA7
temperature-ranges: [300.0, 1000.0, 3000.0]
data:
- [-0.94986904, 7.4042305e-03, -1.0451424e-06, -6.112042e-09, 3.3787992e-12,
-1.3209912e+04, 3.6137905]
- [1.945418, 9.1761647e-04, -1.1226719e-07, -9.9099624e-11, 2.4307699e-14,
-1.4005187e+04, -11.531663]
- name: Pt_motz_wise
thermo: ideal-surface
adjacent-phases: [gas]
elements: [Pt, H, O, C]
species:
- ptcombust.yaml/species: [PT(S), H(S), H2O(S), OH(S), O(S)]
kinetics: surface
reactions: [Pt-reactions]
state:
T: 900.0
coverages: {O(S): 0.0, PT(S): 0.5, H(S): 0.5}
site-density: 2.7063e-09
Motz-Wise: true
gas-reactions:
- equation: O + H2 <=> H + OH # Reaction 1
@@ -108,10 +73,12 @@ Pt-reactions:
- equation: O2 + 2 PT(S) => 2 O(S) # Reaction 4
type: Blowers-Masel
sticking-coefficient: {A: 0.023, b: 0, Ea0: 0, w: 1000000}
Motz-Wise: false
- equation: OH + PT(S) => OH(S) # Reaction 5
type: Blowers-Masel
sticking-coefficient: {A: 1.0, b: 0, Ea0: 0, w: 100000}
- equation: H2 + 2 PT(s) => 2 H(s)
Motz-Wise: true
- equation: H2 + 2 PT(s) => 2 H(s) # Reaction 6
type: Blowers-Masel
rate-constant: {A: 4.4579e10, b: 0.5, Ea0: 0.0, w: 1000000}
orders: {H2: 1.0, PT(s): 1.0}

View File

@@ -379,7 +379,7 @@ TEST(Kinetics, InterfaceKineticsFromYaml)
TEST(Kinetics, BMInterfaceKineticsFromYaml)
{
auto soln = newInterface("BM_test.yaml", "Pt_surf");
auto soln = newInterface("blowers-masel.yaml", "Pt_surf");
auto kin = soln->kinetics();
EXPECT_EQ(kin->nReactions(), (size_t) 6);
EXPECT_EQ(kin->nTotalSpecies(), (size_t) 14);
@@ -656,7 +656,7 @@ TEST_F(ReactionToYaml, unconvertible2)
TEST_F(ReactionToYaml, BlowersMasel)
{
soln = newSolution("BM_test.yaml", "gas");
soln = newSolution("blowers-masel.yaml", "gas");
soln->thermo()->setState_TPY(1100, 0.1 * OneAtm, "O:0.01, H2:0.8, O2:0.19");
duplicateReaction(0);
EXPECT_TRUE(std::dynamic_pointer_cast<BlowersMaselRate>(duplicate->rate()));
@@ -665,8 +665,8 @@ TEST_F(ReactionToYaml, BlowersMasel)
TEST_F(ReactionToYaml, BlowersMaselInterface)
{
auto gas = newSolution("BM_test.yaml", "gas");
soln = newSolution("BM_test.yaml", "Pt_surf", "None", {gas});
auto gas = newSolution("blowers-masel.yaml", "gas");
soln = newSolution("blowers-masel.yaml", "Pt_surf", "None", {gas});
gas->thermo()->setState_TPY(1100, 0.1 * OneAtm, "O:0.01, H2:0.8, O2:0.19");
soln->thermo()->setState_TP(1100, 0.1 * OneAtm);
auto surf = std::dynamic_pointer_cast<SurfPhase>(soln->thermo());