From f2f489012f0af3d7652f4142df7a26df792209b2 Mon Sep 17 00:00:00 2001 From: Bjarne Kreitz Date: Wed, 20 May 2026 21:55:53 -0400 Subject: [PATCH 1/5] create new family Surface_Monodentate_to_vdW_Bidentate --- .../groups.py | 60 ++ .../rules.py | 35 + .../template.cdx | Bin 0 -> 4062 bytes .../template.eps | 763 ++++++++++++++++++ .../template.pdf | Bin 0 -> 36821 bytes .../training/dictionary.txt | 0 .../training/reactions.py | 9 + 7 files changed, 867 insertions(+) create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/groups.py create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/rules.py create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.cdx create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.eps create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.pdf create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/dictionary.txt create mode 100644 input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/reactions.py diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/groups.py b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/groups.py new file mode 100644 index 0000000000..5168540a9b --- /dev/null +++ b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/groups.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Monodentate_to_vdW_Bidentate" +shortDesc = u"" +longDesc = u""" +If a monodentate adsorbate has an internal double or triple bond, then it can fall over onto a vacant site, creating a bidentate. + + *1-*2=*3 *1=*2-*3 + | ----> : | +~*4~ + ~*5~~ ~*4~~~~*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=["Monodentate", "VacantSite"], products=["Bidentate"], ownReverse=False) + +reverse = "Surface_vdW_Bidentate_to_Monodentate" + +recipe(actions=[ + ['FORM_BOND', '*3', 1, '*5'], + ['CHANGE_BOND', '*2', -1, '*3'], + ['CHANGE_BOND', '*1', 1, '*2'], + ['CHANGE_BOND', '*1', -1, '*4'], +]) + +entry( + index = 1, + label = "Monodentate", + group = +""" +1 *1 O u0 p2 {2,S} {4,S} +2 *2 C u0 p0 {1,S} {3,D} +3 *3 O u0 p2 {2,D} +4 *4 Xo u0 {1,S} +""", + kinetics = None, +) + +entry( + index = 2, + label="VacantSite", + group = +""" +1 *5 Xv u0 +""", + kinetics = None, +) + + +tree( +""" +L1: Monodentate + +L1: VacantSite +""" +) + diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/rules.py b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/rules.py new file mode 100644 index 0000000000..85bb72f2f5 --- /dev/null +++ b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/rules.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Monodentate_to_Bidentate/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Monodentate;VacantSite", + kinetics = SurfaceArrheniusBEP( + A = (7.15e20, 'cm^2/(mol*s)'), + n = 0.0, + alpha = 0, + E0 = (3, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +Pre-exponential value and E0 are from R6b in Table 2 of "Automatic mechanism generation involving +kinetics of surface reactions with bidentate adsorbates" +Authors: B. Kreitz, K. Blöndal, K. Badger, R. H. West and C. F. Goldsmith +doi:10.1039/d3dd00184a + +The reaction R6b is + *CHCH2 + * -> *CH*CH2 + +Other monodentate to bidentate reactions in this publication were without reaction barriers. +""" +) + + + diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.cdx b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.cdx new file mode 100644 index 0000000000000000000000000000000000000000..f9f5b9b74fba22886e06fcefdbf635dc8672d16a GIT binary patch literal 4062 zcmcInYiv|i5T0}QZujoq?L$EXALJ^;7AU0;N@Xz(^dZGig%%KjKyTYiyJa6`cl)G} z8zG8`h<}if@W&7X{=!5NsiGnfDSwI-F*bytF{S}3CTK!@q|VIV-R-RiKUQwDbIzHW zGiSatbLO0`X{)R%EGjIN9g=|5XHwSzlaW@o8o{cF-lY|n6ciQ|6%-XIkcIr15o{0W zF{7ZVxm%WUVBv7R7-~BRzjyYDp<^9FxD_(OpTzy`PJrohrXoNnE+jq~$s#0BO}*!+ z_W}`b1`e}{WFmnI;#Cr>0H8yr09h8gIT(~AW1$h}!aW)mqU-W()(`A9sHl7m)f+J3@;OM`?IRUPHv zfieD&iQm{*oF-cPh`97KO=^jPn2B~I#Fmrmge4Kb9snsPHyc*@gGN+)(dg3Z!a+R* zN;gFapa%c&lWt3uW20lY98Rg;(c;W={6#x5UP|skGyV{kpuRw>*vDS#lVF;7n}>^& zOuGiMKT^r`F*T7M{w6)3Js*w)I|8~-`&gy)sP5LAVp^>pjrz3XtXUfl7)_`V(Ox$E zEv+%1_KE63&EULVpLRl>LX!eU&IOb=}tc>_$?9eJqP@i_v&Rh{O(B|hVg)ynQCLHi-UodZ}zp*i@Rfmj7OOH?c zQgx%=@-VLJ(@v=wIH;}jXX{UL1jiJZ1@Mhi%pLRy26A)Wb zzr?2v@Rprts(L9^JYL*aHxaKF4+iATm?g~XxOH@xQr`tUmrqDjI8SH7RI8namUA$J z1!Oao%n{_!%suOyMC>IHk>-Gi4bBxFOoJkDnJ3ZmB#_}oVufohsFyE*+Cjm3g@753 zHYKDAXh=se!=5q|bM9ul5XyMYJf@{c9k76De10MJw>XNB{sARO^My$Z0 zyf{vtm;ZxJUIMZ?gmRD+Sp9dGP&SV6y!k+9+YLGJ3<{Hlut^W)#x%@BBhnr*Vp^=# zAJqbSqY)^;5TIs_3{ZxpO4Q0SpRWuPxon=?>b`P~Lq)ERcZC*HxfFrqB0Em1lHi)k zC)o#!vDm4|h?hMTO4qvYA>$Px!@OkytMc{=xnh7FfzZ4O7qAt#418m>&n>q9$KjOVx~GRP~3dD9BU zo!ZsOJ7d55D*LejWOHy_FdUZ-F~69D;YlwTw5zFL&{Y+!JIGtI@5I)mD?6thwjxjW z!hZ+DoeYK>=1&NQT}H5F^M(a$b2tvGlvk3|gGKj13f5Y+L9|sKW>~bt*N+|q z;$43_4ol`78xxpaW2r=Q*b|KsH=bxR6xG=i%`S^$8?|9O#UU$WY)X3A@GMQhHhlF& z65C^s_FLG_T8rH~WJ(g20>u+x*=2E919X>RStxyXgE+otm|?Y~2Z)M&Dp>D5sf*Xo zUSvSk4QoX1lp!D<9S151p8FI8PZE#^N+tlZ%LtIu^dKOriIpH{;BA0Wb7D&e&O;9_ zg@~I7DW9{HH`|mc)OS%nZz;F3GAWT|-oOkAS4>SIPaNhD>L(tKg%?W10>?IfIFfhU zK{hX;oVNa*H#$Yb!bN;T_3)mgS&`|{kqQ7Ud*OJAAXhF|w~K@;*LIYPc=^9~M%fR# z{h-)oxGc!#Hx{hkO`W2?J;JcIF)TH`yrS1h3ReGMuQ>fn8^c=naJz_>ZxO`fr}_VW z(a7ev7OYv1uM;iac(nQ$R+_bq-cTu62lj6iUmq!FSo9yq(nsbC;w{}BkJbaJZI^A> zUg41KU~FmDHhNv!v6WS=Ok(TmTWMk2z?rDrrxe)hmpv2hGF%p9^E(Sx=iK#T^6jk* zYbV1>^Op74VEz35Ch^nkcqYDfbCuY&txXW`w-El5_y8*0_Xvw>$g5n3C@-lFaSSKa zp=6yKwx;ajDWpnMXn)2REvI?K(t8b0>U0FTEYzt7{LLCZh4f&fzojGG5!GtuR)j;% z1yo+Cgpnn3Lg3=~v_?89ZWTr5kCwqVd0{FI|6bVg5+BCqO;pG-N6DI30eVHzvsUuT Nz{M0>dgiCTe*mjzq)-3= literal 0 HcmV?d00001 diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.eps b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.eps new file mode 100644 index 0000000000..496a95c73c --- /dev/null +++ b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.eps @@ -0,0 +1,763 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: ChemDraw +%%CreationDate: 11/13/24 +%%BoundingBox: 0 0 222 46 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%EndComments +%%BeginProlog +/ellipse {7 dict begin + /endangle exch def + /startangle exch def + /yradius exch def + /xradius exch def + /yC exch def + /xC exch def + /savematrix matrix currentmatrix def % save current transformation matrix + xC yC translate % translate to center of ellipse + xradius yradius scale % scale by radius values + 0 0 1 startangle endangle arc % add arc to path + savematrix setmatrix % restore the transformation matrix +end +} def + +/Encoding1252 +[ + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /space + /exclam + /quotedbl + /numbersign + /dollar + /percent + /ampersand + /quotesingle + /parenleft + /parenright + /asterisk + /plus + /comma + /hyphen + /period + /slash + /zero + /one + /two + /three + /four + /five + /six + /seven + /eight + /nine + /colon + /semicolon + /less + /equal + /greater + /question + /at + /A + /B + /C + /D + /E + /F + /G + /H + /I + /J + /K + /L + /M + /N + /O + /P + /Q + /R + /S + /T + /U + /V + /W + /X + /Y + /Z + /bracketleft + /backslash + /bracketright + /asciicircum + /underscore + /grave + /a + /b + /c + /d + /e + /f + /g + /h + /i + /j + /k + /l + /m + /n + /o + /p + /q + /r + /s + /t + /u + /v + /w + /x + /y + /z + /braceleft + /bar + /braceright + /asciitilde + /.notdef + /.notdef + /.notdef + /quotesinglbase + /florin + /quotedblbase + /ellipsis + /dagger + /daggerdbl + /circumflex + /perthousand + /Scaron + /guilsinglleft + /OE + /.notdef + /.notdef + /.notdef + /.notdef + /quoteleft + /quoteright + /quotedblleft + /quotedblright + /bullet + /endash + /emdash + /tilde + /trademark + /scaron + /guilsinglright + /oe + /dotlessi + /.notdef + /Ydieresis + /.notdef + /exclamdown + /cent + /sterling + /currency + /yen + /brokenbar + /section + /dieresis + /copyright + /ordfeminine + /guillemotleft + /logicalnot + /guilsinglright + /registered + /macron + /ring + /plusminus + /twosuperior + /threesuperior + /acute + /mu + /paragraph + /periodcentered + /cedilla + /onesuperior + /ordmasculine + /guillemotright + /onequarter + /onehalf + /threequarters + /questiondown + /Agrave + /Aacute + /Acircumflex + /Atilde + /Adieresis + /Aring + /AE + /Ccedilla + /Egrave + /Eacute + /Ecircumflex + /Edieresis + /Igrave + /Iacute + /Icircumflex + /Idieresis + /Eth + /Ntilde + /Ograve + /Oacute + /Ocircumflex + /Otilde + /Odieresis + /multiply + /Oslash + /Ugrave + /Uacute + /Ucircumflex + /Udieresis + /Yacute + /Thorn + /germandbls + /agrave + /aacute + /acircumflex + /atilde + /adieresis + /aring + /ae + /ccedilla + /egrave + /eacute + /ecircumflex + /edieresis + /igrave + /iacute + /icircumflex + /idieresis + /eth + /ntilde + /ograve + /oacute + /ocircumflex + /otilde + /odieresis + /divide + /oslash + /ugrave + /uacute + /ucircumflex + /udieresis + /yacute + /thorn + /ydieresis +] +def + + /reencode1252 + { + findfont dup + length dict copy + dup /Encoding Encoding1252 put + definefont + } bind def +%%EndProlog +[1 0 0 -1 0 46] concat +[1 0 0 1 -154 -337] concat +[0.05 0 0 0.05 0 0] concat +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +5862.21 7177.5 moveto +5156.21 7177.5 lineto +5156.21 7157.5 lineto +5862.21 7157.5 lineto +closepath +fill +grestore +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +5300.21 7217.5 moveto +6006.21 7217.5 lineto +6006.21 7237.5 lineto +5300.21 7237.5 lineto +closepath +fill +grestore +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +0 0 0 setrgbcolor +1 setlinewidth +[] 0 setdash +newpath +6036.21 7177.5 moveto +6036.21 7177.5 5861.21 7177.5 5861.21 7177.5 curveto +5861.21 7144.75 5836.21 7115.5 5836.21 7115.5 curveto +5836.21 7115.5 6036.21 7177.5 6036.21 7177.5 curveto +6036.21 7177.5 6036.21 7177.5 6036.21 7177.5 curveto +fill +stroke +grestore +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +0 0 0 setrgbcolor +1 setlinewidth +[] 0 setdash +newpath +5126.21 7217.5 moveto +5126.21 7217.5 5326.21 7279.5 5326.21 7279.5 curveto +5326.21 7279.5 5301.21 7230.25 5301.21 7217.5 curveto +5301.21 7217.5 5126.21 7217.5 5126.21 7217.5 curveto +5126.21 7217.5 5126.21 7217.5 5126.21 7217.5 curveto +fill +stroke +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 /Helvetica reencode1252 +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 3126.44 7519.79] concat +1 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(4) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 3209.86 7591.42] concat +1 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(X) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 4497.22 7519.79] concat +1 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(5) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 4580.65 7591.42] concat +1 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(X) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 3117.41 6951.16] concat +1 0 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(1) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 3200.83 7022.8] concat +1 0 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 3717.41 6951.16] concat +0 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(2) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 3800.83 7022.8] concat +0 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +240 scalefont +setfont +newpath +[1 0 -0 1 4025.16 7560.96] concat +0 0 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(+) show +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +3269 7080.03 moveto +3289 7080.15 lineto +3287.22 7390.56 lineto +3267.22 7390.45 lineto +3269 7080.03 lineto +closepath +fill +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +3382.74 6979.3 moveto +3382.74 6959.3 lineto +3681.8 6959.3 lineto +3681.8 6979.3 lineto +3382.74 6979.3 lineto +closepath +fill +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 4215.43 6972.59] concat +0 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(3) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 4298.85 7044.23] concat +0 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +3982.93 6950.51 moveto +3983.07 6930.51 lineto +4182 6931.84 lineto +4181.87 6951.84 lineto +3982.93 6950.51 lineto +closepath +fill +grestore +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +3982.54 7009.48 moveto +3982.67 6989.48 lineto +4181.61 6990.81 lineto +4181.47 7010.81 lineto +3982.54 7009.48 lineto +closepath +fill +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 6154.36 7490.75] concat +1 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(4) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 6237.78 7562.38] concat +1 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(X) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 7258.65 7487.46] concat +1 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(5) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 7342.08 7559.09] concat +1 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(X) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 6145.33 6922.12] concat +1 0 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(1) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 6228.75 6993.75] concat +1 0 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 6745.33 6922.12] concat +0 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(2) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 6828.75 6993.75] concat +0 0 1 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +6410.66 6914.26 moveto +6410.66 6894.26 lineto +6709.72 6894.26 lineto +6709.72 6914.26 lineto +6410.66 6914.26 lineto +closepath +fill +grestore +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +6410.66 6986.26 moveto +6410.66 6966.26 lineto +6709.72 6966.26 lineto +6709.72 6986.26 lineto +6410.66 6986.26 lineto +closepath +fill +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +150 scalefont +setfont +newpath +[1 0 -0 1 7243.35 6943.55] concat +0 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(3) show +grestore +grestore +gsave +[1 0 0 1 0 0] concat +/Helvetica-1252 findfont +200 scalefont +setfont +newpath +[1 0 -0 1 7326.77 7015.18] concat +0 0.501961 0 setrgbcolor +gsave +[1 0 0 -1 0 0] concat +0 0 moveto +(R) show +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +7010.65 6950.95 moveto +7010.79 6930.95 lineto +7209.72 6932.28 lineto +7209.59 6952.28 lineto +7010.65 6950.95 lineto +closepath +fill +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +24 setlinewidth +[27] 0 setdash +newpath +6303.68 7361.46 moveto +6301.77 7051.04 lineto +stroke +grestore +grestore +gsave +gsave +[1 0 0 1 0 0] concat +0 0 0 setrgbcolor +newpath +7417.77 7358.38 moveto +7397.77 7358.49 lineto +7396.19 7072.53 lineto +7416.19 7072.42 lineto +7417.77 7358.38 lineto +closepath +fill +grestore +grestore +%%Trailer +showpage diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.pdf b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/template.pdf new file mode 100644 index 0000000000000000000000000000000000000000..481302dd0ff2195877f9b6a8467e5d7747867ec5 GIT binary patch literal 36821 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%0AIF)m@e63EValTeDki&p0j++J^Pbz~5 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 NAT(-faYYHV{{z0Np!@&; literal 0 HcmV?d00001 diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/dictionary.txt b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/dictionary.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/reactions.py b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/reactions.py new file mode 100644 index 0000000000..344a324807 --- /dev/null +++ b/input/kinetics/families/Surface_Monodentate_to_vdW_Bidentate/training/reactions.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Monodentate_to_vdW_Bidentate/training" +shortDesc = u"Reaction kinetics used to generate rate rules" +longDesc = u""" +Put kinetic parameters for specific reactions in this file to use as a +training set for generating rate rules to populate this kinetics family. +""" \ No newline at end of file From aebe32b7de3b63f85eec1cb032ef952e634aabcd Mon Sep 17 00:00:00 2001 From: Bjarne Kreitz Date: Wed, 20 May 2026 21:58:16 -0400 Subject: [PATCH 2/5] create new family Surface_Dissociation_vdW_Bidentate --- .../groups.py | 53 ++ .../rules.py | 27 + .../template.cdx | Bin 0 -> 3407 bytes .../template.eps | 545 ++++++++++++++++++ .../training/dictionary.txt | 0 .../training/reactions.py | 9 + 6 files changed, 634 insertions(+) create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/groups.py create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/rules.py create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.cdx create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.eps create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/dictionary.txt create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/reactions.py diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/groups.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/groups.py new file mode 100644 index 0000000000..3553dc5cb4 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/groups.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate/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, double, and triple are possible. What matters is that the bond between *1 and *2 must be single. + # NOTE: we should probably include vdW, too! + + *1-*2=*3 *1 *2=*3 + | : ----> || | +~*4~ ~*5~~ ~*4~ + ~*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"], products=["Adsorbate1", "Adsorbate2"], ownReverse=False) + +reverse = "Surface_Association_vdW_Bidentate" + +reactantNum=1 +productNum=2 + +recipe(actions=[ + ['CHANGE_BOND', '*1', 1, '*4'], + ['BREAK_BOND', '*1', 1, '*2'], + ['CHANGE_BOND', '*3', 1, '*5'], + ['BREAK_BOND', '*3', 1, '*5'], + ['FORM_BOND', '*2', 1, '*5'], +]) + +entry( + index = 1, + label = "Combined", + group = +""" +1 *1 O u0 p2 {2,S} {4,S} +2 *2 R!H u0 {1,S} {3,D} +3 *3 O u0 p2 {2,D} {5,vdW} +4 *4 X u0 {1,S} +5 *5 X u0 {3,vdW} +""", + kinetics = None, +) + +tree( +""" +L1: Combined +""" +) diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/rules.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/rules.py new file mode 100644 index 0000000000..3d393f31f6 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/rules.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Combined", + kinetics = SurfaceArrheniusBEP( + A = (1e13, '1/s'), + n = 0, + alpha = 0.84, + E0 = (44.25, 'kcal/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +E0 and alpha are taken from: +"Universal Brønsted-Evans-Polanyi Relations for C–C, C–O, C–N, N–O, N–N, and O–O Dissociation Reactions" by Wang, ..., Norskov/ Catal. Lett (2011) 141:370-373, DOI: 10.1007/s10562-010-0477-y +(actual value for E0 was 1.92 eV.) +Pre-exponential coefficient is calculated from 1e13 s^-1 (standard guess from transition state theory) divided by 2.39e-9 mol cm^-2 (surface site density of Pt(111) + """ +) \ No newline at end of file diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.cdx b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.cdx new file mode 100644 index 0000000000000000000000000000000000000000..13de0590920afad0a4d39d443d779b5586fa4cb1 GIT binary patch literal 3407 zcmcImU2GIp6h3!mc6WAXx2-{tCIl|F(w1V`ZGqxw40KzmLQPW$8WI|&Whg8AQ+G#M z2=RunA~n>dh^y!ndt6Fbi_Ln@#Q+y;S0ykjHfNf z?ik%#)RYED9vTwApEw9p?R$l`c0!1-PFDC)NOnyXR`moR3=q==2t9;gY6y2CKp#nW zk#rwHG>FrBf*1nykSTuKEd8p)(P2 zfqFMYpu`U<@hO!&tc=w&($dd$X(R+e))n;Wk`{o~`IME`P^^aysf=Ba_uD(=P%dL- zK`&CmKu940A7h(-xb$Rczwvc=t~wTIQLm#BnE96I!B+gCGlFE%Qcp5U(~km;;#r<< z@s-spP<_H6k6$xxMx<&;wpQw|f_faPk+H>;I{c^hrMWl$RZl^b(uQ=Vbnn$*ZhLH1?s{Mas2 zo;9#^VO{bJ~)Hx zSDW&EwvXZ_0D59$$+w{D>p`F{2Ts%8EoW4Pk<4G=OGXo7#lC z2qR55(SOckL>(x>|VQTFduA47--2V#}xdICTB4krR)IlO%!Gc`qR`&dz?S;_IdzLaT zM^s@2qqjef@(wkD_#1Q~E)gLm3YC+|Po3t-fSAxcM)Uqhk=ZjmucP_7!~VR!^8S<4 z{GRqGZn*4M?~ERH!1#jwii7HY9`oYUduUvk%g#fWx<^#rH-Y9}!1ve<;L~|Uaq-v% z-q#F5)u`D)11v)H8|kQ(ZE++PuALvx+m3X$rwTG{jo9f9OaiX#*8sY)%ZZ?iGd4^I z(!rFZKa;2&L;VYs5LpONYlYBUy7U;*RoEfJsPKAa7?wRqX7P>tz3-UUyy={M&8OIb zMWDIg`HpQ8*B*bK^|!HO$gwt#4U4B6Uo1OTA>rxBF*=4ED+zR|H0_;Q?VaX(r$J%} z_kia9P{sW?b8lhpbP;Qklwoo0%u$~^$zAF&2aveaF*i<%?$g$xvrJpXTCCJk`(7{P zi(2gVCj99rP&}Yr5r%cg_ z5n6M#k6U6FXl`9OP3Pxr62}I6Sl`LxU9RCC1JK71UQ(k?PLI6_w~Y zm-lfB>C2RCti%+~nGuG^UOvG3J2(tA>e}S;rRFF6Fpx~TW!DdK80eTAhvBbXTXP$I z+M9&)ibvaI+BNEHRCyGy>evl?U-kd8uLay@q)n0U;p~wUls(G9bl$?#E#Q{2my_56 zHh;5)$xLDkAbAp7z~*nqIAMwZrv=2^RwPj8wjqkB4)jM!UjYir)Ec<9q8iYb(e(2N DS-?6D literal 0 HcmV?d00001 diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.eps b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.eps new file mode 100644 index 0000000000..18017e122c --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/template.eps @@ -0,0 +1,545 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: ChemDraw 17.1.0.105 +%%Title: template.eps +%%CreationDate: 6/4/2019 6:29 PM +%%DocumentSuppliedProcSets: chemdict30 24 13 +%%DocumentFonts: Helvetica Times-Roman +%%BoundingBox: 139 336 401 384 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%EndComments +%%BeginProcSet: chemdict30 24 13 +% ChemDraw Laser Prep +% © 1985-2018 PerkinElmer Informatics, Inc. All rights reserved. +userdict/chemdict30 210 dict put +chemdict30 begin/version 24 def/sv 13 def +/b{bind def}bind def/L{load def}b/R{null def}b/d/def L/a/add L/al/aload L +/as/astore L/at/atan L/cp/closepath L/cv/curveto L/cw/currentlinewidth L +/cpt/currentpoint L/dv/div L/D/dup L/e/exch L/F/false L/f/fill L/fa/forall L +/g/get L/gi/getinterval L/gr/grestore L/gs/gsave L/ie/ifelse L/ix/index L +/l/lineto L/mt/matrix L/M/moveto L/m/mul L/n/neg L/np/newpath L/pb/pathbbox L +/P/pop L/r/roll L/rl/rlineto L/rm/rmoveto L/ro/rotate L/rp/repeat L +/ru/round L/sc/scale L/sl/setlinewidth L/sm/setmatrix L/st/stroke L +/sp/strokepath L/sq/sqrt L/s/sub L/T/true L/tr/transform L/xl/translate L +/xc/exec L/A R/N R/St R/X R/Y R/aL R/bL R/bS R/bd R/bs R/cX R/cY R/ch R/co R +/fB R/fI R/fS R/fZ R/fl R/ft R/iX R/iY R/idx R/lh R/llx R/lly R/lp R/nH R +/nSq R/newdict R/ps R/rad R/rev R/sL R/sba R/sbl R/sbs R/sn R/spa R/tB R +/typ R/urx R/ury R/w R/wF R/xX R/xY R/rBg R/gBg R/bBg R/gry R/rDst R/gDst R +/bDst R/cpd R/Aeq R/Ath R/Aos R/Ach R/ed R/sf 20 d/cW 20 d/lW 20 d/bW 75 d +/wF 1.5 d/aF 11.875 d/aR 0.263 d/aA 50 d/hS 54 d/pA 32 d/sh F d/S{sf m}b +/dL{[hS] 0 setdash}b/o{1 ix}b/rot{3 -1 r}b/x{e d}b/CMT mt d/TM mt d +/SM{CMT sm}b/XY{X D m Y D m a sq}b/s1 1 string d/fp{T charpath flattenpath}b +/p{tr ru 0.25 a e ru 0.25 a e itransform}b/Wd{65536. dv}b +/C{Wd rot Wd rot Wd rot setrgbcolor}b +/setcmykcolor where{P/sk/setcmykcolor L}{/sk{4 1 r 3{3 ix a D 0 lt{P 0}if D 1\ + gt{P 1}if 1 e s 3 1 r}rp setrgbcolor P}b}ie/sg{D currenthsbcolor P rot seths\ +bcolor currenthsbcolor e P e P o s D m .001 gt{setgray}{P}ie}b +/sBg{65535 dv/bBg x 65535 dv/gBg x 65535 dv/rBg +x}b +/sRmp{currentrgbcolor bBg e s/bDst x gBg e s/gDst x rBg e s/rDst x}b +/dD{np 2 1 r 4 2 r xl 2 dv D sc -1 0 M 0 -1 l 1 0 l 0 1 l cp SM 0 ne{f}{lW 0.\ +8 m sl st}ie}b +/dM{gs np 3 1 r xl D sc 0 4 M 0 -8 rl 3.5 2 rm -7 4 rl 0 -4 rm 7 4 rl SM st g\ +r}b/dQ{gs np 0 360 arc 0.5 sg f gr}b +/dR{lW 0.8 m sl 2 ix s/Y x 2 ix s/X x xl Rr SM st}b +/dT{fp pb 3 1 r s 3 2 r s 2 1 r rm f}b/N 0 d/db{array/bs x/N 0 d}b +/B{bs N rot put/N N 1 a d}b +/SpA{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +aR aL m n D aL a 0 M 0 o n aA n aA arc cp f gr}b +/SpH{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +0 cw 2 dv xl +aR aL m n D aL a 0 M 0 o n aA n 0 arc cp f gr}b/Sp{/St x 0.316/aR x gs +aF lW m 0.8 m St 4 and 0 ne{bW m lW dv bW sl}if/aL x +St 8 and 0 ne{8 ix 8 ix 3 ix 3 ix SpA}if +St 16 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpA}if +St 32 and 0 ne{8 ix 8 ix 3 ix 3 ix SpH}if +St 64 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpH}if +St 2 and 0 ne{St 4 and 0 ne{[hS bW m lW dv] 0 setdash}{dL}ie}if +np M{cv}rp St 128 and 0 ne{f}{st}ie gr}b/Ha{gs np 3 1 r +xl D sc -.7 1.4 M 0.7 1.4 l -.7 2.4 M 0.7 2.4 l SM st gr}b +/OP{3 ix 3 ix xl 3 -1 r s 3 1 r +e s o o at ro D m e D m a sq}b +/OB{/bS x OP D bS dv D lW 2 m lt{P lW 2 m}if/bd x}b +/DA{np 0 0 M aL 0 aR aL m 180 aA s 180 aA a arc cp f}b +/OA{np 0 cw -2 dv M aL 0 aR aL m 180 aA s +180 arc 0 cw -2 dv rl cp f}b +/Ast{SM cw 0.8 m sl st}b/SA{aF m lW m/aL x 0.263/aR x aL 1 aR s m np 0 M + rad 0 l gs Ast gr}b +/CA{aF lW m 0.8 m/aL x 0.316/aR x aL 1 aR s m 2 dv rad D m o D m s D 0 le{P +P P}{sq at 2 +m np rad 0 rad 180 6 -1 r s 180 6 -1 r s arc gs Ast gr cpt +e at ro}ie}b/AA{np rad 0 rad 180 180 6 -1 r a arc gs SM st gr}b +/RA{lW m/w x np rad w M w .7 dv w l rad w n M w .7 dv w n l w + .35 dv w 2 m M 0 0 +l w .35 dv w -2 m l st}b +/HA{lW m/w x np 0 0 M w 2 m D l w 2 m w l rad w l rad w n l w 2 m +w n l w 2 m D n l cp st}b +/Ar1{gs 5 1 r OP/rad x{{2.25 SA DA}{1.5 SA DA}{1 SA DA}{lW 4 m sl 4.5 SA DA} +{lW 4 m sl 3 SA DA}{lW 4 m sl 2 SA +DA}{270 CA DA}{180 CA DA}{120 CA DA}{90 CA DA}{2.5 RA}{2.5 +HA}{1 -1 sc 270 CA DA}{1 -1 sc 180 CA DA}{1 -1 sc 120 CA DA}{1 -1 sc 90 CA +DA}{5 RA}{5 HA}{dL 2.25 SA DA}{dL 1.5 SA DA}{dL 1 SA DA}{2.25 SA OA}{1.5 SA +OA}{1 SA OA}{1 -1 sc 2.25 SA OA}{1 -1 sc 1.5 SA OA} +{1 -1 sc 1 SA OA}{270 CA OA}{180 CA OA}{120 CA OA}{90 CA OA}{1 -1 sc 270 CA +OA}{1 -1 sc 180 CA OA}{1 -1 sc 120 CA OA}{1 -1 sc 90 CA OA}{1 -1 sc 270 +AA}{1 -1 sc 180 AA}{1 -1 sc 120 AA}{1 -1 sc 90 AA}}e g xc +gr}b/ac{arcto 4{P}rp}b/rO{4 cw m}b/Cr{0 0 1 0 360 arc}b/Ac{XY D sc Cr SM}b +/OrA{Y X at ro XY D rev{neg}if sc}b/Ov{OrA 1 0.4 sc Cr SM}b +/Asc{OrA 1 27 dv D sc}b/LB{9 -6 M +21 -10 27 -8 27 0 cv +27 8 21 10 9 6 cv +-3 2 -3 -2 9 -6 cv +cp}b/DLB{0 0 M +0 0 -9.51 9.65 -9.51 18.02 cv +-9.51 23.22 -6.75 27 0 27 cv +6.75 27 9.51 23.22 9.51 18.02 cv +9.51 9.65 0 0 0 0 cv +cp}b/ZLB{LB}b +/dt{gs np M SM cpt np rot 4.5 dv 0 360 arc f gr}b +/whf{gs 1 setgray f gr SM st}b/blf{gs f gr SM st}b/Rr{0 rO M +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +0 0 0 Y rO ac +cp}b/Rc{0 0 M +0 Y l +X Y l +X 0 l +cp +}b/grf{gs 0.5 sg f gr SM st}b/gG{D 32 dv D m 1 e s/gry x +currentrgbcolor bDst gry m a 3 1 r gDst gry m a 3 1 r rDst gry m a 3 1 r +setrgbcolor}b/gS{dtransform CMT idtransform +m D 0 lt{n}if sq n D +CMT dtransform idtransform +e 2 m e +xl +7 m 32 a 256 dv D sc}b/gLB{sh{sRmp +32 -0.5 0.5{gs +gG +13.5 0 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv +gS +-13.5 0 xl +LB f +gr}for +LB SM st}{LB grf}ie}b/gOv{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv 0.65 m D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b/gAc{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b +/gDLB{sh{sRmp +32 -0.5 0.5{gs +gG +0 13.5 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv e +gS +0 -13.5 xl +DLB f +gr}for +DLB SM st}{DLB grf}ie}b/gRr{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rr f +gr}for +Rr SM st}{Rr grf}ie}b/gRc{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rc f +gr}for +Rc SM st}{Rc grf}ie}b/gZLB{gLB}b/Ath{Y X at ro XY 2 dv/rad x gs D SA DA gr + rad 2 m 0 xl 180 ro SA DA}b/Aeq{Y X at ro XY/rad x +rev{1 -1 sc}if +gs +0 lW 2 m xl +D SA OA +gr +rad 0 xl +180 ro +0 lW 2 m xl +SA OA}b/Aos{X Y M SM cpt xl XY e dv lW 1.667 m o o lt{e}if P D sc}b/Ach{5 Aos +gs/Helvetica findfont[1 0 0 -1 0 0]makefont 5.5 scalefont setfont +D stringwidth P 2 dv D 1 a/rad x +n 0 M show gr +rad 2 s -5 M +rad n -5 rad n 1 2 ac +rad n 1 rad 1 2 ac +rad 1 rad -5 2 ac +rad -5 rad n -5 2 ac +cp Ast}b/Ar{D 39 lt{Ar1} +{gs 5 1 r o o xl 3 -1 r e s 3 1 r s e +o 0 lt o 0 lt ne/rev x +D 0 lt{1 -1 sc neg}if/Y x D 0 lt{-1 1 sc neg} +if/X x np{{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M 0 0 l 0 Y l lp Y l +X lp s 0 M X 0 l X Y l X lp s Y l SM st}{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M +0 0 0 Y lp ac +0 Y 2 dv lp neg o lp ac +0 Y 2 dv 0 Y lp ac +0 Y lp Y lp ac +X lp s 0 M +X 0 X Y lp ac +X Y 2 dv X lp a o lp ac +X Y 2 dv X Y lp ac +X Y X lp s Y lp ac SM st}{Y D 2 dv Y 180 pA s 180 pA a arc st +np X Y s Y 2 dv +Y pA D neg arcn st}{Rc SM st}{X lW 2 dv a lW -2 dv M +rO D rl +X lW 2 dv a rO a Y lW 2 dv a rO a l +rO lW -2 dv a Y lW 2 dv a rO a l +lW -2 dv Y lW 2 dv a l +0 Y l X Y l X 0 l cp f +0 0 M +0 Y l +X Y l +X 0 l cp +SM st}{Rr SM st}{rO Y M rO rO xl +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +rO neg D xl X Y 0 Y rO ac +cp f +Rr st}{Ac st}{OrA gAc}{Ov st}{OrA 1 .4 sc gOv}{Asc LB whf}{Asc gLB} +{Asc gs gLB gr +-1 -1 sc LB whf}{Asc gs gLB gr +-0.4 -0.4 sc LB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc gLB}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro gs gDLB gr -1 -1 sc gDLB}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc gOv gr +ZLB whf}{Asc gs -1 -1 sc gZLB gr +gs 3.6 12 sc Cr whf gr +gZLB}{0 0 M X Y l SM st}{bW sl 0 0 M X Y l SM st} +{dL 0 0 M X Y l SM st}{OrA 1 16 dv D sc +0 -1 M +0 0 1 0 1 ac +8 0 8 1 1 ac +8 0 16 0 1 ac +16 0 16 -1 1 ac +SM st}{XY D 0 0 dt X Y dt}{XY 2 dv X Y dt}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +2 0 M 0 0 2 0 360 arc +Ast}{4.5 Aos +1 0 M -1 0 l +2 0 M 0 0 2 0 360 arc +Ast}{2.25 Ath}{1.5 Ath}{1 Ath}{2.25 Aeq}{1.5 Aeq}{1 Aeq}{OrA 1 16 dv D sc +0 -1 M 0 0 l 16 0 l 16 -1 l SM st}{5 Aos +1 -1 M -1 -1 l +0 2 M 0 -2 l +Ast}{5 Aos +1 -1 M -1 -1 l +1 1 M -1 1 l +0 2 M 0 -2 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{4.5 Aos +1 0 M -1 0 l +Ast}{gRc}{gRr}{Rc blf}{Rr blf}{Ac blf}{Ov blf}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro DLB -1 -1 sc DLB blf}{Asc gs -1 -1 sc ZLB blf gr +gs 3.6 12 sc Cr whf gr +ZLB blf}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc Cr blf gr +ZLB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc LB blf}{Asc LB gs f gr gs SM st gr +np -0.4 -0.4 sc LB whf}{Asc LB blf}{Asc LB gs f gr gs SM st gr +np -1 -1 sc LB whf}{Ac whf}{OrA gAc}{Ac blf}{Ov whf} +{OrA 1 .4 sc gOv}{Ov blf}{(Rac)Ach}{(Abs)Ach}{(Rel)Ach} +}e 39 s g xc gr}ie}b/DS{np M l st}b +/DD{gs dL DS gr}b/DB{gs 12 OB bW sl np 0 0 M 0 l st gr}b/ap{e 3 ix a +e 2 ix a}b/PT{D 2 4 gi al P OP D 1 sc +o length 6 gt{P 6 g}{e P 8 dv}ie +D lW 2 m lt{P lW 2 m}if +0 e +0 0 +3 -1 r s 3 1 r e s e +0 0 M 1 0 l +0 0 ap M 1 0 ap l +e n e n +0 0 ap M 1 0 ap l +P P}b/DT{gs np PT SM st gr}b +/NH{lW s D hS dv ru +cvi D 0 eq{P 1}if/nH x +D hS nH m s +D 0 lt{P .1 s nH dv}{nH 2 a dv D 0 xl 2 m s nH dv}ie}b +/Bd{D type/arraytype ne{bs e g}if{{P}{{{DS}{DD}{gs 12 OB np +bW 2 dv/bd x +lW 2 dv e D NH e{D bd M bd n l}for +st gr}{gs 12 OB np +lW 2 dv 0 xl NH 1 sc +bW 2 dv wF m nH 1 a dv/bd x +0 1 nH +{D 1 a bd m o o M n l}for SM st gr}{P}{DB}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp f gr}{P}{gs 12 OB/bL x +bW 2 dv D lW lt{P lW}if/bd x np 0 0 M +bL bd 4 m dv ru 2 o o lt{e}if P cvi/nSq x +bL nSq 2 m dv D sc +nSq{.135 .667 .865 .667 1 0 rcurveto +.135 -.667 .865 -.667 1 0 rcurveto}rp SM st gr}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp SM lW 0.8 m sl st gr}{P}{4 2 r gs OP/rad x 1 SA DA gr}{P} +}o 1 g 1 s g e 2 4 gi al P +5 -1 r xc}{al P 8 ix 1 eq{DD}{DS}ie 5 -1 r 2 eq{DB}{DS}ie P}{DT}}o 0 g g xc}b +/ed{gs cpt np cw 2 dv 0 360 arc f gr}b +/SPe{gs 0 e xl 1 1 S dv D n sc CMT currentmatrix P lW sl 4.0 setmiterlimit +np}b/ws{Wd 0 32 4 -1 roll widthshow}b/blank/Times-Roman findfont/CharStrings +g/space g d/mv 256 array d/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT +/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +mv 0 32 gi as P +mv 32/Times-Roman findfont/Encoding get +32 96 gi putinterval +mv 39/quotesingle put +mv 96/grave put/unknown/unknown/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl +/circumflex/perthousand/Scaron/guilsinglleft/OE/unknown/unknown/unknown +/unknown/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash +/emdash +/tilde/trademark/scaron/guilsinglright/oe/unknown/unknown/Ydieresis +/blank/exclamdown/cent/sterling/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered +/macron +/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph +/periodcentered +/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf +/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +mv 128 128 gi as P/fSt 50 string d(ChemDraw)fSt copy P/fD{D/Symbol eq{ +findfont[1 0 0 -1 0 0]makefont}{D {findfont}stopped{/Helvetica findfont}if +D length dict/newdict x{ +1 index/FID ne{1 index/FontMatrix eq{[1 0 0 -1 0 0]matrix concatmatrix}if +newdict 3 1 r put}{P P}ie}forall +newdict/Encoding mv put +fSt 8 fSt length 8 sub gi cvs length 8 add +fSt 0 rot gi cvn newdict definefont}ie}b/ts{gs xl ro 0 0 M}b +/nl{0 e xl 0 0 M}b/tx{ft e g e sf m rot D 96 and 0 ne{ +64 and 0 ne{-0.5}{0.25}ie e 0.75 m}{P 0 e}ie +D 4 -1 r e scalefont setfont m cpt P e M}b +end +%%EndProcSet + +%%EndProlog +chemdict30 begin +/cW 40 def +/bW 80 def +/lW 20 def +/hS 54 def +/sh true def +720 SPe[ +/Helvetica +fD +/Times-Roman +fD]/ft x +2780 6720 M +8020 6720 l +8020 7680 l +2780 7680 l +cp +clip +np +65535 65535 65535 sBg +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +20 D sl/lW x +5577 7156 M +4871 7156 l +st +5015 7216 M +5721 7216 l +st +gs +20 sl +5751 7166 5751 7166 5751 +7166 5576 7166 5751 7166 5751 7166 5551 7104 5576 7133 5576 7166 5751 7166 +5551 7104 5551 7104 4 5751 7166 129 Sp +gr +gs +20 sl +4841 7206 4841 7206 4841 +7206 5041 7268 4841 7206 4841 7206 5016 7219 5041 7268 5041 7268 4841 7206 +5016 7206 5016 7206 4 4841 7206 129 Sp +gr +gr +0 4084 7600 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(X)show +gr +0 3062 7000 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 3435 7000 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +3400 6912 M +3400 6932 l +3097 6932 l +3097 6912 l +cp +f +gr +0 3501 7563 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 2840 7600 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(X)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +3000 7376 M +2980 7376 l +2980 7040 l +3000 7040 l +cp +f +gr +0 7058 7563 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 6518 7000 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 6297 7600 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(X)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +6492 7376 M +6472 7376 l +6472 7040 l +6492 7040 l +cp +f +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +6420 7376 M +6400 7376 l +6400 7040 l +6420 7040 l +cp +f +gr +0 +7743 7600 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(X)show +gr +0 7738 7000 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +7903 7377 M +7883 7377 l +7884 7040 l +7904 7040 l +cp +f +gr +gr +end +%%Trailer +showpage diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/dictionary.txt b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/dictionary.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/reactions.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/reactions.py new file mode 100644 index 0000000000..3a048fe6dc --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate/training/reactions.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate/training" +shortDesc = u"Reaction kinetics used to generate rate rules" +longDesc = u""" +Put kinetic parameters for specific reactions in this file to use as a +training set for generating rate rules to populate this kinetics family. +""" \ No newline at end of file From e252ac1a82803ddc98ad4aacf8da49b6a80ba75a Mon Sep 17 00:00:00 2001 From: Bjarne Kreitz Date: Wed, 20 May 2026 21:59:54 -0400 Subject: [PATCH 3/5] create new family Surface_Dissociation_vdW_Bidentate_Beta --- .../groups.py | 57 ++ .../rules.py | 27 + .../template.cdx | Bin 0 -> 3407 bytes .../template.eps | 545 ++++++++++++++++++ .../training/dictionary.txt | 0 .../training/reactions.py | 9 + 6 files changed, 638 insertions(+) create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/groups.py create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/rules.py create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.cdx create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.eps create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/dictionary.txt create mode 100644 input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/reactions.py diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/groups.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/groups.py new file mode 100644 index 0000000000..952a545835 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/groups.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate_Beta/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, double, and triple are possible. What matters is that the bond between *1 and *2 must be single. + # NOTE: we should probably include vdW, too! + + *4 + | + *1-*2=*3 *1=*2=*3 *4 + | : ----> | +~*5~ ~*6~~ ~*5~ + ~*6~~ + + +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"], products=["Adsorbate1", "Adsorbate2"], ownReverse=False) + +reverse = "Surface_Association_vdW_Bidentate_Beta" + +reactantNum=1 +productNum=2 + +recipe(actions=[ + ['CHANGE_BOND', '*1', -1, '*5'], + ['CHANGE_BOND', '*1', 1, '*2'], + ['BREAK_BOND', '*2', 1, '*4'], + ['CHANGE_BOND', '*3', 1, '*6'], + ['BREAK_BOND', '*3', 1, '*6'], + ['FORM_BOND', '*4', 1, '*6'], +]) + +entry( + index = 1, + label = "Combined", + group = +""" +1 *1 O u0 p2 {2,S} {5,S} +2 *2 R!H u0 {1,S} {3,D} {4,S} +3 *3 O u0 p2 {2,D} {6,vdW} +4 *4 R u0 {2,S} +5 *5 X u0 {1,S} +6 *6 X u0 {3,vdW} +""", + kinetics = None, +) + +tree( +""" +L1: Combined +""" +) diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/rules.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/rules.py new file mode 100644 index 0000000000..f3730d91ba --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/rules.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate_Beta/rules" +shortDesc = u"" +longDesc = u""" +""" +entry( + index = 1, + label = "Combined", + kinetics = SurfaceArrheniusBEP( + A = (1e13, '1/s'), + n = 0, + alpha = 0.84, + E0 = (44.25, 'kcal/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +E0 and alpha are taken from: +"Universal Brønsted-Evans-Polanyi Relations for C–C, C–O, C–N, N–O, N–N, and O–O Dissociation Reactions" by Wang, ..., Norskov/ Catal. Lett (2011) 141:370-373, DOI: 10.1007/s10562-010-0477-y +(actual value for E0 was 1.92 eV.) +Pre-exponential coefficient is calculated from 1e13 s^-1 (standard guess from transition state theory) divided by 2.39e-9 mol cm^-2 (surface site density of Pt(111) + """ +) \ No newline at end of file diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.cdx b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.cdx new file mode 100644 index 0000000000000000000000000000000000000000..13de0590920afad0a4d39d443d779b5586fa4cb1 GIT binary patch literal 3407 zcmcImU2GIp6h3!mc6WAXx2-{tCIl|F(w1V`ZGqxw40KzmLQPW$8WI|&Whg8AQ+G#M z2=RunA~n>dh^y!ndt6Fbi_Ln@#Q+y;S0ykjHfNf z?ik%#)RYED9vTwApEw9p?R$l`c0!1-PFDC)NOnyXR`moR3=q==2t9;gY6y2CKp#nW zk#rwHG>FrBf*1nykSTuKEd8p)(P2 zfqFMYpu`U<@hO!&tc=w&($dd$X(R+e))n;Wk`{o~`IME`P^^aysf=Ba_uD(=P%dL- zK`&CmKu940A7h(-xb$Rczwvc=t~wTIQLm#BnE96I!B+gCGlFE%Qcp5U(~km;;#r<< z@s-spP<_H6k6$xxMx<&;wpQw|f_faPk+H>;I{c^hrMWl$RZl^b(uQ=Vbnn$*ZhLH1?s{Mas2 zo;9#^VO{bJ~)Hx zSDW&EwvXZ_0D59$$+w{D>p`F{2Ts%8EoW4Pk<4G=OGXo7#lC z2qR55(SOckL>(x>|VQTFduA47--2V#}xdICTB4krR)IlO%!Gc`qR`&dz?S;_IdzLaT zM^s@2qqjef@(wkD_#1Q~E)gLm3YC+|Po3t-fSAxcM)Uqhk=ZjmucP_7!~VR!^8S<4 z{GRqGZn*4M?~ERH!1#jwii7HY9`oYUduUvk%g#fWx<^#rH-Y9}!1ve<;L~|Uaq-v% z-q#F5)u`D)11v)H8|kQ(ZE++PuALvx+m3X$rwTG{jo9f9OaiX#*8sY)%ZZ?iGd4^I z(!rFZKa;2&L;VYs5LpONYlYBUy7U;*RoEfJsPKAa7?wRqX7P>tz3-UUyy={M&8OIb zMWDIg`HpQ8*B*bK^|!HO$gwt#4U4B6Uo1OTA>rxBF*=4ED+zR|H0_;Q?VaX(r$J%} z_kia9P{sW?b8lhpbP;Qklwoo0%u$~^$zAF&2aveaF*i<%?$g$xvrJpXTCCJk`(7{P zi(2gVCj99rP&}Yr5r%cg_ z5n6M#k6U6FXl`9OP3Pxr62}I6Sl`LxU9RCC1JK71UQ(k?PLI6_w~Y zm-lfB>C2RCti%+~nGuG^UOvG3J2(tA>e}S;rRFF6Fpx~TW!DdK80eTAhvBbXTXP$I z+M9&)ibvaI+BNEHRCyGy>evl?U-kd8uLay@q)n0U;p~wUls(G9bl$?#E#Q{2my_56 zHh;5)$xLDkAbAp7z~*nqIAMwZrv=2^RwPj8wjqkB4)jM!UjYir)Ec<9q8iYb(e(2N DS-?6D literal 0 HcmV?d00001 diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.eps b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.eps new file mode 100644 index 0000000000..18017e122c --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/template.eps @@ -0,0 +1,545 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: ChemDraw 17.1.0.105 +%%Title: template.eps +%%CreationDate: 6/4/2019 6:29 PM +%%DocumentSuppliedProcSets: chemdict30 24 13 +%%DocumentFonts: Helvetica Times-Roman +%%BoundingBox: 139 336 401 384 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%EndComments +%%BeginProcSet: chemdict30 24 13 +% ChemDraw Laser Prep +% © 1985-2018 PerkinElmer Informatics, Inc. All rights reserved. +userdict/chemdict30 210 dict put +chemdict30 begin/version 24 def/sv 13 def +/b{bind def}bind def/L{load def}b/R{null def}b/d/def L/a/add L/al/aload L +/as/astore L/at/atan L/cp/closepath L/cv/curveto L/cw/currentlinewidth L +/cpt/currentpoint L/dv/div L/D/dup L/e/exch L/F/false L/f/fill L/fa/forall L +/g/get L/gi/getinterval L/gr/grestore L/gs/gsave L/ie/ifelse L/ix/index L +/l/lineto L/mt/matrix L/M/moveto L/m/mul L/n/neg L/np/newpath L/pb/pathbbox L +/P/pop L/r/roll L/rl/rlineto L/rm/rmoveto L/ro/rotate L/rp/repeat L +/ru/round L/sc/scale L/sl/setlinewidth L/sm/setmatrix L/st/stroke L +/sp/strokepath L/sq/sqrt L/s/sub L/T/true L/tr/transform L/xl/translate L +/xc/exec L/A R/N R/St R/X R/Y R/aL R/bL R/bS R/bd R/bs R/cX R/cY R/ch R/co R +/fB R/fI R/fS R/fZ R/fl R/ft R/iX R/iY R/idx R/lh R/llx R/lly R/lp R/nH R +/nSq R/newdict R/ps R/rad R/rev R/sL R/sba R/sbl R/sbs R/sn R/spa R/tB R +/typ R/urx R/ury R/w R/wF R/xX R/xY R/rBg R/gBg R/bBg R/gry R/rDst R/gDst R +/bDst R/cpd R/Aeq R/Ath R/Aos R/Ach R/ed R/sf 20 d/cW 20 d/lW 20 d/bW 75 d +/wF 1.5 d/aF 11.875 d/aR 0.263 d/aA 50 d/hS 54 d/pA 32 d/sh F d/S{sf m}b +/dL{[hS] 0 setdash}b/o{1 ix}b/rot{3 -1 r}b/x{e d}b/CMT mt d/TM mt d +/SM{CMT sm}b/XY{X D m Y D m a sq}b/s1 1 string d/fp{T charpath flattenpath}b +/p{tr ru 0.25 a e ru 0.25 a e itransform}b/Wd{65536. dv}b +/C{Wd rot Wd rot Wd rot setrgbcolor}b +/setcmykcolor where{P/sk/setcmykcolor L}{/sk{4 1 r 3{3 ix a D 0 lt{P 0}if D 1\ + gt{P 1}if 1 e s 3 1 r}rp setrgbcolor P}b}ie/sg{D currenthsbcolor P rot seths\ +bcolor currenthsbcolor e P e P o s D m .001 gt{setgray}{P}ie}b +/sBg{65535 dv/bBg x 65535 dv/gBg x 65535 dv/rBg +x}b +/sRmp{currentrgbcolor bBg e s/bDst x gBg e s/gDst x rBg e s/rDst x}b +/dD{np 2 1 r 4 2 r xl 2 dv D sc -1 0 M 0 -1 l 1 0 l 0 1 l cp SM 0 ne{f}{lW 0.\ +8 m sl st}ie}b +/dM{gs np 3 1 r xl D sc 0 4 M 0 -8 rl 3.5 2 rm -7 4 rl 0 -4 rm 7 4 rl SM st g\ +r}b/dQ{gs np 0 360 arc 0.5 sg f gr}b +/dR{lW 0.8 m sl 2 ix s/Y x 2 ix s/X x xl Rr SM st}b +/dT{fp pb 3 1 r s 3 2 r s 2 1 r rm f}b/N 0 d/db{array/bs x/N 0 d}b +/B{bs N rot put/N N 1 a d}b +/SpA{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +aR aL m n D aL a 0 M 0 o n aA n aA arc cp f gr}b +/SpH{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +0 cw 2 dv xl +aR aL m n D aL a 0 M 0 o n aA n 0 arc cp f gr}b/Sp{/St x 0.316/aR x gs +aF lW m 0.8 m St 4 and 0 ne{bW m lW dv bW sl}if/aL x +St 8 and 0 ne{8 ix 8 ix 3 ix 3 ix SpA}if +St 16 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpA}if +St 32 and 0 ne{8 ix 8 ix 3 ix 3 ix SpH}if +St 64 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpH}if +St 2 and 0 ne{St 4 and 0 ne{[hS bW m lW dv] 0 setdash}{dL}ie}if +np M{cv}rp St 128 and 0 ne{f}{st}ie gr}b/Ha{gs np 3 1 r +xl D sc -.7 1.4 M 0.7 1.4 l -.7 2.4 M 0.7 2.4 l SM st gr}b +/OP{3 ix 3 ix xl 3 -1 r s 3 1 r +e s o o at ro D m e D m a sq}b +/OB{/bS x OP D bS dv D lW 2 m lt{P lW 2 m}if/bd x}b +/DA{np 0 0 M aL 0 aR aL m 180 aA s 180 aA a arc cp f}b +/OA{np 0 cw -2 dv M aL 0 aR aL m 180 aA s +180 arc 0 cw -2 dv rl cp f}b +/Ast{SM cw 0.8 m sl st}b/SA{aF m lW m/aL x 0.263/aR x aL 1 aR s m np 0 M + rad 0 l gs Ast gr}b +/CA{aF lW m 0.8 m/aL x 0.316/aR x aL 1 aR s m 2 dv rad D m o D m s D 0 le{P +P P}{sq at 2 +m np rad 0 rad 180 6 -1 r s 180 6 -1 r s arc gs Ast gr cpt +e at ro}ie}b/AA{np rad 0 rad 180 180 6 -1 r a arc gs SM st gr}b +/RA{lW m/w x np rad w M w .7 dv w l rad w n M w .7 dv w n l w + .35 dv w 2 m M 0 0 +l w .35 dv w -2 m l st}b +/HA{lW m/w x np 0 0 M w 2 m D l w 2 m w l rad w l rad w n l w 2 m +w n l w 2 m D n l cp st}b +/Ar1{gs 5 1 r OP/rad x{{2.25 SA DA}{1.5 SA DA}{1 SA DA}{lW 4 m sl 4.5 SA DA} +{lW 4 m sl 3 SA DA}{lW 4 m sl 2 SA +DA}{270 CA DA}{180 CA DA}{120 CA DA}{90 CA DA}{2.5 RA}{2.5 +HA}{1 -1 sc 270 CA DA}{1 -1 sc 180 CA DA}{1 -1 sc 120 CA DA}{1 -1 sc 90 CA +DA}{5 RA}{5 HA}{dL 2.25 SA DA}{dL 1.5 SA DA}{dL 1 SA DA}{2.25 SA OA}{1.5 SA +OA}{1 SA OA}{1 -1 sc 2.25 SA OA}{1 -1 sc 1.5 SA OA} +{1 -1 sc 1 SA OA}{270 CA OA}{180 CA OA}{120 CA OA}{90 CA OA}{1 -1 sc 270 CA +OA}{1 -1 sc 180 CA OA}{1 -1 sc 120 CA OA}{1 -1 sc 90 CA OA}{1 -1 sc 270 +AA}{1 -1 sc 180 AA}{1 -1 sc 120 AA}{1 -1 sc 90 AA}}e g xc +gr}b/ac{arcto 4{P}rp}b/rO{4 cw m}b/Cr{0 0 1 0 360 arc}b/Ac{XY D sc Cr SM}b +/OrA{Y X at ro XY D rev{neg}if sc}b/Ov{OrA 1 0.4 sc Cr SM}b +/Asc{OrA 1 27 dv D sc}b/LB{9 -6 M +21 -10 27 -8 27 0 cv +27 8 21 10 9 6 cv +-3 2 -3 -2 9 -6 cv +cp}b/DLB{0 0 M +0 0 -9.51 9.65 -9.51 18.02 cv +-9.51 23.22 -6.75 27 0 27 cv +6.75 27 9.51 23.22 9.51 18.02 cv +9.51 9.65 0 0 0 0 cv +cp}b/ZLB{LB}b +/dt{gs np M SM cpt np rot 4.5 dv 0 360 arc f gr}b +/whf{gs 1 setgray f gr SM st}b/blf{gs f gr SM st}b/Rr{0 rO M +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +0 0 0 Y rO ac +cp}b/Rc{0 0 M +0 Y l +X Y l +X 0 l +cp +}b/grf{gs 0.5 sg f gr SM st}b/gG{D 32 dv D m 1 e s/gry x +currentrgbcolor bDst gry m a 3 1 r gDst gry m a 3 1 r rDst gry m a 3 1 r +setrgbcolor}b/gS{dtransform CMT idtransform +m D 0 lt{n}if sq n D +CMT dtransform idtransform +e 2 m e +xl +7 m 32 a 256 dv D sc}b/gLB{sh{sRmp +32 -0.5 0.5{gs +gG +13.5 0 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv +gS +-13.5 0 xl +LB f +gr}for +LB SM st}{LB grf}ie}b/gOv{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv 0.65 m D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b/gAc{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b +/gDLB{sh{sRmp +32 -0.5 0.5{gs +gG +0 13.5 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv e +gS +0 -13.5 xl +DLB f +gr}for +DLB SM st}{DLB grf}ie}b/gRr{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rr f +gr}for +Rr SM st}{Rr grf}ie}b/gRc{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rc f +gr}for +Rc SM st}{Rc grf}ie}b/gZLB{gLB}b/Ath{Y X at ro XY 2 dv/rad x gs D SA DA gr + rad 2 m 0 xl 180 ro SA DA}b/Aeq{Y X at ro XY/rad x +rev{1 -1 sc}if +gs +0 lW 2 m xl +D SA OA +gr +rad 0 xl +180 ro +0 lW 2 m xl +SA OA}b/Aos{X Y M SM cpt xl XY e dv lW 1.667 m o o lt{e}if P D sc}b/Ach{5 Aos +gs/Helvetica findfont[1 0 0 -1 0 0]makefont 5.5 scalefont setfont +D stringwidth P 2 dv D 1 a/rad x +n 0 M show gr +rad 2 s -5 M +rad n -5 rad n 1 2 ac +rad n 1 rad 1 2 ac +rad 1 rad -5 2 ac +rad -5 rad n -5 2 ac +cp Ast}b/Ar{D 39 lt{Ar1} +{gs 5 1 r o o xl 3 -1 r e s 3 1 r s e +o 0 lt o 0 lt ne/rev x +D 0 lt{1 -1 sc neg}if/Y x D 0 lt{-1 1 sc neg} +if/X x np{{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M 0 0 l 0 Y l lp Y l +X lp s 0 M X 0 l X Y l X lp s Y l SM st}{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M +0 0 0 Y lp ac +0 Y 2 dv lp neg o lp ac +0 Y 2 dv 0 Y lp ac +0 Y lp Y lp ac +X lp s 0 M +X 0 X Y lp ac +X Y 2 dv X lp a o lp ac +X Y 2 dv X Y lp ac +X Y X lp s Y lp ac SM st}{Y D 2 dv Y 180 pA s 180 pA a arc st +np X Y s Y 2 dv +Y pA D neg arcn st}{Rc SM st}{X lW 2 dv a lW -2 dv M +rO D rl +X lW 2 dv a rO a Y lW 2 dv a rO a l +rO lW -2 dv a Y lW 2 dv a rO a l +lW -2 dv Y lW 2 dv a l +0 Y l X Y l X 0 l cp f +0 0 M +0 Y l +X Y l +X 0 l cp +SM st}{Rr SM st}{rO Y M rO rO xl +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +rO neg D xl X Y 0 Y rO ac +cp f +Rr st}{Ac st}{OrA gAc}{Ov st}{OrA 1 .4 sc gOv}{Asc LB whf}{Asc gLB} +{Asc gs gLB gr +-1 -1 sc LB whf}{Asc gs gLB gr +-0.4 -0.4 sc LB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc gLB}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro gs gDLB gr -1 -1 sc gDLB}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc gOv gr +ZLB whf}{Asc gs -1 -1 sc gZLB gr +gs 3.6 12 sc Cr whf gr +gZLB}{0 0 M X Y l SM st}{bW sl 0 0 M X Y l SM st} +{dL 0 0 M X Y l SM st}{OrA 1 16 dv D sc +0 -1 M +0 0 1 0 1 ac +8 0 8 1 1 ac +8 0 16 0 1 ac +16 0 16 -1 1 ac +SM st}{XY D 0 0 dt X Y dt}{XY 2 dv X Y dt}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +2 0 M 0 0 2 0 360 arc +Ast}{4.5 Aos +1 0 M -1 0 l +2 0 M 0 0 2 0 360 arc +Ast}{2.25 Ath}{1.5 Ath}{1 Ath}{2.25 Aeq}{1.5 Aeq}{1 Aeq}{OrA 1 16 dv D sc +0 -1 M 0 0 l 16 0 l 16 -1 l SM st}{5 Aos +1 -1 M -1 -1 l +0 2 M 0 -2 l +Ast}{5 Aos +1 -1 M -1 -1 l +1 1 M -1 1 l +0 2 M 0 -2 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{4.5 Aos +1 0 M -1 0 l +Ast}{gRc}{gRr}{Rc blf}{Rr blf}{Ac blf}{Ov blf}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro DLB -1 -1 sc DLB blf}{Asc gs -1 -1 sc ZLB blf gr +gs 3.6 12 sc Cr whf gr +ZLB blf}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc Cr blf gr +ZLB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc LB blf}{Asc LB gs f gr gs SM st gr +np -0.4 -0.4 sc LB whf}{Asc LB blf}{Asc LB gs f gr gs SM st gr +np -1 -1 sc LB whf}{Ac whf}{OrA gAc}{Ac blf}{Ov whf} +{OrA 1 .4 sc gOv}{Ov blf}{(Rac)Ach}{(Abs)Ach}{(Rel)Ach} +}e 39 s g xc gr}ie}b/DS{np M l st}b +/DD{gs dL DS gr}b/DB{gs 12 OB bW sl np 0 0 M 0 l st gr}b/ap{e 3 ix a +e 2 ix a}b/PT{D 2 4 gi al P OP D 1 sc +o length 6 gt{P 6 g}{e P 8 dv}ie +D lW 2 m lt{P lW 2 m}if +0 e +0 0 +3 -1 r s 3 1 r e s e +0 0 M 1 0 l +0 0 ap M 1 0 ap l +e n e n +0 0 ap M 1 0 ap l +P P}b/DT{gs np PT SM st gr}b +/NH{lW s D hS dv ru +cvi D 0 eq{P 1}if/nH x +D hS nH m s +D 0 lt{P .1 s nH dv}{nH 2 a dv D 0 xl 2 m s nH dv}ie}b +/Bd{D type/arraytype ne{bs e g}if{{P}{{{DS}{DD}{gs 12 OB np +bW 2 dv/bd x +lW 2 dv e D NH e{D bd M bd n l}for +st gr}{gs 12 OB np +lW 2 dv 0 xl NH 1 sc +bW 2 dv wF m nH 1 a dv/bd x +0 1 nH +{D 1 a bd m o o M n l}for SM st gr}{P}{DB}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp f gr}{P}{gs 12 OB/bL x +bW 2 dv D lW lt{P lW}if/bd x np 0 0 M +bL bd 4 m dv ru 2 o o lt{e}if P cvi/nSq x +bL nSq 2 m dv D sc +nSq{.135 .667 .865 .667 1 0 rcurveto +.135 -.667 .865 -.667 1 0 rcurveto}rp SM st gr}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp SM lW 0.8 m sl st gr}{P}{4 2 r gs OP/rad x 1 SA DA gr}{P} +}o 1 g 1 s g e 2 4 gi al P +5 -1 r xc}{al P 8 ix 1 eq{DD}{DS}ie 5 -1 r 2 eq{DB}{DS}ie P}{DT}}o 0 g g xc}b +/ed{gs cpt np cw 2 dv 0 360 arc f gr}b +/SPe{gs 0 e xl 1 1 S dv D n sc CMT currentmatrix P lW sl 4.0 setmiterlimit +np}b/ws{Wd 0 32 4 -1 roll widthshow}b/blank/Times-Roman findfont/CharStrings +g/space g d/mv 256 array d/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT +/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +mv 0 32 gi as P +mv 32/Times-Roman findfont/Encoding get +32 96 gi putinterval +mv 39/quotesingle put +mv 96/grave put/unknown/unknown/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl +/circumflex/perthousand/Scaron/guilsinglleft/OE/unknown/unknown/unknown +/unknown/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash +/emdash +/tilde/trademark/scaron/guilsinglright/oe/unknown/unknown/Ydieresis +/blank/exclamdown/cent/sterling/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered +/macron +/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph +/periodcentered +/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf +/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +mv 128 128 gi as P/fSt 50 string d(ChemDraw)fSt copy P/fD{D/Symbol eq{ +findfont[1 0 0 -1 0 0]makefont}{D {findfont}stopped{/Helvetica findfont}if +D length dict/newdict x{ +1 index/FID ne{1 index/FontMatrix eq{[1 0 0 -1 0 0]matrix concatmatrix}if +newdict 3 1 r put}{P P}ie}forall +newdict/Encoding mv put +fSt 8 fSt length 8 sub gi cvs length 8 add +fSt 0 rot gi cvn newdict definefont}ie}b/ts{gs xl ro 0 0 M}b +/nl{0 e xl 0 0 M}b/tx{ft e g e sf m rot D 96 and 0 ne{ +64 and 0 ne{-0.5}{0.25}ie e 0.75 m}{P 0 e}ie +D 4 -1 r e scalefont setfont m cpt P e M}b +end +%%EndProcSet + +%%EndProlog +chemdict30 begin +/cW 40 def +/bW 80 def +/lW 20 def +/hS 54 def +/sh true def +720 SPe[ +/Helvetica +fD +/Times-Roman +fD]/ft x +2780 6720 M +8020 6720 l +8020 7680 l +2780 7680 l +cp +clip +np +65535 65535 65535 sBg +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +20 D sl/lW x +5577 7156 M +4871 7156 l +st +5015 7216 M +5721 7216 l +st +gs +20 sl +5751 7166 5751 7166 5751 +7166 5576 7166 5751 7166 5751 7166 5551 7104 5576 7133 5576 7166 5751 7166 +5551 7104 5551 7104 4 5751 7166 129 Sp +gr +gs +20 sl +4841 7206 4841 7206 4841 +7206 5041 7268 4841 7206 4841 7206 5016 7219 5041 7268 5041 7268 4841 7206 +5016 7206 5016 7206 4 4841 7206 129 Sp +gr +gr +0 4084 7600 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(X)show +gr +0 3062 7000 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 3435 7000 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +3400 6912 M +3400 6932 l +3097 6932 l +3097 6912 l +cp +f +gr +0 3501 7563 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 2840 7600 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(X)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +3000 7376 M +2980 7376 l +2980 7040 l +3000 7040 l +cp +f +gr +0 7058 7563 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 6518 7000 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 6297 7600 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(X)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +6492 7376 M +6472 7376 l +6472 7040 l +6492 7040 l +cp +f +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +6420 7376 M +6400 7376 l +6400 7040 l +6420 7040 l +cp +f +gr +0 +7743 7600 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(X)show +gr +0 7738 7000 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +7903 7377 M +7883 7377 l +7884 7040 l +7904 7040 l +cp +f +gr +gr +end +%%Trailer +showpage diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/dictionary.txt b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/dictionary.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/reactions.py b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/reactions.py new file mode 100644 index 0000000000..28c954e974 --- /dev/null +++ b/input/kinetics/families/Surface_Dissociation_vdW_Bidentate_Beta/training/reactions.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Dissociation_vdW_Bidentate_Beta/training" +shortDesc = u"Reaction kinetics used to generate rate rules" +longDesc = u""" +Put kinetic parameters for specific reactions in this file to use as a +training set for generating rate rules to populate this kinetics family. +""" \ No newline at end of file From a355bfa905e4409bfe654d5692ede2955645ae62 Mon Sep 17 00:00:00 2001 From: Bjarne Kreitz Date: Wed, 20 May 2026 22:01:29 -0400 Subject: [PATCH 4/5] create new family Surface_Abstraction_vdW_Bidentate_Beta --- .../groups.py | 68 ++ .../rules.py | 27 + .../template.cdx | Bin 0 -> 4335 bytes .../template.eps | 669 ++++++++++++++++++ .../training/dictionary.txt | 0 .../training/reactions.py | 3 + 6 files changed, 767 insertions(+) create mode 100755 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/groups.py create mode 100644 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/rules.py create mode 100755 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.cdx create mode 100755 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.eps create mode 100644 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/dictionary.txt create mode 100644 input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/reactions.py diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/groups.py b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/groups.py new file mode 100755 index 0000000000..392f689ed9 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/groups.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_vdW_Bidentate_Beta/groups" +shortDesc = u"" +longDesc = u""" +Surface abstraction of one atom to another adsorbate. The bond fission occurs not at the binding atom, but in the beta position of the adsorbate, that is the bond between Atom *2 and *3 is broken. Atom *1 is bonded to the surface (*5). The bond order between *1/*3 and the surface decreases. An example for this reaction is: COH* + CH2* = CO* + CH3*. The bond between *2 and *3 must be single. + + *4 + | + *1-*2=*3 *7 *1=*2=*3 *7-*4 + | : || ----> | +~*5~ +~*6~ + ~*8~~ ~*5~ + ~*8~~ + ~*6~ + +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=["Donating", "Abstracting"], products=["Adsorbate2","Adsorbate3", "VacantSite"], ownReverse=False) + +reverse = "Surface_Abstraction_vdW_Bidentate_reverse_Beta" + +reactantNum=2 +productNum=3 + +recipe(actions=[ + ['FORM_BOND', '*4', 1, '*7'], + ['CHANGE_BOND', '*7', -1, '*8'], + ['CHANGE_BOND', '*1', -1, '*5'], + ['CHANGE_BOND', '*1', 1, '*2'], + ['CHANGE_BOND', '*3', 1, '*6'], + ['BREAK_BOND', '*3', 1, '*6'], + ['BREAK_BOND', '*2', 1, '*4'], +]) + +entry( + index = 1, + label = "Donating", + group = +""" +1 *1 O u0 p2 {2,S} {5,S} +2 *2 R!H u0 {1,S} {3,D} {4,S} +3 *3 O u0 p2 {2,D} {6,vdW} +4 *4 R u0 {2,S} +5 *5 X u0 {1,S} +6 *6 X u0 {3,vdW} +""", + kinetics = None, +) + +entry( + index = 2, + label="Abstracting", + group = +""" +1 *8 Xo u0 {2,[D,T,Q]} +2 *7 R!H u0 px c0 {1,[D,T,Q]} +""", + kinetics = None, +) + +tree( +""" +L1: Abstracting +L1: Donating +""" +) \ No newline at end of file diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/rules.py b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/rules.py new file mode 100644 index 0000000000..5ec08aa9be --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/rules.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +# encoding: utf-8 + +name = "Surface_Abstraction_vdW_Bidentate_Beta/rules" +shortDesc = u"" +longDesc = u""" +""" + +entry( + index = 1, + label = "Abstracting;Donating", + kinetics = SurfaceArrheniusBEP( + A = (4.18e17, 'm^2/(mol*s)'), + n = 0., + alpha = 0.94, + E0 = (129.3, 'kJ/mol'), + Tmin = (200, 'K'), + Tmax = (3000, 'K'), + ), + rank = 0, + shortDesc = u"""Default""", + longDesc = u""" +These numbers for the general BEP are from the abstraction reaction of C-H to O. +BEP values from "Combined DFT, Microkinetic, and Experimental Study of Ethanol Steam Reforming on Pt", Sutton et al., The Journal of Physical Chemistry C, 2013, 117, 4691-4706, DOI:10.1021/jp312593u +From Table 7 includes beta and alpha position. Pre-exponential coefficient is calculated from 1e13 s^-1 (standard guess from transition state theory) divided by 2.39e-9 mol cm^-2 (surface site density of Pt(111) +""" +) diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.cdx b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.cdx new file mode 100755 index 0000000000000000000000000000000000000000..5c379c196cdc758fa2312c1c40b91f793d86faaf GIT binary patch literal 4335 zcmcInYitx%6h3!$wmZACeHcxpKHx$tEfh*$Kpl($N=p?=NU8V;)NaerE^K$p?jYN$ zbtFb>Q8d9s;|q{bO^k^KP_YG35KzEZHOAi<#h6gg_=gzlIcImLEnt7(I?0}U?z!il z``z=J+0`4Wmz0*3mZ~mA!02NW>w+7QR=1lSOQL}-vaG74yri_GvPy$2lv`#;XDDEq zC9Uh?s*(dE!;RvF6&oP_)MFxlZ@&;;jg0W4F#ji>V5{H-$kYS~&4a{Hkt{$0HN@RP z+}%X{892=*l8FQsldPJ^5+Yfe0xv5*O+%2)a1yDGyo!fiK;EmVP_a(|4MzY4JUj}> z;86uPkCQ<~D{*k~EDrey%I!x2MFejKk(orwNmh)cXciLRY?76bOwn@Ce!;k(a4B>q zQdDr=2|gI%2Zi{Ij3j7k96uu|{cM{?q9Dk+f_M5!b;F`)Fc4Ca&4$KchZ&PA%q_AZ z(h&%Q7N>ZDkU|1J`g(2G$P**I`dRNJSDU-g^%oj}v8x0R*5MB?BZwD;*~B9^`Y4bm zp66+^BOI@R;{7_^_<){DmSAfjBx@tlj?JNfA>Y?2S!&{eR!i0gVlhL0z?$`uklBhF zQF*T!Y-_g+`JwJX&5k+UhCHa}(x#BvVTLWVwkRA3b;W|X`6K;0Tv;3mhJxWXxiS(A zJ)zP5EfEqDf4S8t1aAnj)n}>A@qocVx5;Ek+EL$3EX^F|2uo-RZ zGUO2*Qx}#;@LWTFqG#ZwzQK^6>ePps=)=$1!(TAf{ghcgKZe0e#P4^b*`oXz z!u}dPO_k_8N4~xti@MFrW9# zVLBJ73+6FR>@P)rqpJ+*C8$6;OL!DNq)w)LYBWa#goNgqG_QLIkv+%rESjI(<;=5F z>!%L#I_*(xZ_0BQMtfM{v;n@?ba2_PUba5m)FW={*~9DQpxVD>k{J!2j;|5h@}exC z2EwIsOUi-ixa{=N)l9;$=v@>d2(rORJWGK*LhDtC9s9C21%*QS#GHjf&;o+uc zQLt}wBD_hEDOu_m>R%%Qo9c+-Av11dUErBSm5^WkTmVC+=sw)vO?Rd`n_ zJAMJ&l`6P^6^w)>)?7GZ$<9bD7HkQba(yH^rV=R?@hYB7qF6GC?}}m^u^ZGPw$vBT z?6(YY9+UZTwTZjsEKuznT&IfajdzQ-_QfnOV&|u+qUgXg=M6z12C$-tC)usXYXrrZ zj+r>dSF5O{4(v6eAeMk#%&@T^rK6(GV;Uav*D`GST1@yZA^VR_?8zi{YQPsCe1Kg( zo3W>{8(iGkz}NvBF!5AY6nDZ-$4u<VHfBTefkf4;5<<6A?KylExvnah~-n+XY?JG zmJZq@jLOr=RupAE1%iA=$4u-q50+ozedU39$;SUCUMuyky|g|7doIJKud}qkZf1Xt z_gyplj$qR<6T|j8u)R>3?4WN`gfP_eId0^8iW^_%vQVRWjNZG+=uxs+KW`NS#gFpe zDzb4qsCI7B4foV^iH@avIOAueGkSF3(3w{_<4+H6Vm<}p+M|~@CVEzXAH$x>u+#Yd zBY#o!Qof@?RhMn&LcNyvpK8B12KEj}c)KdyNw;HR!rN4^#1m}(Cwh*mSAqVzj6VMWSWV+F literal 0 HcmV?d00001 diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.eps b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.eps new file mode 100755 index 0000000000..fab2430dea --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/template.eps @@ -0,0 +1,669 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: ChemDraw 18.2.0.48 +%%Title: template.eps +%%CreationDate: 26.08.2021 10:30 +%%DocumentSuppliedProcSets: chemdict30 24 13 +%%DocumentFonts: Helvetica Times-Roman +%%BoundingBox: 104 338 425 386 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%EndComments +%%BeginProcSet: chemdict30 24 13 +% ChemDraw Laser Prep +% © 1985-2019 PerkinElmer Informatics, Inc. All rights reserved. +userdict/chemdict30 210 dict put +chemdict30 begin/version 24 def/sv 13 def +/b{bind def}bind def/L{load def}b/R{null def}b/d/def L/a/add L/al/aload L +/as/astore L/at/atan L/cp/closepath L/cv/curveto L/cw/currentlinewidth L +/cpt/currentpoint L/dv/div L/D/dup L/e/exch L/F/false L/f/fill L/fa/forall L +/g/get L/gi/getinterval L/gr/grestore L/gs/gsave L/ie/ifelse L/ix/index L +/l/lineto L/mt/matrix L/M/moveto L/m/mul L/n/neg L/np/newpath L/pb/pathbbox L +/P/pop L/r/roll L/rl/rlineto L/rm/rmoveto L/ro/rotate L/rp/repeat L +/ru/round L/sc/scale L/sl/setlinewidth L/sm/setmatrix L/st/stroke L +/sp/strokepath L/sq/sqrt L/s/sub L/T/true L/tr/transform L/xl/translate L +/xc/exec L/A R/N R/St R/X R/Y R/aL R/bL R/bS R/bd R/bs R/cX R/cY R/ch R/co R +/fB R/fI R/fS R/fZ R/fl R/ft R/iX R/iY R/idx R/lh R/llx R/lly R/lp R/nH R +/nSq R/newdict R/ps R/rad R/rev R/sL R/sba R/sbl R/sbs R/sn R/spa R/tB R +/typ R/urx R/ury R/w R/wF R/xX R/xY R/rBg R/gBg R/bBg R/gry R/rDst R/gDst R +/bDst R/cpd R/Aeq R/Ath R/Aos R/Ach R/ed R/sf 20 d/cW 20 d/lW 20 d/bW 75 d +/wF 1.5 d/aF 11.875 d/aR 0.263 d/aA 50 d/hS 54 d/pA 32 d/sh F d/S{sf m}b +/dL{[hS] 0 setdash}b/o{1 ix}b/rot{3 -1 r}b/x{e d}b/CMT mt d/TM mt d +/SM{CMT sm}b/XY{X D m Y D m a sq}b/s1 1 string d/fp{T charpath flattenpath}b +/p{tr ru 0.25 a e ru 0.25 a e itransform}b/Wd{65536. dv}b +/C{Wd rot Wd rot Wd rot setrgbcolor}b +/setcmykcolor where{P/sk/setcmykcolor L}{/sk{4 1 r 3{3 ix a D 0 lt{P 0}if D 1\ + gt{P 1}if 1 e s 3 1 r}rp setrgbcolor P}b}ie/sg{D currenthsbcolor P rot seths\ +bcolor currenthsbcolor e P e P o s D m .001 gt{setgray}{P}ie}b +/sBg{65535 dv/bBg x 65535 dv/gBg x 65535 dv/rBg +x}b +/sRmp{currentrgbcolor bBg e s/bDst x gBg e s/gDst x rBg e s/rDst x}b +/dD{np 2 1 r 4 2 r xl 2 dv D sc -1 0 M 0 -1 l 1 0 l 0 1 l cp SM 0 ne{f}{lW 0.\ +8 m sl st}ie}b +/dM{gs np 3 1 r xl D sc 0 4 M 0 -8 rl 3.5 2 rm -7 4 rl 0 -4 rm 7 4 rl SM st g\ +r}b/dQ{gs np 0 360 arc 0.5 sg f gr}b +/dR{lW 0.8 m sl 2 ix s/Y x 2 ix s/X x xl Rr SM st}b +/dT{fp pb 3 1 r s 3 2 r s 2 1 r rm f}b/N 0 d/db{array/bs x/N 0 d}b +/B{bs N rot put/N N 1 a d}b +/SpA{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +aR aL m n D aL a 0 M 0 o n aA n aA arc cp f gr}b +/SpH{gs np o o xl rot s e rot s o 0 ne o 0 ne or{at ro}{P P}ie +0 cw 2 dv xl +aR aL m n D aL a 0 M 0 o n aA n 0 arc cp f gr}b/Sp{/St x 0.316/aR x gs +aF lW m 0.8 m St 4 and 0 ne{bW m lW dv bW sl}if/aL x +St 8 and 0 ne{8 ix 8 ix 3 ix 3 ix SpA}if +St 16 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpA}if +St 32 and 0 ne{8 ix 8 ix 3 ix 3 ix SpH}if +St 64 and 0 ne{2 ix 6 m 1 a D ix e D ix e D ix e D ix e P SpH}if +St 2 and 0 ne{St 4 and 0 ne{[hS bW m lW dv] 0 setdash}{dL}ie}if +np M{cv}rp St 128 and 0 ne{f}{st}ie gr}b/Ha{gs np 3 1 r +xl D sc -.7 1.4 M 0.7 1.4 l -.7 2.4 M 0.7 2.4 l SM st gr}b +/OP{3 ix 3 ix xl 3 -1 r s 3 1 r +e s o o at ro D m e D m a sq}b +/OB{/bS x OP D bS dv D lW 2 m lt{P lW 2 m}if/bd x}b +/DA{np 0 0 M aL 0 aR aL m 180 aA s 180 aA a arc cp f}b +/OA{np 0 cw -2 dv M aL 0 aR aL m 180 aA s +180 arc 0 cw -2 dv rl cp f}b +/Ast{SM cw 0.8 m sl st}b/SA{aF m lW m/aL x 0.263/aR x aL 1 aR s m np 0 M + rad 0 l gs Ast gr}b +/CA{aF lW m 0.8 m/aL x 0.316/aR x aL 1 aR s m 2 dv rad D m o D m s D 0 le{P +P P}{sq at 2 +m np rad 0 rad 180 6 -1 r s 180 6 -1 r s arc gs Ast gr cpt +e at ro}ie}b/AA{np rad 0 rad 180 180 6 -1 r a arc gs SM st gr}b +/RA{lW m/w x np rad w M w .7 dv w l rad w n M w .7 dv w n l w + .35 dv w 2 m M 0 0 +l w .35 dv w -2 m l st}b +/HA{lW m/w x np 0 0 M w 2 m D l w 2 m w l rad w l rad w n l w 2 m +w n l w 2 m D n l cp st}b +/Ar1{gs 5 1 r OP/rad x{{2.25 SA DA}{1.5 SA DA}{1 SA DA}{lW 4 m sl 4.5 SA DA} +{lW 4 m sl 3 SA DA}{lW 4 m sl 2 SA +DA}{270 CA DA}{180 CA DA}{120 CA DA}{90 CA DA}{2.5 RA}{2.5 +HA}{1 -1 sc 270 CA DA}{1 -1 sc 180 CA DA}{1 -1 sc 120 CA DA}{1 -1 sc 90 CA +DA}{5 RA}{5 HA}{dL 2.25 SA DA}{dL 1.5 SA DA}{dL 1 SA DA}{2.25 SA OA}{1.5 SA +OA}{1 SA OA}{1 -1 sc 2.25 SA OA}{1 -1 sc 1.5 SA OA} +{1 -1 sc 1 SA OA}{270 CA OA}{180 CA OA}{120 CA OA}{90 CA OA}{1 -1 sc 270 CA +OA}{1 -1 sc 180 CA OA}{1 -1 sc 120 CA OA}{1 -1 sc 90 CA OA}{1 -1 sc 270 +AA}{1 -1 sc 180 AA}{1 -1 sc 120 AA}{1 -1 sc 90 AA}}e g xc +gr}b/ac{arcto 4{P}rp}b/rO{4 cw m}b/Cr{0 0 1 0 360 arc}b/Ac{XY D sc Cr SM}b +/OrA{Y X at ro XY D rev{neg}if sc}b/Ov{OrA 1 0.4 sc Cr SM}b +/Asc{OrA 1 27 dv D sc}b/LB{9 -6 M +21 -10 27 -8 27 0 cv +27 8 21 10 9 6 cv +-3 2 -3 -2 9 -6 cv +cp}b/DLB{0 0 M +0 0 -9.51 9.65 -9.51 18.02 cv +-9.51 23.22 -6.75 27 0 27 cv +6.75 27 9.51 23.22 9.51 18.02 cv +9.51 9.65 0 0 0 0 cv +cp}b/ZLB{LB}b +/dt{gs np M SM cpt np rot 4.5 dv 0 360 arc f gr}b +/whf{gs 1 setgray f gr SM st}b/blf{gs f gr SM st}b/Rr{0 rO M +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +0 0 0 Y rO ac +cp}b/Rc{0 0 M +0 Y l +X Y l +X 0 l +cp}b/grf{gs 0.5 sg f gr SM st}b/gG{D 32 dv D m 1 e s/gry x +currentrgbcolor bDst gry m a 3 1 r gDst gry m a 3 1 r rDst gry m a 3 1 r +setrgbcolor}b/gS{dtransform CMT idtransform +m D 0 lt{n}if sq n D +CMT dtransform idtransform +e 2 m e +xl +7 m 32 a 256 dv D sc}b/gLB{sh{sRmp +32 -0.5 0.5{gs +gG +13.5 0 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv +gS +-13.5 0 xl +LB f +gr}for +LB SM st}{LB grf}ie}b/gOv{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv 0.65 m D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b/gAc{sh{sRmp +32 -0.5 0.5{gs +gG +D 32 s 64 dv D +gS +Cr f +gr}for +Cr SM st}{Cr grf}ie}b +/gDLB{sh{sRmp +32 -0.5 0.5{gs +gG +0 13.5 xl +D 32 s 64 dv 13.5 m D 7 m 24 dv e +gS +0 -13.5 xl +DLB f +gr}for +DLB SM st}{DLB grf}ie}b/gRr{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rr f +gr}for +Rr SM st}{Rr grf}ie}b/gRc{sh{sRmp +32 -0.5 0.5{gs +gG +X 2 dv Y 2 dv xl +D 32 s 64 dv X Y lt{X}{Y}ie m 0.25 m D +gS +X -2 dv Y -2 dv xl +Rc f +gr}for +Rc SM st}{Rc grf}ie}b/gZLB{gLB}b/Ath{Y X at ro XY 2 dv/rad x gs D SA DA gr + rad 2 m 0 xl 180 ro SA DA}b/Aeq{Y X at ro XY/rad x +rev{1 -1 sc}if +gs +0 lW 2 m xl +D SA OA +gr +rad 0 xl +180 ro +0 lW 2 m xl +SA OA}b/Aos{X Y M SM cpt xl XY e dv lW 1.667 m o o lt{e}if P D sc}b/Ach{5 Aos +gs/Helvetica findfont[1 0 0 -1 0 0]makefont 5.5 scalefont setfont +D stringwidth P 2 dv D 1 a/rad x +n 0 M show gr +rad 2 s -5 M +rad n -5 rad n 1 2 ac +rad n 1 rad 1 2 ac +rad 1 rad -5 2 ac +rad -5 rad n -5 2 ac +cp Ast}b/Ar{D 39 lt{Ar1} +{gs 5 1 r o o xl 3 -1 r e s 3 1 r s e +o 0 lt o 0 lt ne/rev x +D 0 lt{1 -1 sc neg}if/Y x D 0 lt{-1 1 sc neg} +if/X x np{{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M 0 0 l 0 Y l lp Y l +X lp s 0 M X 0 l X Y l X lp s Y l SM st}{Y 16 div D 2 S lt{P 2 S}if/lp x +lp 0 M +0 0 0 Y lp ac +0 Y 2 dv lp neg o lp ac +0 Y 2 dv 0 Y lp ac +0 Y lp Y lp ac +X lp s 0 M +X 0 X Y lp ac +X Y 2 dv X lp a o lp ac +X Y 2 dv X Y lp ac +X Y X lp s Y lp ac SM st}{Y D 2 dv Y 180 pA s 180 pA a arc st +np X Y s Y 2 dv +Y pA D neg arcn st}{Rc SM st}{X lW 2 dv a lW -2 dv M +rO D rl +X lW 2 dv a rO a Y lW 2 dv a rO a l +rO lW -2 dv a Y lW 2 dv a rO a l +lW -2 dv Y lW 2 dv a l +0 Y l X Y l X 0 l cp f +0 0 M +0 Y l +X Y l +X 0 l cp +SM st}{Rr SM st}{rO Y M rO rO xl +0 Y X Y rO ac +X Y X 0 rO ac +X 0 0 0 rO ac +rO neg D xl X Y 0 Y rO ac +cp f +Rr st}{Ac st}{OrA gAc}{Ov st}{OrA 1 .4 sc gOv}{Asc LB whf}{Asc gLB} +{Asc gs gLB gr +-1 -1 sc LB whf}{Asc gs gLB gr +-0.4 -0.4 sc LB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc gLB}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro gs gDLB gr -1 -1 sc gDLB}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc gOv gr +ZLB whf}{Asc gs -1 -1 sc gZLB gr +gs 3.6 12 sc Cr whf gr +gZLB}{0 0 M X Y l SM st}{bW sl 0 0 M X Y l SM st} +{dL 0 0 M X Y l SM st}{OrA 1 16 dv D sc +0 -1 M +0 0 1 0 1 ac +8 0 8 1 1 ac +8 0 16 0 1 ac +16 0 16 -1 1 ac +SM st}{XY D 0 0 dt X Y dt}{XY 2 dv X Y dt}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{XY D X Y dt 0 0 M SM cpt xl +2 dv D sc +1 0 M -1 0 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +2 0 M 0 0 2 0 360 arc +Ast}{4.5 Aos +1 0 M -1 0 l +2 0 M 0 0 2 0 360 arc +Ast}{2.25 Ath}{1.5 Ath}{1 Ath}{2.25 Aeq}{1.5 Aeq}{1 Aeq}{OrA 1 16 dv D sc +0 -1 M 0 0 l 16 0 l 16 -1 l SM st}{5 Aos +1 -1 M -1 -1 l +0 2 M 0 -2 l +Ast}{5 Aos +1 -1 M -1 -1 l +1 1 M -1 1 l +0 2 M 0 -2 l +Ast}{4.5 Aos +1 0 M -1 0 l +0 1 M 0 -1 l +Ast}{4.5 Aos +1 0 M -1 0 l +Ast}{gRc}{gRr}{Rc blf}{Rr blf}{Ac blf}{Ov blf}{Asc DLB -1 -1 sc DLB gs whf gr +np 90 ro DLB -1 -1 sc DLB blf}{Asc gs -1 -1 sc ZLB blf gr +gs 3.6 12 sc Cr whf gr +ZLB blf}{Asc gs -1 -1 sc ZLB whf gr +gs 3.6 12 sc Cr blf gr +ZLB whf}{Asc LB gs whf gr +np -0.4 -0.4 sc LB blf}{Asc LB gs f gr gs SM st gr +np -0.4 -0.4 sc LB whf}{Asc LB blf}{Asc LB gs f gr gs SM st gr +np -1 -1 sc LB whf}{Ac whf}{OrA gAc}{Ac blf}{Ov whf} +{OrA 1 .4 sc gOv}{Ov blf}{(Rac)Ach}{(Abs)Ach}{(Rel)Ach} +}e 39 s g xc gr}ie}b/DS{np M l st}b +/DD{gs dL DS gr}b/DB{gs 12 OB bW sl np 0 0 M 0 l st gr}b/ap{e 3 ix a +e 2 ix a}b/PT{D 2 4 gi al P OP D 1 sc +o length 6 gt{P 6 g}{e P 8 dv}ie +D lW 2 m lt{P lW 2 m}if +0 e +0 0 +3 -1 r s 3 1 r e s e +0 0 M 1 0 l +0 0 ap M 1 0 ap l +e n e n +0 0 ap M 1 0 ap l +P P}b/DT{gs np PT SM st gr}b +/NH{lW s D hS dv ru +cvi D 0 eq{P 1}if/nH x +D hS nH m s +D 0 lt{P .1 s nH dv}{nH 2 a dv D 0 xl 2 m s nH dv}ie}b +/Bd{D type/arraytype ne{bs e g}if{{P}{{{DS}{DD}{gs 12 OB np +bW 2 dv/bd x +lW 2 dv e D NH e{D bd M bd n l}for +st gr}{gs 12 OB np +lW 2 dv 0 xl NH 1 sc +bW 2 dv wF m nH 1 a dv/bd x +0 1 nH +{D 1 a bd m o o M n l}for SM st gr}{P}{DB}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp f gr}{P}{gs 12 OB/bL x +bW 2 dv D lW lt{P lW}if/bd x np 0 0 M +bL bd 4 m dv ru 2 o o lt{e}if P cvi/nSq x +bL nSq 2 m dv D sc +nSq{.135 .667 .865 .667 1 0 rcurveto +.135 -.667 .865 -.667 1 0 rcurveto}rp SM st gr}{gs 12 OB +np 0 lW 2 dv o o n M l bW 2 dv +wF m o o l n l +cp SM lW 0.8 m sl st gr}{P}{4 2 r gs OP/rad x 1 SA DA gr}{P} +}o 1 g 1 s g e 2 4 gi al P +5 -1 r xc}{al P 8 ix 1 eq{DD}{DS}ie 5 -1 r 2 eq{DB}{DS}ie P}{DT}}o 0 g g xc}b +/ed{gs cpt np cw 2 dv 0 360 arc f gr}b +/SPe{gs 0 e xl 1 1 S dv D n sc CMT currentmatrix P lW sl 4.0 setmiterlimit +np}b/ws{Wd 0 32 4 -1 roll widthshow}b/blank/Times-Roman findfont/CharStrings +g/space g d/mv 256 array d/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT +/FF/CR/SO/SI +/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +mv 0 32 gi as P +mv 32/Times-Roman findfont/Encoding get +32 96 gi putinterval +mv 39/quotesingle put +mv 96/grave put/unknown/unknown/quotesinglbase/florin/quotedblbase/ellipsis +/dagger/daggerdbl +/circumflex/perthousand/Scaron/guilsinglleft/OE/unknown/unknown/unknown +/unknown/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash +/emdash +/tilde/trademark/scaron/guilsinglright/oe/unknown/unknown/Ydieresis +/blank/exclamdown/cent/sterling/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered +/macron +/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph +/periodcentered +/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf +/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +mv 128 128 gi as P/fSt 50 string d(ChemDraw)fSt copy P/fD{D/Symbol eq{ +findfont[1 0 0 -1 0 0]makefont}{D {findfont}stopped{/Helvetica findfont}if +D length dict/newdict x{ +1 index/FID ne{1 index/FontMatrix eq{[1 0 0 -1 0 0]matrix concatmatrix}if +newdict 3 1 r put}{P P}ie}forall +newdict/Encoding mv put +fSt 8 fSt length 8 sub gi cvs length 8 add +fSt 0 rot gi cvn newdict definefont}ie}b/ts{gs xl ro 0 0 M}b +/nl{0 e xl 0 0 M}b/tx{ft e g e sf m rot D 96 and 0 ne{ +64 and 0 ne{-0.5}{0.25}ie e 0.75 m}{P 0 e}ie +D 4 -1 r e scalefont setfont m cpt P e M}b +end +%%EndProcSet + +%%EndProlog +chemdict30 begin +/cW 40 def +/bW 80 def +/lW 20 def +/hS 54 def +/sh true def +724 SPe[ +/Helvetica +fD +/Times-Roman +fD]/ft x +2080 6760 M +8500 6760 l +8500 7720 l +2080 7720 l +cp +clip +np +65535 65535 65535 sBg +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +20 D sl/lW x +5577 +7156 M +4871 7156 l +st +5015 7216 M +5721 7216 l +st +gs +20 sl +5751 7166 +5751 7166 5751 7166 5576 7166 5751 7166 5751 7166 5551 7104 5576 7133 5576 +7166 5751 7166 5551 7104 5551 7104 4 5751 7166 129 Sp +gr +gs +20 sl +4841 +7206 4841 7206 4841 7206 5041 7268 4841 7206 4841 7206 5016 7219 5041 7268 +5041 7268 4841 7206 5016 7206 5016 7206 4 4841 7206 129 Sp +gr +gr +0 4084 +7647 ts +0 65535 65535 C +64 10 0 tx +(6)show +0 10 0 tx +(X)show +gr +0 2354 7047 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 3603 7611 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 2132 7647 ts +65535 32896 0 C +64 10 0 tx +(5)show +0 10 0 tx +(X)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +2328 +7424 M +2308 7424 l +2308 7087 l +2328 7087 l +cp +f +gr +gs +20 D sl/lW x +40 +/cW x +80 /bW x +54 /hS x +0 0 0 C +np +2256 7424 M +2236 7424 l +2236 7087 l +2256 7087 l +cp +f +gr +0 7058 7587 ts +0 0 0 C +0 12 0 tx +0 0 0 C +(+)show +gr +0 6299 7647 ts +65535 32896 0 C +64 10 0 tx +(5)show +0 10 0 tx +(X)show +gr +0 8236 7623 ts +0 65535 65535 C +64 10 0 tx +(6)show +0 10 0 tx +(X)show +gr +0 7738 7047 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(R)show +gr +0 6521 7047 ts +65535 0 0 C +-227.856 0 M +64 10 0 tx +(1)show +0 10 0 tx +(R)show +gr +0 6772 7047 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +6737 +6931 M +6737 6951 l +6556 6951 l +6556 6931 l +cp +f +gr +gs +20 D sl/lW x +40 +/cW x +80 /bW x +54 /hS x +0 0 0 C +np +6737 6988 M +6737 7008 l +6556 7008 l +6556 6988 l +cp +f +gr +0 2607 7047 ts +0 0 65535 C +64 10 0 tx +(2)show +0 10 0 tx +(R)show +gr +0 3042 7047 ts +0 32896 0 C +64 10 0 tx +(3)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +3009 +6959 M +3009 6979 l +2870 6979 l +2870 6959 l +cp +f +gr +gs +20 D sl/lW x +40 +/cW x +80 /bW x +54 /hS x +0 0 0 C +np +2572 6959 M +2572 6979 l +2389 6979 l +2389 6959 l +cp +f +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 +0 C +np +6439 7087 M +6459 7087 l +6458 7424 l +6438 7424 l +cp +f +gr +0 +4073 7047 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +4183 +7087 M +4203 7087 l +4207 7423 l +4187 7423 l +cp +f +gr +gs +20 D sl/lW x +40 +/cW x +80 /bW x +54 /hS x +0 0 0 C +np +4255 7087 M +4275 7086 l +4279 7422 l +4259 7422 l +cp +f +gr +0 8225 7047 ts +65535 0 65535 C +64 10 0 tx +(4)show +0 10 0 tx +(R)show +gr +gs +20 D sl/lW x +40 /cW x +80 /bW x +54 /hS x +0 0 0 C +np +8187 +6959 M +8187 6979 l +8001 6979 l +8001 6959 l +cp +f +gr +gs +20 D sl/lW x +40 +/cW x +80 /bW x +54 /hS x +0 0 0 C +np +8372 7087 M +8392 7087 l +8395 7399 l +8375 7399 l +cp +f +gr +gr +end +%%Trailer +showpage diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/dictionary.txt b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/dictionary.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/reactions.py b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/reactions.py new file mode 100644 index 0000000000..4fa90f3a92 --- /dev/null +++ b/input/kinetics/families/Surface_Abstraction_vdW_Bidentate_Beta/training/reactions.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python +# encoding: utf-8 + From a8ad6c1aff2297f6f87409a7743792e67b9c1b36 Mon Sep 17 00:00:00 2001 From: Bjarne Kreitz Date: Wed, 20 May 2026 22:02:14 -0400 Subject: [PATCH 5/5] add new families to recommended.py --- input/kinetics/families/recommended.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/input/kinetics/families/recommended.py b/input/kinetics/families/recommended.py index 6d4fd8b43e..88797f845e 100644 --- a/input/kinetics/families/recommended.py +++ b/input/kinetics/families/recommended.py @@ -129,6 +129,10 @@ 'Surface_Abstraction_Charge_Separation', 'Surface_Dissociation_Charge_Separation', 'Surface_Dissociation_Charge_Single', + 'Surface_Monodentate_to_vdW_Bidentate', + 'Surface_Dissociation_vdW_Bidentate', + 'Surface_Dissociation_vdW_Bidentate_Beta', + 'Surface_Abstraction_vdW_Bidentate_Beta', #'Surface_Carbonate_Deposition', #'Surface_Carbonate_F_CO_Decomposition', #'Surface_Carbonate_2F_Decomposition',