diff --git a/families/images/Surface_Abstraction_Charge_Separation.png b/families/images/Surface_Abstraction_Charge_Separation.png new file mode 100755 index 0000000000..6cc3eb5335 Binary files /dev/null and b/families/images/Surface_Abstraction_Charge_Separation.png differ diff --git a/families/images/Surface_Abstraction_Charge_Single.png b/families/images/Surface_Abstraction_Charge_Single.png new file mode 100755 index 0000000000..9cd279b882 Binary files /dev/null and b/families/images/Surface_Abstraction_Charge_Single.png differ diff --git a/families/images/Surface_Dissociation_Charge_Separation.png b/families/images/Surface_Dissociation_Charge_Separation.png new file mode 100755 index 0000000000..a10a665204 Binary files /dev/null and b/families/images/Surface_Dissociation_Charge_Separation.png differ diff --git a/families/images/Surface_Dissociation_Charge_Single.png b/families/images/Surface_Dissociation_Charge_Single.png new file mode 100755 index 0000000000..122b60d119 Binary files /dev/null and b/families/images/Surface_Dissociation_Charge_Single.png differ diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/groups.py b/input/kinetics/families/Surface_Abstraction_Charge_Separation/groups.py new file mode 100644 index 0000000000..2f700c0cc8 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Separation/groups.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_Charge_Separation/groups" +shortDesc = u"" +longDesc = u""" +Two adsorbates react. One has multiple bonds to the surface, the other has a +bond to the surface and to some functional group with charge separation +across the bond. The functional group is transferred to the multiple-bonded +species. + + *1 *4[-]-*3[+] *1=*4 *3 + ||| | ----> | | +~*2~~ + ~*5~~ ~*2~ + ~*5~~ + +The rate, which should be in mol/m2/s, +will be given by k * (mol/m2) * (mol/m2) +so k should be in (m2/mol/s) +""" + +template(reactants=["Abstracting", "Donating"], products=["Abstracted", "Donated"], ownReverse=False) + +reactantNum=2 +productNum=2 + +recipe(actions=[ + ['FORM_BOND', '*1', 1, '*4'], + ['BREAK_BOND', '*3', 1, '*4'], + ['CHANGE_BOND', '*1', 1, '*4'], + ['CHANGE_BOND', '*1', -1, '*2'], + ['CHANGE_BOND', '*1', -1, '*2'], + ['LOSE_PAIR','*4','1'], + ['GAIN_PAIR', '*3', '1'], + ['LOSE_CHARGE','*3','1'], + ['GAIN_CHARGE', '*4', '1'], +]) + +entry( + index = 1, + label = "Abstracting", + group = +""" +1 *1 R!H u0 px c0 {2,[T,Q]} +2 *2 Xo u0 p0 c0 {1,[T,Q]} +""", + kinetics = None, +) + +entry( + index = 2, + label="Donating", + group = +""" +1 *4 R!H u0 p[1,2,3] c-1 {2,S} +2 *3 Val5 u0 p0 c+1 {1,S} {3,[S,D]} {4,[S,D]} +3 *5 Xo u0 p0 c0 {2,[S,D]} +4 R u0 px c0 {2,[S,D]} +""", + kinetics = None, +) + + +tree( +""" +L1: Abstracting +L1: Donating +""" +) + +forbidden( + label = "Surf", + group = +""" +1 *4 R!H u0 p[1,2,3] c-1 {2,S} {5,[S,D,T]} +2 *3 Val5 u0 p0 c+1 {1,S} {3,[S,D]} {4,[S,D]} +3 *5 Xo u0 p0 c0 {2,[S,D]} +4 R u0 px c0 {2,[S,D]} +5 Xo u0 c0 {1,[S,D,T]} +""", +) diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/rules.py b/input/kinetics/families/Surface_Abstraction_Charge_Separation/rules.py new file mode 100644 index 0000000000..b597a6d4e5 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Separation/rules.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_Charge_Separation/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Abstracting;Donating", + kinetics = SurfaceArrheniusBEP( + A = (2.20e21, 'cm^2/(mol*s)'), + n = 0, + alpha = 0.52, + E0 = (126, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +This BEP is created from a mixture of data in literature taken from the following papers: + +Ma and Schneider +https://doi.org/10.1021/acscatal.8b04251 + +Gomez-Díaz and Lopez +https://pubs.acs.org/doi/10.1021/jp1093349 + +Farberow et al. +https://doi.org/10.1021/cs500668k + +Deng et al. +https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f + +and the current manuscript in progress by Badger et al. looking at the effects +of NO on the light out curves for hydrocarbons. +""", +) diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.cdx b/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.cdx new file mode 100644 index 0000000000..05673e0939 Binary files /dev/null and b/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.cdx differ diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.eps b/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.eps new file mode 100644 index 0000000000..3c02160244 Binary files /dev/null and b/input/kinetics/families/Surface_Abstraction_Charge_Separation/template.eps differ diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/dictionary.txt b/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/dictionary.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/dictionary.txt @@ -0,0 +1 @@ + diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/reactions.py b/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/reactions.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Separation/training/reactions.py @@ -0,0 +1 @@ + diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/groups.py b/input/kinetics/families/Surface_Abstraction_Charge_Single/groups.py new file mode 100644 index 0000000000..b903b27b5e --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Single/groups.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_Charge_Single/groups" +shortDesc = u"" +longDesc = u""" +Two adsorbates react. One has multiple bonds to the surface, the other has a +bond to the surface and some functional group with charge separation across it, +and a functional group with no charge separation. The one with no separation is +transferred to the multiple-bonded species. + + *1 *4-*3[+]-*6[-] *1-*4 *3=*6 + || || ----> | | + ~*2~~ + ~*5~~ ~*2~ + ~*5~~ + +The rate, which should be in mol/m2/s, +will be given by k * (mol/m2) * (mol/m2) +so k should be in (m2/mol/s) +""" + +template(reactants=["Abstracting", "Donating"], products=["Abstracted", "Donated"], ownReverse=False) + +reactantNum=2 +productNum=2 + +recipe(actions=[ + ['FORM_BOND', '*1', 1, '*4'], + ['BREAK_BOND', '*3', 1, '*4'], + ['CHANGE_BOND', '*1', -1, '*2'], + ['CHANGE_BOND', '*3', 1, '*6'], + ['CHANGE_BOND', '*3', -1, '*5'], + ['LOSE_PAIR','*6','1'], + ['GAIN_PAIR', '*3', '1'], + ['LOSE_CHARGE','*3','1'], + ['GAIN_CHARGE', '*6', '1'], +]) + +entry( + index = 1, + label = "Abstracting", + group = +""" +1 *1 R!H u0 px c0 {2,[D,T,Q]} +2 *2 Xo u0 p0 c0 {1,[D,T,Q]} +""", + kinetics = None, +) + +entry( + index = 2, + label="Donating", + group = +""" +1 *4 R u0 px c0 {2,S} +2 *3 Val5 u0 p0 c+1 {1,S} {3,D} {4,S} +3 *5 Xo u0 p0 c0 {2,D} +4 *6 R!H u0 p[1,2,3] c-1 {2,S} +""", + kinetics = None, +) + +tree( +""" +L1: Abstracting +L1: Donating +""" +) + +forbidden( + label = "Surface_Atom", + group = +""" +1 *4 R u0 px c0 {2,S} {5,[S,D,T]} +2 *3 Val5 u0 p0 c+1 {1,S} {3,D} {4,S} +3 *5 Xo u0 p0 c0 {2,D} +4 *6 R!H u0 p[1,2,3] c-1 {2,S} +5 Xo u0 c0 {1,[S,D,T]} +""", +) diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/rules.py b/input/kinetics/families/Surface_Abstraction_Charge_Single/rules.py new file mode 100644 index 0000000000..8d40894e9e --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Single/rules.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_Charge_Single/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Abstracting;Donating", + kinetics = SurfaceArrheniusBEP( + A = (2.20e21, 'cm^2/(mol*s)'), + n = 0, + alpha = 0.52, + E0 = (126, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +This BEP is created from a mixture of data in literature taken from the following papers: + +Ma and Schneider +https://doi.org/10.1021/acscatal.8b04251 + +Gomez-Díaz and Lopez +https://pubs.acs.org/doi/10.1021/jp1093349 + +Farberow et al. +https://doi.org/10.1021/cs500668k + +Deng et al. +https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f + +and the current manuscript in progress by Badger et al. looking at the effects +of NO on the light out curves for hydrocarbons. +""", +) diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/template.cdx b/input/kinetics/families/Surface_Abstraction_Charge_Single/template.cdx new file mode 100755 index 0000000000..c0dc3676f4 Binary files /dev/null and b/input/kinetics/families/Surface_Abstraction_Charge_Single/template.cdx differ diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/template.eps b/input/kinetics/families/Surface_Abstraction_Charge_Single/template.eps new file mode 100755 index 0000000000..5dda84b0b1 Binary files /dev/null and b/input/kinetics/families/Surface_Abstraction_Charge_Single/template.eps differ diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/training/dictionary.txt b/input/kinetics/families/Surface_Abstraction_Charge_Single/training/dictionary.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Single/training/dictionary.txt @@ -0,0 +1 @@ + diff --git a/input/kinetics/families/Surface_Abstraction_Charge_Single/training/reactions.py b/input/kinetics/families/Surface_Abstraction_Charge_Single/training/reactions.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_Charge_Single/training/reactions.py @@ -0,0 +1 @@ + diff --git a/input/kinetics/families/Surface_Adsorption_Single/groups.py b/input/kinetics/families/Surface_Adsorption_Single/groups.py index b1c84cd7af..3ac6a6e932 100644 --- a/input/kinetics/families/Surface_Adsorption_Single/groups.py +++ b/input/kinetics/families/Surface_Adsorption_Single/groups.py @@ -248,15 +248,15 @@ """, ) -forbidden( - label = "chargedSpecies", - group = -""" -1 *1 R u1 c[+1,-1] -""", - shortDesc = u"""""", - longDesc = -u""" -The adsorbing atom should not have a charge -""", -) +# forbidden( +# label = "chargedSpecies", +# group = +# """ +# 1 *1 R u1 c[+1,-1] +# """, +# shortDesc = u"""""", +# longDesc = +# u""" +# The adsorbing atom should not have a charge +# """, +# ) diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/groups.py b/input/kinetics/families/Surface_Dissociation_Charge_Separation/groups.py new file mode 100755 index 0000000000..8542339e86 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Separation/groups.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_Charge_Separation/groups" +shortDesc = u"" +longDesc = u""" +Surface bond fission of one species into two distinct adsorbates. +Atom *1 is bonded to the surface (*3). The image below shows a single bond, +but single and double are possible. What matters is that the bond +between *1 and *2 must be single and have charge separation across it. + + *1[+]--*2[-] *1 *2 + | ----> | || + ~*3~ + ~*4~~ ~*3~ + ~*4~~ + +The rate, which should be in mol/m2/s, +will be given by k * (mol/m2) * (mol/m2) +so k should be in (m2/mol/s) +""" + +template(reactants=["Combined", "VacantSite"], products=["Adsorbate1", "Adsorbate2"], ownReverse=False) + +reverse = "Surface_Association_Charge_Separation" + +reactantNum=2 +productNum=2 + +recipe(actions=[ + ['BREAK_BOND', '*1', 1, '*2'], + ['FORM_BOND', '*2', 1, '*4'], + ['CHANGE_BOND', '*2', 1, '*4'], + ['LOSE_PAIR','*2','1'], + ['GAIN_PAIR', '*1', '1'], + ['LOSE_CHARGE','*1','1'], + ['GAIN_CHARGE', '*2', '1'], +]) + +entry( + index = 1, + label = "Combined", + group = +""" +1 *1 Val5 u0 p0 c+1 {2,S} {3,[S,D]} +2 *2 R!H u0 p[1,2,3] c-1 {1,S} +3 *3 Xo u0 p0 c0 {1,[S,D]} +""", + kinetics = None, +) + +entry( + index = 2, + label="VacantSite", + group = +""" +1 *4 Xv u0 p0 c0 +""", + kinetics = None, +) + +tree( +""" +L1: Combined +L1: VacantSite +""" +) + +forbidden( + label = "Surf", + group = +""" +1 *1 Val5 u0 p0 c+1 {2,S} {3,[S,D]} +2 *2 R!H u0 p[1,2,3] c-1 {1,S} {4,[S,D,T]} +3 *3 Xo u0 p0 c0 {1,[S,D]} +4 Xo u0 c0 {2,[S,D,T]} +""", +) diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/rules.py b/input/kinetics/families/Surface_Dissociation_Charge_Separation/rules.py new file mode 100755 index 0000000000..c0683cec7c --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Separation/rules.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_Charge_Separation/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Combined;VacantSite", + kinetics = SurfaceArrheniusBEP( + A = (9.88e21, 'cm^2/(mol*s)'), + n = 0, + alpha = 0.52, + E0 = (126, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +This BEP is created from a mixture of data in literature taken from the following papers: + +Ma and Schneider +https://doi.org/10.1021/acscatal.8b04251 + +Gomez-Díaz and Lopez +https://pubs.acs.org/doi/10.1021/jp1093349 + +Farberow et al. +https://doi.org/10.1021/cs500668k + +Deng et al. +https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f + +and the current manuscript in progress by Badger et al. looking at the effects +of NO on the light out curves for hydrocarbons. +""" +) \ No newline at end of file diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.cdx b/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.cdx new file mode 100755 index 0000000000..69caa53353 Binary files /dev/null and b/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.cdx differ diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.eps b/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.eps new file mode 100755 index 0000000000..6375be7b97 Binary files /dev/null and b/input/kinetics/families/Surface_Dissociation_Charge_Separation/template.eps differ diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/training/dictionary.txt b/input/kinetics/families/Surface_Dissociation_Charge_Separation/training/dictionary.txt new file mode 100755 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Separation/training/reactions.py b/input/kinetics/families/Surface_Dissociation_Charge_Separation/training/reactions.py new file mode 100755 index 0000000000..4fa90f3a92 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Separation/training/reactions.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python +# encoding: utf-8 + diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/groups.py b/input/kinetics/families/Surface_Dissociation_Charge_Single/groups.py new file mode 100755 index 0000000000..4b85afd713 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Single/groups.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_Charge_Single/groups" +shortDesc = u"" +longDesc = u""" +Surface bond fission of one species into two distinct adsorbates. +Atom *1 is bonded to the surface (*3). The bond between *1 and *2 +must be single, and the bond between *4 and *1 must have +charge separation across it. + +*4[-]--*1[+]--*2 *4 --*1 *2 + || ----> | | + ~*3~ + ~*5~~ ~*3~ + ~*5~~ + +The rate, which should be in mol/m2/s, +will be given by k * (mol/m2) * (mol/m2) +so k should be in (m2/mol/s) +""" + +template(reactants=["Combined", "VacantSite"], products=["Adsorbate1", "Adsorbate2"], ownReverse=False) + +reverse = "Surface_Association_Charge_Single" + +reactantNum=2 +productNum=2 + +recipe(actions=[ + ['BREAK_BOND', '*1', 1, '*2'], + ['FORM_BOND', '*2', 1, '*5'], + ['LOSE_PAIR','*4','1'], + ['GAIN_PAIR', '*1', '1'], + ['CHANGE_BOND', '*1', -1, '*3'], + ['CHANGE_BOND', '*1', 1, '*4'], + ['LOSE_CHARGE','*1','1'], + ['GAIN_CHARGE', '*4', '1'], +]) + +entry( + index = 1, + label = "Combined", + group = +""" +1 *1 Val5 u0 p0 c+1 {2,S} {3,D} {4,S} +2 *2 R u0 px c0 {1,S} +3 *3 Xo u0 p0 c0 {1,D} +4 *4 R!H u0 p[1,2,3] c-1 {1,S} +""", + kinetics = None, +) + +entry( + index = 2, + label="VacantSite", + group = +""" +1 *5 Xv u0 p0 c0 +""", + kinetics = None, +) + +tree( +""" +L1: Combined +L1: VacantSite +""" +) + +forbidden( + label = "Surf", + group = +""" +1 *1 Val5 u0 p0 c+1 {2,S} {3,D} {4,S} +2 *2 R u0 px c0 {1,S} {5,[S,D,T]} +3 *3 Xo u0 p0 c0 {1,D} +4 *4 R!H u0 px c-1 {1,S} +5 Xo u0 c0 {2,[S,D,T]} +""", +) diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/rules.py b/input/kinetics/families/Surface_Dissociation_Charge_Single/rules.py new file mode 100755 index 0000000000..83ed1a81cd --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Single/rules.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_Charge_Single/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Combined;VacantSite", + kinetics = SurfaceArrheniusBEP( + A = (9.88e21, 'cm^2/(mol*s)'), + n = 0, + alpha = 0.52, + E0 = (126, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +This BEP is created from a mixture of data in literature taken from the following papers: + +Ma and Schneider +https://doi.org/10.1021/acscatal.8b04251 + +Gomez-Díaz and Lopez +https://pubs.acs.org/doi/10.1021/jp1093349 + +Farberow et al. +https://doi.org/10.1021/cs500668k + +Deng et al. +https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f + +and the current manuscript in progress by Badger et al. looking at the effects +of NO on the light out curves for hydrocarbons. +""" +) diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/template.cdx b/input/kinetics/families/Surface_Dissociation_Charge_Single/template.cdx new file mode 100755 index 0000000000..1b9fdde512 Binary files /dev/null and b/input/kinetics/families/Surface_Dissociation_Charge_Single/template.cdx differ diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/template.eps b/input/kinetics/families/Surface_Dissociation_Charge_Single/template.eps new file mode 100755 index 0000000000..f3f16a4e3e Binary files /dev/null and b/input/kinetics/families/Surface_Dissociation_Charge_Single/template.eps differ diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/training/dictionary.txt b/input/kinetics/families/Surface_Dissociation_Charge_Single/training/dictionary.txt new file mode 100755 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Dissociation_Charge_Single/training/reactions.py b/input/kinetics/families/Surface_Dissociation_Charge_Single/training/reactions.py new file mode 100755 index 0000000000..4fa90f3a92 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_Charge_Single/training/reactions.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python +# encoding: utf-8 + diff --git a/input/kinetics/families/recommended.py b/input/kinetics/families/recommended.py index ae3e50700e..d75032d8fb 100644 --- a/input/kinetics/families/recommended.py +++ b/input/kinetics/families/recommended.py @@ -125,6 +125,10 @@ 'Surface_Dissociation_Beta_vdW', 'Surface_Abstraction_Beta_vdW', 'Surface_Abstraction_Single_vdW', + 'Surface_Abstraction_Charge_Single', + 'Surface_Abstraction_Charge_Separation', + 'Surface_Dissociation_Charge_Separation', + 'Surface_Dissociation_Charge_Single', #'Surface_Carbonate_Deposition', #'Surface_Carbonate_F_CO_Decomposition', #'Surface_Carbonate_2F_Decomposition',