From a16534ef1044f9d7f7281ee5adad65822d230577 Mon Sep 17 00:00:00 2001 From: zjburas Date: Fri, 3 Feb 2017 00:18:12 -0500 Subject: [PATCH 01/26] Added 4 polycyclic and 1 ring thermo corrections. New corrections mostly fit to M06 calculations (one used CBS-QB3). Corrections are meant to prevent RMG from producing highly strained cyclic species while modeling CPD pyrolysis. --- input/thermo/groups/polycyclic.py | 170 +++++++++++++++++++++++++++++- input/thermo/groups/ring.py | 27 ++++- 2 files changed, 194 insertions(+), 3 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index c297b36aa8..30578b4c9e 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -2581,7 +2581,7 @@ entry( index = 0, label = "s2_3_6_ene", - group = "OR{s2_3_6_ene_1, s2_3_6_ene_2}", + group = "OR{s2_3_6_ene_1, s2_3_6_ene_2, s2_3_6_ene_5}", thermo = None, shortDesc = u"""""", longDesc = @@ -2645,7 +2645,7 @@ entry( index = 0, label = "s2_3_6_diene", - group = "OR{s2_3_6_diene_0_2, s2_3_6_diene_0_3, s2_3_6_diene_1_3}", + group = "OR{s2_3_6_diene_0_2, s2_3_6_diene_0_3, s2_3_6_diene_1_3, s2_3_6_diene_2_5}", thermo = None, shortDesc = u"""""", longDesc = @@ -8554,6 +8554,166 @@ """, ) +entry( + index = 76, + label = "s2_3_6_ene_5", + group = +""" +1 R!H u0 {2,S} {3,D} {4,S} +2 R!H u0 {1,S} {3,S} {5,S} +3 R!H u0 {1,D} {2,S} +4 R!H u0 {1,S} {7,S} +5 R!H u0 {2,S} {6,S} +6 * R!H u0 {5,S} {7,S} +7 R!H u0 {4,S} {6,S} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-33.0644, -30.4388, -27.9344, -25.2475, -19.6467, -15.2896, -10.1737], 'J/(mol*K)'), + H298=(262.495, 'kJ/mol'), + S298=(238.794, 'J/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to M06 calculations +""", +) + +entry( + index = 77, + label = "s2_3_6_diene_2_5", + group = +""" +1 R!H u0 {2,S} {3,D} {4,S} +2 R!H u0 {1,S} {3,S} {5,S} +3 R!H u0 {1,D} {2,S} +4 R!H u0 {1,S} {7,S} +5 R!H u0 {2,S} {6,S} +6 * R!H u0 {5,S} {7,D} +7 R!H u0 {4,S} {6,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-25.6671, -24.8396, -23.399, -21.6937, -17.9095, -14.865, -11.0665], 'J/(mol*K)'), + H298=(259.334, 'kJ/mol'), + S298=(242.952, 'J/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to M06 calculations +""", +) + +entry( + index = 78, + label = "s3_5_6_ben_ane_res1", + group = +""" +1 R!H u0 {3,B} {5,S} {6,B} +2 R!H u0 {3,B} {4,S} {7,B} +3 R!H u0 {1,B} {2,B} +4 R!H u0 {2,S} {5,S} +5 R!H u0 {1,S} {4,S} +6 R!H u0 {1,B} {8,B} +7 R!H u0 {2,B} {8,B} +8 * R!H u0 {6,B} {7,B} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-0.469, -0.262, -0.442, -0.825, -0.747, 0.339, 0.354], 'cal/(mol*K)'), + H298=(166.291, 'kcal/mol'), + S298=(30.103, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 78, + label = "s3_5_6_ben_ane_res2", + group = +""" +1 R!H u0 {3,S} {5,S} {6,D} +2 R!H u0 {3,D} {4,S} {7,S} +3 R!H u0 {1,S} {2,D} +4 R!H u0 {2,S} {5,S} +5 R!H u0 {1,S} {4,S} +6 R!H u0 {1,D} {8,S} +7 R!H u0 {2,S} {8,D} +8 * R!H u0 {6,S} {7,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-0.469, -0.262, -0.442, -0.825, -0.747, 0.339, 0.354], 'cal/(mol*K)'), + H298=(166.291, 'kcal/mol'), + S298=(30.103, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Copy of res 1 correction. Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 79, + label = "s3_5_6_ben_ene_res1", + group = +""" +1 R!H u0 {3,B} {5,S} {6,B} +2 R!H u0 {3,B} {4,S} {7,B} +3 R!H u0 {1,B} {2,B} +4 R!H u0 {2,S} {5,D} +5 R!H u0 {1,S} {4,D} +6 R!H u0 {1,B} {8,B} +7 R!H u0 {2,B} {8,B} +8 * R!H u0 {6,B} {7,B} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-7.96404, -8.74552, -8.7074, -8.03332, -5.94428, -4.49956, -4.93892], 'J/(mol*K)'), + H298=(708.321, 'kJ/mol'), + S298=(145.354, 'J/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to M06 calculations +""", +) + +entry( + index = 80, + label = "s3_5_6_ben_ene_res2", + group = +""" +1 R!H u0 {3,S} {5,S} {6,D} +2 R!H u0 {3,D} {4,S} {7,S} +3 R!H u0 {1,S} {2,D} +4 R!H u0 {2,S} {5,D} +5 R!H u0 {1,S} {4,D} +6 R!H u0 {1,D} {8,S} +7 R!H u0 {2,S} {8,D} +8 * R!H u0 {6,S} {7,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-14.24, -20.6281, -22.933, -23.0957, -21.9272, -19.2272, -22.6791], 'J/(mol*K)'), + H298=(600.625, 'kJ/mol'), + S298=(297.401, 'J/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to M06 calculations +""", +) + tree( """ L1: PolycyclicRing @@ -8682,10 +8842,12 @@ L3: s2_3_6_ene L4: s2_3_6_ene_1 L4: s2_3_6_ene_2 + L4: s2_3_6_ene_5 L3: s2_3_6_diene L4: s2_3_6_diene_0_2 L4: s2_3_6_diene_0_3 L4: s2_3_6_diene_1_3 + L4: s2_3_6_diene_2_5 L3: s2_3_6_ben L2: s2_3_7 L3: s2_3_7_ane @@ -8875,6 +9037,10 @@ L4: s3_5_6_ene_5 L3: s3_5_6_diene L4: s3_5_6_diene_1_5 + L3: s3_5_6_ben_ane_res1 + L3: s3_5_6_ben_ane_res2 + L3: s3_5_6_ben_ene_res1 + L3: s3_5_6_ben_ene_res2 L2: s3_6_6 L3: s3_6_6_ane L3: s3_6_6_ene diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 7856bd19de..ff96e9dfb6 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -3819,6 +3819,30 @@ """, ) +entry( + index = 92, + label = "1,2-Cyclopentadiene", + group = +""" +1 * Cs u0 {2,S} {5,S} +2 Cd u0 {1,S} {3,D} +3 Cdd u0 {2,D} {4,D} +4 Cd u0 {3,D} {5,S} +5 Cs u0 {1,S} {4,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-3.610227533, -3.220365201, -2.9183174, -2.860732314, -2.503231358, -1.669783939, -1.310015296],'cal/(mol*K)'), + H298 = (65.85343212,'kcal/mol'), + S298 = (26.75230402,'cal/(mol*K)'), + ), + shortDesc = u"""Fitted to M06 calculation""", + longDesc = +u""" + +""", +) + tree( """ L1: Ring @@ -3876,6 +3900,8 @@ L3: Cyclopentane L3: Cyclopentene L3: Cyclopentadiene + L3: 1,2-Cyclopentadiene + L3: Cyclopentatriene L3: Tetrahydrofuran L3: 2,3-Dihydrofuran L3: 1,3-Dioxolane @@ -3905,7 +3931,6 @@ L3: 3-Methylenecyclopentene L3: 4-Methylenecyclopentene L3: 12methylenecyclopentane - L3: Cyclopentatriene L2: SixMember L3: sixnosidedouble L4: Cyclohexane From f45ef539ba533c99c5f743623157d36340ae3888 Mon Sep 17 00:00:00 2001 From: zjburas Date: Mon, 6 Feb 2017 21:24:06 -0500 Subject: [PATCH 02/26] Created new polycyclic thermo corrections for two critical tricyclic intermediates on pathway to naphthalene from CPD'yl recombination. Thermo from Shamel/Aaron CBS-QB3 calcs. Previous GAV estimate was ~10 kcal too high, causing naphthalene not to form from CPD pyrolysis at 1000 K. --- input/thermo/groups/polycyclic.py | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index 30578b4c9e..86b5489294 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -8714,6 +8714,64 @@ """, ) +entry( + index = 86, + label = "s1-2_5d1d3_3_5d1_triene", + group = +""" +1 * R!H u0 {2,S} {3,S} {4,S} {5,S} +2 R!H u0 {1,S} {3,S} {6,S} +3 R!H u0 {1,S} {2,S} {7,S} +4 R!H u0 {1,S} {9,D} +5 R!H u0 {1,S} {10,D} +6 R!H u0 {2,S} {8,D} +7 R!H u0 {3,S} {8,S} +8 R!H u0 {6,D} {7,S} +9 R!H u0 {4,D} {10,S} +10 R!H u0 {5,D} {9,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-7.108, -7.764, -7.893, -7.784, -7.495, -7.132, -5.2],'cal/(mol*K)'), + H298 = (38.553,'kcal/mol'), + S298 = (95.09,'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" + +""", +) + +entry( + index = 87, + label = "s2-2_5d1_3_6d1d3_triene", + group = +""" +1 * R!H u0 {2,S} {3,S} {4,S} {5,S} +2 R!H u0 {1,S} {3,S} {7,S} +3 R!H u0 {1,S} {2,S} {6,S} +4 R!H u0 {1,S} {8,S} +5 R!H u0 {1,S} {10,D} +6 R!H u0 {3,S} {8,D} +7 R!H u0 {2,S} {9,D} +8 R!H u0 {4,S} {6,D} +9 R!H u0 {7,D} {10,S} +10 R!H u0 {5,D} {9,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-6.846, -7.913, -8.399, -8.495, -8.078, -7.325, -5.437],'cal/(mol*K)'), + H298 = (32.243,'kcal/mol'), + S298 = (93.33,'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" + +""", +) + tree( """ L1: PolycyclicRing @@ -8731,6 +8789,8 @@ L2: s2-4f1_5_5_7_ane L2: s4-3f1_6_6_6_ane L2: s3-3f1_6_5_6_ane + L2: s1-2_5d1d3_3_5d1_triene + L2: s2-2_5d1_3_6d1d3_triene L2: s1_3_3 L3: s1_3_3_ane L3: s1_3_3_ene From 0aa209cf6dcf2bfaf70970dc655be98612c7210c Mon Sep 17 00:00:00 2001 From: zjburas Date: Fri, 10 Feb 2017 01:04:07 -0500 Subject: [PATCH 03/26] Created new ring thermo group for cyclopentyne based on CBS-QB3 calculations. Also, added more general ring correction for any five-membered ring containing a triple bond using cyclopentyne value. --- input/thermo/groups/polycyclic.py | 4 +-- input/thermo/groups/ring.py | 49 +++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index 86b5489294..b4ac55174d 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -4976,7 +4976,7 @@ entry( index = 117, label = "s2_5_6_indene", - group = + group = """ 1 * R!H u0 {2,B} {3,S} {4,B} 2 R!H u0 {1,B} {5,S} {6,B} @@ -4995,7 +4995,7 @@ S298 = (33.08,'cal/(mol*K)'), ), shortDesc = u"""""", - longDesc = + longDesc = u""" Verevkin (2011), experimental, S and cp from PM7 """, diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index ff96e9dfb6..c0459faec2 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -1115,8 +1115,8 @@ label = "FiveMember", group = """ -1 * R!H u0 {2,[S,D]} {5,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D]} +1 * R!H u0 {2,[S,D,T]} {5,[S,D]} +2 R!H u0 {1,[S,D,T]} {3,[S,D]} 3 R!H u0 {2,[S,D]} {4,[S,D]} 4 R!H u0 {3,[S,D]} {5,[S,D]} 5 R!H u0 {1,[S,D]} {4,[S,D]} @@ -3843,6 +3843,49 @@ """, ) +entry( + index = 93, + label = "Cyclopentyne", + group = +""" +1 * Ct u0 {2,T} {5,S} +2 Ct u0 {1,T} {3,S} +3 Cs u0 {2,S} {4,S} +4 Cs u0 {3,S} {5,S} +5 Cs u0 {1,S} {4,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-1.441, -1.573, -1.731, -1.812, -1.511, -1.194, -3.151],'cal/(mol*K)'), + H298 = (72.047,'kcal/mol'), + S298 = (28.96,'cal/(mol*K)'), + ), + shortDesc = u"""Fitted to CBS-QB3 calculation""", + longDesc = +u""" + +""", +) + +entry( + index = 94, + label = "five-inringonetriple", + group = +""" +1 * R!H u0 {2,T} {5,[S,D]} +2 R!H u0 {1,T} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D]} +5 R!H u0 {1,[S,D]} {4,[S,D]} +""", + thermo = u'Cyclopentyne', + shortDesc = u"""""", + longDesc = +u""" +Use cyclopentyne ring correction for any five-membered ring containing a triple bond. +""", +) + tree( """ L1: Ring @@ -3902,6 +3945,8 @@ L3: Cyclopentadiene L3: 1,2-Cyclopentadiene L3: Cyclopentatriene + L3: five-inringonetriple + L4: Cyclopentyne L3: Tetrahydrofuran L3: 2,3-Dihydrofuran L3: 1,3-Dioxolane From d56f3d996fb130465c34aba53fbae0a2c27be4fb Mon Sep 17 00:00:00 2001 From: zjburas Date: Sat, 11 Feb 2017 20:16:55 -0500 Subject: [PATCH 04/26] Added polycyclic thermo corrections for s3_5_5_diene_0_4 and s_4_6_6_ben_ben based on CBS-QB3 calculations. The latter correction was entered in 3 different resonance forms. Without these corrections RMG will predict unreasonable products/pathways for CPD pyrolysis. --- input/thermo/groups/polycyclic.py | 184 +++++++++++++++++++++++++++++- 1 file changed, 182 insertions(+), 2 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index b4ac55174d..09a44fa4d1 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -7164,7 +7164,7 @@ entry( index = 0, label = "s3_5_5_diene", - group = "OR{s3_5_5_diene_1_4}", + group = "OR{s3_5_5_diene_1_4, s3_5_5_diene_0_4}", thermo = None, shortDesc = u"""""", longDesc = @@ -8035,7 +8035,7 @@ group = "OR{s4_6_8_ene_7}", thermo = None, shortDesc = u"""""", - longDesc = + longDesc = u""" """, @@ -8772,6 +8772,181 @@ """, ) +entry( + index = 118, + label = "s2_5_6_ben_yne_1_res2", + group = +""" +1 * R!H u0 {2,D} {3,S} {4,S} +2 R!H u0 {1,D} {5,S} {6,S} +3 R!H u0 {1,S} {7,S} +4 R!H u0 {1,S} {8,D} +5 R!H u0 {2,S} {7,T} +6 R!H u0 {2,S} {9,D} +7 R!H u0 {3,S} {5,T} +8 R!H u0 {4,D} {9,S} +9 R!H u0 {6,D} {8,S} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-1.5365, -2.13592, -2.3522, -2.02817, -1.28741, -1.73936, -3.47344], 'cal/(mol*K)'), + H298=(68.097, 'kcal/mol'), + S298=(34.0579, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Copy of res 1 correction. Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 118, + label = "s2_5_6_ben_yne_1_res3", + group = +""" +1 * R!H u0 {2,S} {3,S} {4,D} +2 R!H u0 {1,S} {5,S} {6,D} +3 R!H u0 {1,S} {7,S} +4 R!H u0 {1,D} {8,S} +5 R!H u0 {2,S} {7,T} +6 R!H u0 {2,D} {9,S} +7 R!H u0 {3,S} {5,T} +8 R!H u0 {4,S} {9,D} +9 R!H u0 {6,S} {8,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-1.5365, -2.13592, -2.3522, -2.02817, -1.28741, -1.73936, -3.47344], 'cal/(mol*K)'), + H298=(68.097, 'kcal/mol'), + S298=(34.0579, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Copy of res 1 correction. Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 119, + label = "s3_5_5_diene_0_4", + group = +""" +1 R!H u0 {3,S} {6,S} {7,S} +2 R!H u0 {3,S} {4,D} {5,S} +3 R!H u0 {1,S} {2,S} +4 * R!H u0 {2,D} {6,S} +5 R!H u0 {2,S} {7,D} +6 R!H u0 {1,S} {4,S} +7 R!H u0 {1,S} {5,D} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-7.117, -6.624, -6.352, -6.401, -5.37, -3.457, -3.059],'cal/(mol*K)'), + H298 = (86.425,'kcal/mol'), + S298 = (57.025,'cal/(mol*K)'), + ), + shortDesc = u"""Fitted to CBS-QB3 calculation""", + longDesc = +u""" +Fitted to CBS-QB3 calculation. +""", +) + +entry( + index = 0, + label = "s4_6_6_ben_ben", + group = "OR{s4_6_6_ben_ben_res1, s4_6_6_ben_ben_res2, s4_6_6_ben_ben_res3}", + thermo = None, + shortDesc = u"""""", + longDesc = +u""" + +""", +) + +entry( + index = 180, + label = "s4_6_6_ben_ben_res1", + group = +""" +1 * R!H u0 {3,B} {6,B} {8,B} +2 R!H u0 {4,B} {5,B} {7,B} +3 R!H u0 {1,B} {4,B} +4 R!H u0 {2,B} {3,B} +5 R!H u0 {2,B} {6,B} +6 R!H u0 {1,B} {5,B} +7 R!H u0 {2,B} {8,B} +8 R!H u0 {1,B} {7,B} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([0.711, 2.163, 2.154, 1.273, 0.527, 0.897, -1.267],'cal/(mol*K)'), + H298 = (165.718,'kcal/mol'), + S298 = (12.735,'cal/(mol*K)'), + ), + shortDesc=u"""Fitted to CBS-QB3 calculation""", + longDesc= + u""" + Fitted to CBS-QB3 calculation. + """, +) + +entry( + index = 181, + label = "s4_6_6_ben_ben_res2", + group = +""" +1 * R!H u0 {3,S} {6,B} {8,B} +2 R!H u0 {4,S} {5,B} {7,B} +3 R!H u0 {1,S} {4,D} +4 R!H u0 {2,S} {3,D} +5 R!H u0 {2,B} {6,B} +6 R!H u0 {1,B} {5,B} +7 R!H u0 {2,B} {8,B} +8 R!H u0 {1,B} {7,B} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-2.829, -1.234, -0.797, -1.155, -1.114, -0.25, -0.824],'cal/(mol*K)'), + H298 = (156.978,'kcal/mol'), + S298 = (28.635,'cal/(mol*K)'), + ), + shortDesc=u"""Fitted to CBS-QB3 calculation""", + longDesc= + u""" + Fitted to CBS-QB3 calculation. + """, +) + +entry( + index = 182, + label = "s4_6_6_ben_ben_res3", + group = +""" +1 * R!H u0 {3,S} {6,D} {8,S} +2 R!H u0 {4,S} {5,D} {7,S} +3 R!H u0 {1,S} {4,D} +4 R!H u0 {2,S} {3,D} +5 R!H u0 {2,D} {6,S} +6 R!H u0 {1,D} {5,S} +7 R!H u0 {2,S} {8,D} +8 R!H u0 {1,S} {7,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([0.711, 2.163, 2.154, 1.273, 0.527, 0.897, -1.267], 'cal/(mol*K)'), + H298=(165.718, 'kcal/mol'), + S298=(12.735, 'cal/(mol*K)'), + ), + shortDesc=u"""""", + longDesc= + u""" + Copy of res 1 correction. + """, +) + tree( """ L1: PolycyclicRing @@ -9090,6 +9265,7 @@ L3: s3_5_5_ane L3: s3_5_5_diene L4: s3_5_5_diene_1_4 + L4: s3_5_5_diene_0_4 L2: s3_5_6 L3: s3_5_6_ane L3: s3_5_6_ene @@ -9126,6 +9302,10 @@ L4: s3_6_7_diene_6_9-0 L2: s4_6_6 L3: s4_6_6_ane + L3: s4_6_6_ben_ben + L4: s4_6_6_ben_ben_res1 + L4: s4_6_6_ben_ben_res2 + L4: s4_6_6_ben_ben_res3 L2: s4_6_8 L3: s4_6_8_ane L3: s4_6_8_ene From aa40aeda1a34215d0c31206b1e2dbfdd66d5b41d Mon Sep 17 00:00:00 2001 From: zjburas Date: Sat, 11 Feb 2017 21:03:46 -0500 Subject: [PATCH 05/26] Group all polycyclic corrections that are resonance isomers of the same molecule under a single parent node to avoid weighting these essentially redundant entries too much in the averaging of higher level nodes. Only applies to 3 locations currently in the polycyclic.py tree: s3_5_6_ben_ane s3_5_6_ben_ene s4_6_6_ben_ben --- input/thermo/groups/polycyclic.py | 98 +++++++++++-------------------- 1 file changed, 34 insertions(+), 64 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index 09a44fa4d1..ec381564c9 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -8606,6 +8606,18 @@ """, ) +entry( + index = 0, + label = "s3_5_6_ben_ane", + group = "OR{s3_5_6_ben_ane_res1, s3_5_6_ben_ane_res2}", + thermo = None, + shortDesc = u"""""", + longDesc = +u""" + +""", +) + entry( index = 78, label = "s3_5_6_ben_ane_res1", @@ -8649,14 +8661,26 @@ """, thermo=ThermoData( Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), - Cpdata=([-0.469, -0.262, -0.442, -0.825, -0.747, 0.339, 0.354], 'cal/(mol*K)'), - H298=(166.291, 'kcal/mol'), - S298=(30.103, 'cal/(mol*K)'), + Cpdata=([-7.466, -8.33, -8.73, -8.665, -6.596, -3.859, -3.506], 'cal/(mol*K)'), + H298=(145.431, 'kcal/mol'), + S298=(63.603, 'cal/(mol*K)'), ), + shortDesc=u"""""", + longDesc= + u""" + Fitted to CBS-QB3 calculations + """, +) + +entry( + index = 0, + label = "s3_5_6_ben_ene", + group = "OR{s3_5_6_ben_ene_res1, s3_5_6_ben_ene_res2}", + thermo = None, shortDesc = u"""""", longDesc = u""" -Copy of res 1 correction. Fitted to CBS-QB3 calculations + """, ) @@ -8772,62 +8796,6 @@ """, ) -entry( - index = 118, - label = "s2_5_6_ben_yne_1_res2", - group = -""" -1 * R!H u0 {2,D} {3,S} {4,S} -2 R!H u0 {1,D} {5,S} {6,S} -3 R!H u0 {1,S} {7,S} -4 R!H u0 {1,S} {8,D} -5 R!H u0 {2,S} {7,T} -6 R!H u0 {2,S} {9,D} -7 R!H u0 {3,S} {5,T} -8 R!H u0 {4,D} {9,S} -9 R!H u0 {6,D} {8,S} -""", - thermo=ThermoData( - Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), - Cpdata=([-1.5365, -2.13592, -2.3522, -2.02817, -1.28741, -1.73936, -3.47344], 'cal/(mol*K)'), - H298=(68.097, 'kcal/mol'), - S298=(34.0579, 'cal/(mol*K)'), - ), - shortDesc = u"""""", - longDesc = -u""" -Copy of res 1 correction. Fitted to CBS-QB3 calculations -""", -) - -entry( - index = 118, - label = "s2_5_6_ben_yne_1_res3", - group = -""" -1 * R!H u0 {2,S} {3,S} {4,D} -2 R!H u0 {1,S} {5,S} {6,D} -3 R!H u0 {1,S} {7,S} -4 R!H u0 {1,D} {8,S} -5 R!H u0 {2,S} {7,T} -6 R!H u0 {2,D} {9,S} -7 R!H u0 {3,S} {5,T} -8 R!H u0 {4,S} {9,D} -9 R!H u0 {6,S} {8,D} -""", - thermo=ThermoData( - Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), - Cpdata=([-1.5365, -2.13592, -2.3522, -2.02817, -1.28741, -1.73936, -3.47344], 'cal/(mol*K)'), - H298=(68.097, 'kcal/mol'), - S298=(34.0579, 'cal/(mol*K)'), - ), - shortDesc = u"""""", - longDesc = -u""" -Copy of res 1 correction. Fitted to CBS-QB3 calculations -""", -) - entry( index = 119, label = "s3_5_5_diene_0_4", @@ -9273,10 +9241,12 @@ L4: s3_5_6_ene_5 L3: s3_5_6_diene L4: s3_5_6_diene_1_5 - L3: s3_5_6_ben_ane_res1 - L3: s3_5_6_ben_ane_res2 - L3: s3_5_6_ben_ene_res1 - L3: s3_5_6_ben_ene_res2 + L3: s3_5_6_ben_ane + L4: s3_5_6_ben_ane_res1 + L4: s3_5_6_ben_ane_res2 + L3: s3_5_6_ben_ene + L4: s3_5_6_ben_ene_res1 + L4: s3_5_6_ben_ene_res2 L2: s3_6_6 L3: s3_6_6_ane L3: s3_6_6_ene From 4ccbe4be964d325526aebf9a7354be98aec45cfb Mon Sep 17 00:00:00 2001 From: zjburas Date: Sun, 12 Feb 2017 10:55:23 -0500 Subject: [PATCH 06/26] Made 1,2-CPD and Cyclopentyne ring thermo corrections more general. --- input/thermo/groups/ring.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index c0459faec2..9efee45cf4 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -3824,11 +3824,11 @@ label = "1,2-Cyclopentadiene", group = """ -1 * Cs u0 {2,S} {5,S} +1 * C u0 {2,S} {5,S} 2 Cd u0 {1,S} {3,D} 3 Cdd u0 {2,D} {4,D} 4 Cd u0 {3,D} {5,S} -5 Cs u0 {1,S} {4,S} +5 C u0 {1,S} {4,S} """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), @@ -3850,9 +3850,9 @@ """ 1 * Ct u0 {2,T} {5,S} 2 Ct u0 {1,T} {3,S} -3 Cs u0 {2,S} {4,S} -4 Cs u0 {3,S} {5,S} -5 Cs u0 {1,S} {4,S} +3 C u0 {2,S} {4,S} +4 C u0 {3,S} {5,S} +5 C u0 {1,S} {4,S} """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), From 0eac43b6f1454ca1dc6116f7ce912ca5f5af1f66 Mon Sep 17 00:00:00 2001 From: zjburas Date: Sun, 26 Feb 2017 13:43:31 -0500 Subject: [PATCH 07/26] Modified radical(1,3-cylopentadiene-allyl) correction to match experiments/calculations of 1998 and 2001 Tranter, Kern and Kiefer papers. Absolute Enthalpy of formation at 298 K from experiment (1998 Kern and Tranter). All other values from theory (2001 Kiefer and Tranter). Using new correction,gibb's free energy of CPD'yl is slightly lower at higher T (>1000 K), possibly leading to enhanced unimolecular decomposition of CPD. --- input/thermo/groups/radical.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/input/thermo/groups/radical.py b/input/thermo/groups/radical.py index 26c0331123..0222300c02 100644 --- a/input/thermo/groups/radical.py +++ b/input/thermo/groups/radical.py @@ -2676,7 +2676,7 @@ entry( index = 182, label = "1,3-cyclopentadiene-allyl", - group = + group = """ 1 * Cs u1 {2,S} {3,S} {6,S} 2 Cd u0 {1,S} {4,D} @@ -2687,14 +2687,15 @@ """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-1.54,-1.82,-2.08,-2.32,-2.75,-3.14,-3.85],'cal/(mol*K)'), - H298 = (82.6,'kcal/mol'), - S298 = (-3.81,'cal/(mol*K)'), + Cpdata = ([2.157, 0.892, -0.937, -2.776, -4.931, -3.793, -4.855],'cal/(mol*K)'), + H298 = (84.912,'kcal/mol'), + S298 = (-2.047,'cal/(mol*K)'), ), - shortDesc = u"""Homolytic C-H and N-H bond dissociation energies of strained organic compounds Feng et al. 2004S, Cp copied from Cds_S""", - longDesc = + shortDesc = u"""Combined experimental and theoretical results of Tranter for 1,2-CPD'yl""", + longDesc = u""" - +Absolute Enthalpy of formation at 298 K from experiment (1998 Kern and Tranter). +All other values from theory (2001 Kiefer and Tranter). """, ) From 51038c5b411f204e2a1386509a64e2cf97690c42 Mon Sep 17 00:00:00 2001 From: zjburas Date: Sun, 5 Mar 2017 21:02:30 -0500 Subject: [PATCH 08/26] Added ring() corrections for: cyclohexyne cyclohex_1_yne_4_ene cyclohex_1_yne_3_ene 1_3_cyclohexadiyne --- input/thermo/groups/polycyclic.py | 17 +++-- input/thermo/groups/ring.py | 112 ++++++++++++++++++++++++++++-- 2 files changed, 121 insertions(+), 8 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index ec381564c9..18842484df 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -2572,10 +2572,10 @@ S298 = (236.447,'J/(mol*K)'), ), shortDesc = u"""Fitted from thermo library values""", - longDesc = -u""" -Fitted from molecule s2_3_6_ane from Bicyclics_QM_190_isomorphic library. -""", + longDesc= + u""" + Fitted from molecule s2_3_6_ane from Bicyclics_QM_190_isomorphic library. + """, ) entry( @@ -9052,6 +9052,9 @@ L4: s2_3_6_diene_1_3 L4: s2_3_6_diene_2_5 L3: s2_3_6_ben + L3: s2_3_6_yne + L4: s2_3_6_yne_1 + L4: s2_3_6_yne_2 L2: s2_3_7 L3: s2_3_7_ane L2: s2_3_8 @@ -9084,6 +9087,9 @@ L4: s2_4_6_diene_2_6 L4: s2_4_6_diene_5_7 L3: s2_4_6_ben + L3: s2_4_6_yne + L4: s2_4_6_yne_1 + L4: s2_4_6_yne_2 L2: s2_5_5 L3: s2_5_5_ane L3: s2_5_5_ene @@ -9195,6 +9201,9 @@ L4: s2_6_6_ben_ene_1 L4: s2_6_6_ben_ene_2 L3: s2_6_6_naphthalene + L3: s2_6_6_yne + L4: s2_6_6_yne_1 + L4: s2_6_6_yne_2 L2: s3_4_4 L3: s3_4_4_ane L3: s3_4_4_ene diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 9efee45cf4..6ccca07f07 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -1932,10 +1932,10 @@ label = "SixMember", group = """ -1 * R!H u0 {2,[S,D]} {6,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,[S,D]} +1 * R!H u0 {2,[S,D,T]} {6,[S,D]} +2 R!H u0 {1,[S,D,T]} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,[S,D,T]} +4 R!H u0 {3,[S,D,T]} {5,[S,D]} 5 R!H u0 {4,[S,D]} {6,[S,D]} 6 R!H u0 {1,[S,D]} {5,[S,D]} """, @@ -3886,6 +3886,106 @@ """, ) +entry( + index = 95, + label = "six-inringonetriple", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 [C,Os] u0 {2,S} {4,S} +4 [C,Os] u0 {3,S} {5,S} +5 [C,Os] u0 {4,S} {6,S} +6 [C,Os] u0 {1,S} {5,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-3.306, -2.849, -2.452, -2.229, -1.543, -0.932, -2.535],'cal/(mol*K)'), + H298 = (39.857,'kcal/mol'), + S298 = (21.862,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculation for cyclohexyne +""", +) + +entry( + index = 96, + label = "six-inringonetripleonedouble-14", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 [C,Os] u0 {2,S} {4,S} +4 Cd u0 {3,S} {5,D} +5 Cd u0 {4,D} {6,S} +6 [C,Os] u0 {1,S} {5,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-1.431, -0.775, -1.308, -1.515, -1.294, -0.369, -1.036],'cal/(mol*K)'), + H298 = (38.484,'kcal/mol'), + S298 = (25.2137,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculation for cyclohex_1_yne_4_ene +""", +) + +entry( + index = 97, + label = "six-inringonetripleonedouble-13", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 Cd u0 {2,S} {4,D} +4 Cd u0 {3,D} {5,S} +5 [C,Os] u0 {4,S} {6,S} +6 [C,Os] u0 {1,S} {5,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-2.292 ,-2.038, -2.856, -3.187, -2.814, -1.639,-2.564],'cal/(mol*K)'), + H298 = (48.034,'kcal/mol'), + S298 = (25.6327,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculation for cyclohex_1_yne_3_ene +""", +) + +entry( + index = 98, + label = "six-inringtwotriple-13", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 Ct u0 {2,S} {4,T} +4 Ct u0 {3,T} {5,S} +5 [C,Os] u0 {4,S} {6,S} +6 [C,Os] u0 {1,S} {5,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-1.086,-1.458,-1.692,-1.747,-1.465,-1.403,-3.712],'cal/(mol*K)'), + H298 = (103.484,'kcal/mol'), + S298 = (31.221,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculation for 1_3_cyclohexadiyne +""", +) + tree( """ L1: Ring @@ -4026,6 +4126,10 @@ L4: pbenzoquinone L4: pxylene L3: 3,4-dimethylenecyclohexene + L3: six-inringonetriple + L3: six-inringonetripleonedouble-14 + L3: six-inringonetripleonedouble-13 + L3: six-inringtwotriple-13 L2: SevenMember L3: Cycloheptane L3: Cycloheptene From 02f80f6ff1e4e5cd36c4ddba43891db1add20c30 Mon Sep 17 00:00:00 2001 From: zjburas Date: Tue, 7 Mar 2017 01:22:31 -0500 Subject: [PATCH 09/26] Created parent nodes for the following ring corrections, to generalize in what rings they will be used: 1,2-Cyclopentadiene Cyclopentatriene Cyclopentyne cyclohexyne cyclohex_1_yne_4_ene and cyclohex_1_yne_3_ene 1_3_cyclohexadiyne --- input/thermo/groups/ring.py | 218 ++++++++++++++++++++++++++---------- 1 file changed, 161 insertions(+), 57 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 6ccca07f07..f2728250ad 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -1118,8 +1118,8 @@ 1 * R!H u0 {2,[S,D,T]} {5,[S,D]} 2 R!H u0 {1,[S,D,T]} {3,[S,D]} 3 R!H u0 {2,[S,D]} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,[S,D]} -5 R!H u0 {1,[S,D]} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D,T]} +5 R!H u0 {1,[S,D]} {4,[S,D,T]} """, thermo = u'Cyclopentane', shortDesc = u"""""", @@ -1203,7 +1203,7 @@ entry( index = 152, - label = "Cyclopentatriene", + label = "five-inringthreedouble-124", group = """ 1 * [Cd,N3d] u0 {2,D} {5,S} @@ -1212,16 +1212,11 @@ 4 [Cd,N3d] u0 {3,S} {5,D} 5 [Cd,N3d] u0 {1,S} {4,D} """, - thermo = ThermoData( - Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-4.08,-4.69,-4.58,-4.25,-3.54,-3.08,-2.47],'cal/(mol*K)'), - H298 = (70.16,'kcal/mol'), - S298 = (36.76,'cal/(mol*K)'), - ), - shortDesc = u"""CBS-QB3 isodesmic reaction approach allene + 2-butene = cyclopentatriene + 2 CH4, DHr = 220.8 kJ mol-1, exp data from NIST""", + thermo = u'Cyclopentatriene', + shortDesc = u"""""", longDesc = u""" - +For now, any 5-membered ring that has at least 3 double-bonds in the 1,2,4 positions will use this general correction. """, ) @@ -1936,8 +1931,8 @@ 2 R!H u0 {1,[S,D,T]} {3,[S,D]} 3 R!H u0 {2,[S,D]} {4,[S,D,T]} 4 R!H u0 {3,[S,D,T]} {5,[S,D]} -5 R!H u0 {4,[S,D]} {6,[S,D]} -6 R!H u0 {1,[S,D]} {5,[S,D]} +5 R!H u0 {4,[S,D]} {6,[S,D,T]} +6 R!H u0 {1,[S,D]} {5,[S,D,T]} """, thermo = u'Cyclohexane', shortDesc = u"""""", @@ -3821,25 +3816,20 @@ entry( index = 92, - label = "1,2-Cyclopentadiene", + label = "five-inringtwodouble-12", group = """ -1 * C u0 {2,S} {5,S} -2 Cd u0 {1,S} {3,D} +1 * C u0 {2,[S,D]} {5,S} +2 Cd u0 {1,[S,D]} {3,D} 3 Cdd u0 {2,D} {4,D} -4 Cd u0 {3,D} {5,S} -5 C u0 {1,S} {4,S} +4 Cd u0 {3,D} {5,[S,D]} +5 C u0 {1,S} {4,[S,D]} """, - thermo = ThermoData( - Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-3.610227533, -3.220365201, -2.9183174, -2.860732314, -2.503231358, -1.669783939, -1.310015296],'cal/(mol*K)'), - H298 = (65.85343212,'kcal/mol'), - S298 = (26.75230402,'cal/(mol*K)'), - ), - shortDesc = u"""Fitted to M06 calculation""", + thermo = u'1,2-Cyclopentadiene', + shortDesc = u"""""", longDesc = u""" - +For now, any 5-membered ring that has at least 2 double-bonds in the 1,2 positions will use this general correction. """, ) @@ -3875,8 +3865,8 @@ 1 * R!H u0 {2,T} {5,[S,D]} 2 R!H u0 {1,T} {3,[S,D]} 3 R!H u0 {2,[S,D]} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,[S,D]} -5 R!H u0 {1,[S,D]} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D,T]} +5 R!H u0 {1,[S,D]} {4,[S,D,T]} """, thermo = u'Cyclopentyne', shortDesc = u"""""", @@ -3893,77 +3883,186 @@ """ 1 * Ct u0 {2,T} {6,S} 2 Ct u0 {1,T} {3,S} -3 [C,Os] u0 {2,S} {4,S} -4 [C,Os] u0 {3,S} {5,S} +3 R!H u0 {2,S} {4,S} +4 R!H u0 {3,S} {5,S} +5 R!H u0 {4,S} {6,S} +6 R!H u0 {1,S} {5,S} +""", + thermo = u'cyclohexyne', + shortDesc = u"""""", + longDesc = +u""" +Use cyclohexyne correction for any 6-membered ring containing 1 triple bond +""", +) + +entry( + index = 96, + label = "six-inringonetripleonedouble", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {2,S} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,D} +5 R!H u0 {4,D} {6,[S,D]} +6 R!H u0 {1,S} {5,[S,D]} +""", + thermo = u'cyclohex_1_yne_4_ene', + shortDesc = u"""""", + longDesc = +u""" +Use cyclohex_1_yne_4_ene correction for any 6-membered ring containing at least one triple bond +and one double bond. +""", +) + +entry( + index = 97, + label = "cyclohex_1_yne_3_ene", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 Cd u0 {2,S} {4,D} +4 Cd u0 {3,D} {5,S} 5 [C,Os] u0 {4,S} {6,S} 6 [C,Os] u0 {1,S} {5,S} """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-3.306, -2.849, -2.452, -2.229, -1.543, -0.932, -2.535],'cal/(mol*K)'), - H298 = (39.857,'kcal/mol'), - S298 = (21.862,'cal/(mol*K)'), + Cpdata = ([-2.292 ,-2.038, -2.856, -3.187, -2.814, -1.639,-2.564],'cal/(mol*K)'), + H298 = (48.034,'kcal/mol'), + S298 = (25.6327,'cal/(mol*K)'), ), shortDesc = u"""CBS-QB3""", longDesc = u""" -Fitted to CBS-QB3 calculation for cyclohexyne +Fitted to CBS-QB3 calculation for cyclohex_1_yne_3_ene """, ) entry( - index = 96, - label = "six-inringonetripleonedouble-14", + index = 98, + label = "six-inringtwotriple-13", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 Ct u0 {2,S} {4,T} +4 Ct u0 {3,T} {5,S} +5 R!H u0 {4,S} {6,[D,T]} +6 R!H u0 {1,S} {5,[D,T]} +""", + thermo = u'1_3_cyclohexadiyne', + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Use 1_3_cyclohexadiyne correction for any six-membered ring with at least two triple bonds +""", +) + +entry( + index = 99, + label = "1,2-Cyclopentadiene", + group = +""" +1 * C u0 {2,S} {5,S} +2 Cd u0 {1,S} {3,D} +3 Cdd u0 {2,D} {4,D} +4 Cd u0 {3,D} {5,S} +5 C u0 {1,S} {4,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-3.610227533, -3.220365201, -2.9183174, -2.860732314, -2.503231358, -1.669783939, -1.310015296],'cal/(mol*K)'), + H298 = (65.85343212,'kcal/mol'), + S298 = (26.75230402,'cal/(mol*K)'), + ), + shortDesc = u"""Fitted to M06 calculation""", + longDesc = +u""" + +""", +) + +entry( + index = 153, + label = "Cyclopentatriene", + group = +""" +1 * Cd u0 {2,D} {5,S} +2 Cdd u0 {1,D} {3,D} +3 Cd u0 {2,D} {4,S} +4 Cd u0 {3,S} {5,D} +5 Cd u0 {1,S} {4,D} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-4.08,-4.69,-4.58,-4.25,-3.54,-3.08,-2.47],'cal/(mol*K)'), + H298 = (70.16,'kcal/mol'), + S298 = (36.76,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3 isodesmic reaction approach allene + 2-butene = cyclopentatriene + 2 CH4, DHr = 220.8 kJ mol-1, exp data from NIST""", + longDesc = +u""" + +""", +) + +entry( + index = 154, + label = "cyclohexyne", group = """ 1 * Ct u0 {2,T} {6,S} 2 Ct u0 {1,T} {3,S} 3 [C,Os] u0 {2,S} {4,S} -4 Cd u0 {3,S} {5,D} -5 Cd u0 {4,D} {6,S} +4 [C,Os] u0 {3,S} {5,S} +5 [C,Os] u0 {4,S} {6,S} 6 [C,Os] u0 {1,S} {5,S} """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-1.431, -0.775, -1.308, -1.515, -1.294, -0.369, -1.036],'cal/(mol*K)'), - H298 = (38.484,'kcal/mol'), - S298 = (25.2137,'cal/(mol*K)'), + Cpdata = ([-3.306, -2.849, -2.452, -2.229, -1.543, -0.932, -2.535],'cal/(mol*K)'), + H298 = (39.857,'kcal/mol'), + S298 = (21.862,'cal/(mol*K)'), ), shortDesc = u"""CBS-QB3""", longDesc = u""" -Fitted to CBS-QB3 calculation for cyclohex_1_yne_4_ene +Fitted to CBS-QB3 calculation for cyclohexyne """, ) entry( - index = 97, - label = "six-inringonetripleonedouble-13", + index = 155, + label = "cyclohex_1_yne_4_ene", group = """ 1 * Ct u0 {2,T} {6,S} 2 Ct u0 {1,T} {3,S} -3 Cd u0 {2,S} {4,D} -4 Cd u0 {3,D} {5,S} -5 [C,Os] u0 {4,S} {6,S} +3 [C,Os] u0 {2,S} {4,S} +4 Cd u0 {3,S} {5,D} +5 Cd u0 {4,D} {6,S} 6 [C,Os] u0 {1,S} {5,S} """, thermo = ThermoData( Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-2.292 ,-2.038, -2.856, -3.187, -2.814, -1.639,-2.564],'cal/(mol*K)'), - H298 = (48.034,'kcal/mol'), - S298 = (25.6327,'cal/(mol*K)'), + Cpdata = ([-1.431, -0.775, -1.308, -1.515, -1.294, -0.369, -1.036],'cal/(mol*K)'), + H298 = (38.484,'kcal/mol'), + S298 = (25.2137,'cal/(mol*K)'), ), shortDesc = u"""CBS-QB3""", longDesc = u""" -Fitted to CBS-QB3 calculation for cyclohex_1_yne_3_ene +Fitted to CBS-QB3 calculation for cyclohex_1_yne_4_ene """, ) entry( - index = 98, - label = "six-inringtwotriple-13", + index = 156, + label = "1_3_cyclohexadiyne", group = """ 1 * Ct u0 {2,T} {6,S} @@ -4043,8 +4142,10 @@ L3: Cyclopentane L3: Cyclopentene L3: Cyclopentadiene - L3: 1,2-Cyclopentadiene - L3: Cyclopentatriene + L3: five-inringtwodouble-12 + L4: 1,2-Cyclopentadiene + L3: five-inringthreedouble-124 + L4: Cyclopentatriene L3: five-inringonetriple L4: Cyclopentyne L3: Tetrahydrofuran @@ -4127,9 +4228,12 @@ L4: pxylene L3: 3,4-dimethylenecyclohexene L3: six-inringonetriple - L3: six-inringonetripleonedouble-14 - L3: six-inringonetripleonedouble-13 + L4: cyclohexyne + L3: six-inringonetripleonedouble + L4: cyclohex_1_yne_4_ene + L4: cyclohex_1_yne_3_ene L3: six-inringtwotriple-13 + L4: 1_3_cyclohexadiyne L2: SevenMember L3: Cycloheptane L3: Cycloheptene From b6c7e3823cf325e1c75475e3e71982f9000a0292 Mon Sep 17 00:00:00 2001 From: zjburas Date: Tue, 7 Mar 2017 16:55:58 -0500 Subject: [PATCH 10/26] Made the following ring() corrections more general: five-inringtwodouble-12 five-inringthreedouble-124 six-inringonetripleonedouble six-inringtwotriple-13 --- input/thermo/groups/ring.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index f2728250ad..a8ed3f1306 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -1206,11 +1206,11 @@ label = "five-inringthreedouble-124", group = """ -1 * [Cd,N3d] u0 {2,D} {5,S} +1 * R!H u0 {2,D} {5,[S,D]} 2 Cdd u0 {1,D} {3,D} -3 [Cd,N3d] u0 {2,D} {4,S} -4 [Cd,N3d] u0 {3,S} {5,D} -5 [Cd,N3d] u0 {1,S} {4,D} +3 R!H u0 {2,D} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,D} +5 R!H u0 {1,[S,D]} {4,D} """, thermo = u'Cyclopentatriene', shortDesc = u"""""", @@ -3819,11 +3819,11 @@ label = "five-inringtwodouble-12", group = """ -1 * C u0 {2,[S,D]} {5,S} -2 Cd u0 {1,[S,D]} {3,D} +1 * R!H u0 {2,[S,D]} {5,S} +2 R!H u0 {1,[S,D]} {3,D} 3 Cdd u0 {2,D} {4,D} -4 Cd u0 {3,D} {5,[S,D]} -5 C u0 {1,S} {4,[S,D]} +4 R!H u0 {3,D} {5,[S,D]} +5 R!H u0 {1,S} {4,[S,D]} """, thermo = u'1,2-Cyclopentadiene', shortDesc = u"""""", @@ -3862,11 +3862,11 @@ label = "five-inringonetriple", group = """ -1 * R!H u0 {2,T} {5,[S,D]} -2 R!H u0 {1,T} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,[S,D]} +1 * R!H u0 {2,T} {5,S} +2 R!H u0 {1,T} {3,S} +3 R!H u0 {2,S} {4,[S,D]} 4 R!H u0 {3,[S,D]} {5,[S,D,T]} -5 R!H u0 {1,[S,D]} {4,[S,D,T]} +5 R!H u0 {1,S} {4,[S,D,T]} """, thermo = u'Cyclopentyne', shortDesc = u"""""", @@ -3904,8 +3904,8 @@ 1 * Ct u0 {2,T} {6,S} 2 Ct u0 {1,T} {3,S} 3 R!H u0 {2,S} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,D} -5 R!H u0 {4,D} {6,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D]} +5 R!H u0 {4,[S,D]} {6,[S,D]} 6 R!H u0 {1,S} {5,[S,D]} """, thermo = u'cyclohex_1_yne_4_ene', @@ -3951,8 +3951,8 @@ 2 Ct u0 {1,T} {3,S} 3 Ct u0 {2,S} {4,T} 4 Ct u0 {3,T} {5,S} -5 R!H u0 {4,S} {6,[D,T]} -6 R!H u0 {1,S} {5,[D,T]} +5 R!H u0 {4,S} {6,[S,D,T]} +6 R!H u0 {1,S} {5,[S,D,T]} """, thermo = u'1_3_cyclohexadiyne', shortDesc = u"""CBS-QB3""", From 69627ec2da436ac2f03df75f504d0e6d21cd0f90 Mon Sep 17 00:00:00 2001 From: zjburas Date: Wed, 8 Mar 2017 02:11:30 -0500 Subject: [PATCH 11/26] Made the ring correction six-inringthreedouble more general so as to estimate the ring strain of any six-membered ring that has at least 3 double bonds in the 1,2 and 4 positions. --- input/thermo/groups/ring.py | 48 +++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index a8ed3f1306..fb807da0ec 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -2734,23 +2734,19 @@ label = "six-inringthreedouble", group = """ -1 Cd u0 {2,D} {6,S} +1 R!H u0 {2,D} {6,[S,D]} 2 * Cdd u0 {1,D} {3,D} -3 Cd u0 {2,D} {4,S} -4 [Cs,Os] u0 {3,S} {5,S} -5 Cd u0 {4,S} {6,D} -6 Cd u0 {1,S} {5,D} +3 R!H u0 {2,D} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D]} +5 R!H u0 {4,[S,D]} {6,D} +6 R!H u0 {1,[S,D]} {5,D} """, - thermo = ThermoData( - Tdata = ([300,400,500,600,800,1000,1500],'K'), - Cpdata = ([-4.21,-4.32,-3.9,-3.46,-2.71,-2.25,-1.38],'cal/(mol*K)'), - H298 = (36.04,'kcal/mol'), - S298 = (26.47,'cal/(mol*K)'), - ), - shortDesc = u"""CBS-QB3 isodesmic reaction approach C1=CC=CCC=1 + 3 ethane + ethene = allene + 2 2-butene + propane""", + thermo = u'124cyclohexatriene', + shortDesc = u"""""", longDesc = u""" - +Use 124cyclohexatriene correction for any 6-membered ring that contains at least 3 double bonds in the 1,2 and 4 p +positions. """, ) @@ -4085,6 +4081,31 @@ """, ) +entry( + index = 157, + label = "124cyclohexatriene", + group = +""" +1 Cd u0 {2,D} {6,S} +2 * Cdd u0 {1,D} {3,D} +3 Cd u0 {2,D} {4,S} +4 [Cs,Os] u0 {3,S} {5,S} +5 Cd u0 {4,S} {6,D} +6 Cd u0 {1,S} {5,D} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-4.21,-4.32,-3.9,-3.46,-2.71,-2.25,-1.38],'cal/(mol*K)'), + H298 = (36.04,'kcal/mol'), + S298 = (26.47,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3 isodesmic reaction approach C1=CC=CCC=1 + 3 ethane + ethene = allene + 2 2-butene + propane""", + longDesc = +u""" + +""", +) + tree( """ L1: Ring @@ -4212,6 +4233,7 @@ L4: 1,4-Cyclohexadiene L4: 14dioxin L3: six-inringthreedouble + L4: 124cyclohexatriene L3: six-inringtwodouble-12 L3: six-oneside-twoindoubles-25 L4: 25cyclohexadienone From f6f8496f3c382a6eef8b2c5374bec7810aab7dae Mon Sep 17 00:00:00 2001 From: zjburas Date: Mon, 14 Aug 2017 17:02:56 -0400 Subject: [PATCH 12/26] Created new ring groups thermo corrections for cyclopropyne and 1,2,3-cyclohexatriene (based on M06 calcs), and new polycyclic correction for s3_4_6_ben_ane (based on CBS-QB3 calcs). All of the new groups except for cyclopropyne also have more general parent nodes, to capture even more highly-strained rings. --- input/thermo/groups/polycyclic.py | 67 +++++++++++++++++++++++ input/thermo/groups/ring.py | 88 ++++++++++++++++++++++++++++--- 2 files changed, 147 insertions(+), 8 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index 18842484df..715107e8ae 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -8915,6 +8915,70 @@ """, ) +entry( + index = 0, + label = "s3_4_6_ben_ane", + group = "OR{s3_4_6_ben_ane_res1, s3_4_6_ben_ane_res2}", + thermo = None, + shortDesc = u"""""", + longDesc = +u""" + +""", +) + +entry( + index = 213, + label = "s3_4_6_ben_ane_res1", + group = +""" +1 R!H u0 {3,B} {4,S} {6,B} +2 R!H u0 {3,B} {4,S} {7,B} +3 R!H u0 {1,B} {2,B} +4 * R!H u0 {2,S} {1,S} +6 R!H u0 {1,B} {8,B} +7 R!H u0 {2,B} {8,B} +8 R!H u0 {6,B} {7,B} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([0.971, 1.615, 1.051, -0.042, -1.098, -0.849, -2.199], 'cal/(mol*K)'), + H298=(150.622, 'kcal/mol'), + S298=(34.822, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 214, + label = "s3_4_6_ben_ane_res2", + group = +""" +1 R!H u0 {3,S} {4,S} {6,D} +2 R!H u0 {3,D} {4,S} {7,S} +3 R!H u0 {1,S} {2,D} +4 * R!H u0 {2,S} {1,S} +6 R!H u0 {1,D} {8,S} +7 R!H u0 {2,S} {8,D} +8 R!H u0 {6,S} {7,D} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-6.57, -6.954, -7.598, -8.045, -6.641, -4.264, -4.149], 'cal/(mol*K)'), + H298=(129.962, 'kcal/mol'), + S298=(67.112, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + tree( """ L1: PolycyclicRing @@ -9233,6 +9297,9 @@ L4: s3_4_6_diene_0_4 L4: s3_4_6_diene_1_4 L4: s3_4_6_diene_1_5 + L3: s3_4_6_ben_ane + L4: s3_4_6_ben_ane_res1 + L4: s3_4_6_ben_ane_res2 L2: s3_5_5 L3: s3_5_5_ene L4: s3_5_5_ene_0 diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index fb807da0ec..b34e3e3413 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -81,8 +81,8 @@ label = "ThreeMember", group = """ -1 * R!H u0 {2,[S,D]} {3,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D]} +1 * R!H u0 {2,[S,D,T]} {3,[S,D]} +2 R!H u0 {1,[S,D,T]} {3,[S,D]} 3 R!H u0 {1,[S,D]} {2,[S,D]} """, thermo = u'Cyclopropane', @@ -2731,15 +2731,15 @@ entry( index = 153, - label = "six-inringthreedouble", + label = "six-inringthreedouble_124", group = """ -1 R!H u0 {2,D} {6,[S,D]} +1 R!H u0 {2,D} {6,S} 2 * Cdd u0 {1,D} {3,D} -3 R!H u0 {2,D} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,[S,D]} +3 R!H u0 {2,D} {4,S} +4 R!H u0 {3,S} {5,[S,D]} 5 R!H u0 {4,[S,D]} {6,D} -6 R!H u0 {1,[S,D]} {5,D} +6 R!H u0 {1,S} {5,D} """, thermo = u'124cyclohexatriene', shortDesc = u"""""", @@ -4106,6 +4106,75 @@ """, ) +entry( + index = 158, + label = "Cyclopropyne", + group = +""" +1 * Ct u0 {2,T} {3,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {1,S} {2,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([2.22, 1.515, 0.554, -0.319, -1.215, -1.31, -2.439],'cal/(mol*K)'), + H298 = (111.641,'kcal/mol'), + S298 = (37.345,'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" + +""", +) + + +entry( + index = 159, + label = "six-inringthreedouble_123", + group = +""" +1 Cdd u0 {2,D} {6,D} +2 * Cdd u0 {1,D} {3,D} +3 R!H u0 {2,D} {4,[S,D]} +4 R!H u0 {3,[S,D]} {5,[S,D]} +5 R!H u0 {4,[S,D]} {6,[S,D]} +6 R!H u0 {1,D} {5,[S,D]} +""", + thermo = u'123cyclohexatriene', + shortDesc = u"""""", + longDesc = +u""" +Use 123cyclohexatriene correction for any 6-membered ring that contains at least 3 double bonds in the 1,2 and 3 +positions. +""", +) + +entry( + index = 160, + label = "123cyclohexatriene", + group = +""" +1 Cdd u0 {2,D} {6,D} +2 * Cdd u0 {1,D} {3,D} +3 Cd u0 {2,D} {4,S} +4 Cs u0 {3,S} {5,S} +5 Cs u0 {4,S} {6,S} +6 Cd u0 {1,D} {5,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-4.033, -4.022, -3.919, -3.755, -3.149 ,-2.312, -1.645],'cal/(mol*K)'), + H298 = (50.291,'kcal/mol'), + S298 = (27.334,'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" + +""", +) + tree( """ L1: Ring @@ -4117,6 +4186,7 @@ L3: Cyclopropene2 L3: Cyclopropadiene L3: Cyclopropadiene2 + L3: Cyclopropyne L3: oxirene L3: Cyclopropatriene L3: Ethylene_oxide @@ -4232,8 +4302,10 @@ L3: six-inringtwodouble-14 L4: 1,4-Cyclohexadiene L4: 14dioxin - L3: six-inringthreedouble + L3: six-inringthreedouble_124 L4: 124cyclohexatriene + L3: six-inringthreedouble_123 + L4: 123cyclohexatriene L3: six-inringtwodouble-12 L3: six-oneside-twoindoubles-25 L4: 25cyclohexadienone From c1dc03c6109e4b5fd2efe43ae38a47dd8832f2c4 Mon Sep 17 00:00:00 2001 From: zjburas Date: Thu, 9 Mar 2017 02:22:04 -0500 Subject: [PATCH 13/26] Created more general parent nodes for cyclobutene and cyclobutadiene_13 ring corrections to capture any four membered-ring with one unsaturated bond (either double or triple) and any four membered-ring with at least two double bonds in the 1,3-positions. Also created new cyclobutadiene_12 group, which points to the cyclobutadiene_13 correction. Attempts to calculate the ring strain of cyclobutyne and 1,2-cyclobutadiene by QM methods were unsuccessful, so current methods provide some lower bound estimate of their ring strain. --- input/thermo/groups/ring.py | 67 ++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 4 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index b34e3e3413..734f20194c 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -602,8 +602,8 @@ group = """ 1 * R!H u0 {2,[S,D]} {4,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,[S,D]} +2 R!H u0 {1,[S,D]} {3,[S,D,T]} +3 R!H u0 {2,[S,D,T]} {4,[S,D]} 4 R!H u0 {1,[S,D]} {3,[S,D]} """, thermo = u'Cyclobutane', @@ -854,7 +854,7 @@ entry( index = 19, - label = "cyclobutadiene", + label = "cyclobutadiene_13", group = """ 1 [Cd,N3d] u0 {2,D} {4,S} @@ -4124,7 +4124,7 @@ shortDesc = u"""""", longDesc = u""" - +Fitted to M06 calculations """, ) @@ -4171,7 +4171,61 @@ shortDesc = u"""""", longDesc = u""" +Fitted to M06 calculations +""", +) +entry( + index = 161, + label = "four-inringoneunsaturated", + group = +""" +1 * R!H u0 {2,S} {4,S} +2 R!H u0 {1,S} {3,[D,T]} +3 R!H u0 {2,[D,T]} {4,S} +4 R!H u0 {1,S} {3,S} +""", + thermo = u'Cyclobutene', + shortDesc = u"""""", + longDesc = +u""" +Use cyclobutene correction for any four membered ring with one double or triple bond +""", +) + +entry( + index = 162, + label = "four-inringtwodouble", + group = +""" +1 R!H u0 {2,D} {4,[S,D]} +2 * R!H u0 {1,D} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,D} +4 R!H u0 {1,[S,D]} {3,D} +""", + thermo = u'cyclobutadiene_13', + shortDesc = u"""""", + longDesc = +u""" +Use cyclobutadiene_13 correction for any four membered ring with at least two double bonds +""", +) + +entry( + index = 163, + label = "cyclobutadiene_12", + group = +""" +1 R!H u0 {2,D} {4,S} +2 * R!H u0 {1,D} {3,D} +3 R!H u0 {2,D} {4,S} +4 R!H u0 {1,S} {3,S} +""", + thermo = u'cyclobutadiene_13', + shortDesc = u"""""", + longDesc = +u""" +Use cyclobutadiene_13 correction for 1,2_CBD """, ) @@ -4213,12 +4267,17 @@ L3: Cyclobutadiene2 L3: Cyclobutadiene3 L3: 34methylenecyclobutene + L3: four-inringoneunsaturated + L4: Cyclobutene L3: Oxetane L3: Oxetene L3: Beta-Propiolactone L3: Cyclobutanone L3: 12dioxetane L3: dioxerene + L3: four-inringtwodouble + L4: cyclobutadiene_13 + L3: cyclobutadiene_12 L3: thietane L3: 1,2-dithietane L3: 1,3-dithietane From dcddc65d4f09dfd2598ffff8b5fa448aa74e24ef Mon Sep 17 00:00:00 2001 From: zjburas Date: Thu, 9 Mar 2017 14:14:52 -0500 Subject: [PATCH 14/26] Generalized cyclobutadiene_13 ring correction parent node even further to capture any four-membered ring with at least 2 unsaturated bonds,either double or triple. --- input/thermo/groups/ring.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 734f20194c..a1535b1c9e 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -601,10 +601,10 @@ label = "FourMember", group = """ -1 * R!H u0 {2,[S,D]} {4,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D,T]} -3 R!H u0 {2,[S,D,T]} {4,[S,D]} -4 R!H u0 {1,[S,D]} {3,[S,D]} +1 * R!H u0 {2,[S,D,T]} {4,[S,D]} +2 R!H u0 {1,[S,D,T]} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,[S,D,T]} +4 R!H u0 {1,[S,D]} {3,[S,D,T]} """, thermo = u'Cyclobutane', shortDesc = u"""""", @@ -4180,9 +4180,9 @@ label = "four-inringoneunsaturated", group = """ -1 * R!H u0 {2,S} {4,S} -2 R!H u0 {1,S} {3,[D,T]} -3 R!H u0 {2,[D,T]} {4,S} +1 * R!H u0 {2,[D,T]} {4,S} +2 R!H u0 {1,[D,T]} {3,S} +3 R!H u0 {2,S} {4,S} 4 R!H u0 {1,S} {3,S} """, thermo = u'Cyclobutene', @@ -4195,19 +4195,19 @@ entry( index = 162, - label = "four-inringtwodouble", + label = "four-inringtwounsaturated", group = """ -1 R!H u0 {2,D} {4,[S,D]} -2 * R!H u0 {1,D} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,D} -4 R!H u0 {1,[S,D]} {3,D} +1 R!H u0 {2,[D,T]} {4,[S,D]} +2 * R!H u0 {1,[D,T]} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,[D,T]} +4 R!H u0 {1,[S,D]} {3,[D,T]} """, thermo = u'cyclobutadiene_13', shortDesc = u"""""", longDesc = u""" -Use cyclobutadiene_13 correction for any four membered ring with at least two double bonds +Use cyclobutadiene_13 correction for any four membered ring with at least two double or triple bonds """, ) @@ -4275,7 +4275,7 @@ L3: Cyclobutanone L3: 12dioxetane L3: dioxerene - L3: four-inringtwodouble + L3: four-inringtwounsaturated L4: cyclobutadiene_13 L3: cyclobutadiene_12 L3: thietane From 75e1d71504a5432531a65bbbb87aef793fe62e3b Mon Sep 17 00:00:00 2001 From: zjburas Date: Thu, 9 Mar 2017 21:44:22 -0500 Subject: [PATCH 15/26] Globally forbid cyclobutyne, and any cyclobutyne containing bicyclic (up to a 6-membered partner). Attempts to estimate cyclobutyne thermo using QM calculations were unsuccessful, so forbidding this highly-strained structure is appropriate. --- input/forbiddenStructures.py | 84 ++++++++++++++++++++++++++++++++++++ input/thermo/groups/ring.py | 32 +++++++------- 2 files changed, 100 insertions(+), 16 deletions(-) diff --git a/input/forbiddenStructures.py b/input/forbiddenStructures.py index 9e9085555a..3f0fb8f556 100644 --- a/input/forbiddenStructures.py +++ b/input/forbiddenStructures.py @@ -443,3 +443,87 @@ """, ) +entry( + label = "cyclobutyne", + group = +""" +1 R!H ux {2,T} {4,[S,D,T]} +2 R!H ux {1,T} {3,[S,D,T]} +3 R!H ux {2,[S,D,T]} {4,[S,D,T]} +4 R!H ux {1,[S,D,T]} {3,[S,D,T]} +""", + shortDesc = u"""""", + longDesc = +u""" +""", +) + +entry( + label = "s2_3_4_yne_1", + group = +""" +1 R!H ux {2,[S,D,T,B]} {3,[S,D,T,B]} {4,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {3,[S,D,T,B]} {5,[S,D,T,B]} +3 R!H ux {1,[S,D,T,B]} {2,[S,D,T,B]} +4 R!H ux {1,[S,D,T,B]} {5,T} +5 R!H ux {2,[S,D,T,B]} {4,T} +""", + shortDesc = u"""""", + longDesc = +u""" +""", +) + +entry( + label = "s2_4_4_yne_1", + group = +""" +1 R!H ux {2,[S,D,T,B]} {4,[S,D,T,B]} {5,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {3,[S,D,T,B]} {6,[S,D,T,B]} +3 R!H ux {2,[S,D,T,B]} {4,T} +4 R!H ux {1,[S,D,T,B]} {3,T} +5 R!H ux {1,[S,D,T,B]} {6,[S,D,T,B]} +6 R!H ux {2,[S,D,T,B]} {5,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +""", +) + +entry( + label = "s2_4_5_yne_5", + group = +""" +1 R!H ux {2,[S,D,T,B]} {3,[S,D,T,B]} {5,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {4,[S,D,T,B]} {6,[S,D,T,B]} +3 R!H ux {1,[S,D,T,B]} {4,T} +4 R!H ux {2,[S,D,T,B]} {3,T} +5 R!H ux {1,[S,D,T,B]} {7,[S,D,T,B]} +6 R!H ux {2,[S,D,T,B]} {7,[S,D,T,B]} +7 R!H ux {5,[S,D,T,B]} {6,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +""", +) + +entry( + label = "s2_4_6_yne_6", + group = +""" +1 R!H ux {2,[S,D,T,B]} {3,[S,D,T,B]} {6,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {4,[S,D,T,B]} {5,[S,D,T,B]} +3 R!H ux {1,[S,D,T,B]} {4,T} +4 R!H ux {2,[S,D,T,B]} {3,T} +5 R!H ux {2,[S,D,T,B]} {8,[S,D,T,B]} +6 R!H ux {1,[S,D,T,B]} {7,[S,D,T,B]} +7 R!H ux {6,[S,D,T,B]} {8,[S,D,T,B]} +8 R!H ux {5,[S,D,T,B]} {7,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +""", +) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index a1535b1c9e..1f43dffec8 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -601,10 +601,10 @@ label = "FourMember", group = """ -1 * R!H u0 {2,[S,D,T]} {4,[S,D]} -2 R!H u0 {1,[S,D,T]} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,[S,D,T]} -4 R!H u0 {1,[S,D]} {3,[S,D,T]} +1 * R!H u0 {2,[S,D]} {4,[S,D]} +2 R!H u0 {1,[S,D]} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,[S,D]} +4 R!H u0 {1,[S,D]} {3,[S,D]} """, thermo = u'Cyclobutane', shortDesc = u"""""", @@ -4177,11 +4177,11 @@ entry( index = 161, - label = "four-inringoneunsaturated", + label = "four-inringonedouble", group = """ -1 * R!H u0 {2,[D,T]} {4,S} -2 R!H u0 {1,[D,T]} {3,S} +1 * R!H u0 {2,D} {4,S} +2 R!H u0 {1,D} {3,S} 3 R!H u0 {2,S} {4,S} 4 R!H u0 {1,S} {3,S} """, @@ -4189,25 +4189,25 @@ shortDesc = u"""""", longDesc = u""" -Use cyclobutene correction for any four membered ring with one double or triple bond +Use cyclobutene correction for any four membered ring with one double bond """, ) entry( index = 162, - label = "four-inringtwounsaturated", + label = "four-inringtwodouble", group = """ -1 R!H u0 {2,[D,T]} {4,[S,D]} -2 * R!H u0 {1,[D,T]} {3,[S,D]} -3 R!H u0 {2,[S,D]} {4,[D,T]} -4 R!H u0 {1,[S,D]} {3,[D,T]} +1 R!H u0 {2,D} {4,[S,D]} +2 * R!H u0 {1,D} {3,[S,D]} +3 R!H u0 {2,[S,D]} {4,D} +4 R!H u0 {1,[S,D]} {3,D} """, thermo = u'cyclobutadiene_13', shortDesc = u"""""", longDesc = u""" -Use cyclobutadiene_13 correction for any four membered ring with at least two double or triple bonds +Use cyclobutadiene_13 correction for any four membered ring with at least two double bonds in the 1,3-positions """, ) @@ -4267,7 +4267,7 @@ L3: Cyclobutadiene2 L3: Cyclobutadiene3 L3: 34methylenecyclobutene - L3: four-inringoneunsaturated + L3: four-inringonedouble L4: Cyclobutene L3: Oxetane L3: Oxetene @@ -4275,7 +4275,7 @@ L3: Cyclobutanone L3: 12dioxetane L3: dioxerene - L3: four-inringtwounsaturated + L3: four-inringtwodouble L4: cyclobutadiene_13 L3: cyclobutadiene_12 L3: thietane From 751e7c2a51b48ac2c02dda68bbde707dd7ab2dd7 Mon Sep 17 00:00:00 2001 From: zjburas Date: Thu, 9 Mar 2017 21:47:01 -0500 Subject: [PATCH 16/26] Unforbid cyclopropyne globally, as there is now a ring correction for it based on M06 calculations. --- input/forbiddenStructures.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/input/forbiddenStructures.py b/input/forbiddenStructures.py index 3f0fb8f556..685de83182 100644 --- a/input/forbiddenStructures.py +++ b/input/forbiddenStructures.py @@ -319,22 +319,22 @@ """, ) -entry( - label = "cyclopropyne", - group = -""" -1 C u0 {2,T} {3,S} -2 C u0 {1,T} {3,S} -3 C u0 {1,S} {2,S} {4,S} {5,S} -4 H u0 {3,S} -5 H u0 {3,S} -""", - shortDesc = u"""""", - longDesc = -u""" - -""", -) +# entry( +# label = "cyclopropyne", +# group = +# """ +# 1 C u0 {2,T} {3,S} +# 2 C u0 {1,T} {3,S} +# 3 C u0 {1,S} {2,S} {4,S} {5,S} +# 4 H u0 {3,S} +# 5 H u0 {3,S} +# """, +# shortDesc = u"""""", +# longDesc = +# u""" +# +# """, +# ) entry( label = "3H-Pyrazol", From 6fdef1a05b745bb515515030087d3b5ef1d92e1c Mon Sep 17 00:00:00 2001 From: zjburas Date: Fri, 10 Mar 2017 16:34:06 -0500 Subject: [PATCH 17/26] Changed six-inringonetripleonedouble ring correction to use cyclohex_1_yne_3_ene correction for any six-membered ring containing at least one triple and one double bond, except for cyclohex_1_yne_4_ene, which has its own explicit correction. --- input/thermo/groups/ring.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 1f43dffec8..4b35615368 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -3904,11 +3904,11 @@ 5 R!H u0 {4,[S,D]} {6,[S,D]} 6 R!H u0 {1,S} {5,[S,D]} """, - thermo = u'cyclohex_1_yne_4_ene', + thermo = u'cyclohex_1_yne_3_ene', shortDesc = u"""""", longDesc = u""" -Use cyclohex_1_yne_4_ene correction for any 6-membered ring containing at least one triple bond +Use cyclohex_1_yne_3_ene correction for any 6-membered ring containing at least one triple bond and one double bond. """, ) From c7d35ef5b09fbb15a5850bc051de238308d06323 Mon Sep 17 00:00:00 2001 From: zjburas Date: Fri, 17 Mar 2017 12:49:19 -0400 Subject: [PATCH 18/26] Removed all polycyclic thermo corrections that were manually estimated by the "bicyclic thermo estimation formula", since this formula has now been implemented in RMG-Py's overall thermo estimation algorithm. --- input/thermo/groups/polycyclic.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/input/thermo/groups/polycyclic.py b/input/thermo/groups/polycyclic.py index 715107e8ae..244844c85f 100644 --- a/input/thermo/groups/polycyclic.py +++ b/input/thermo/groups/polycyclic.py @@ -9116,9 +9116,6 @@ L4: s2_3_6_diene_1_3 L4: s2_3_6_diene_2_5 L3: s2_3_6_ben - L3: s2_3_6_yne - L4: s2_3_6_yne_1 - L4: s2_3_6_yne_2 L2: s2_3_7 L3: s2_3_7_ane L2: s2_3_8 @@ -9151,9 +9148,6 @@ L4: s2_4_6_diene_2_6 L4: s2_4_6_diene_5_7 L3: s2_4_6_ben - L3: s2_4_6_yne - L4: s2_4_6_yne_1 - L4: s2_4_6_yne_2 L2: s2_5_5 L3: s2_5_5_ane L3: s2_5_5_ene @@ -9265,9 +9259,6 @@ L4: s2_6_6_ben_ene_1 L4: s2_6_6_ben_ene_2 L3: s2_6_6_naphthalene - L3: s2_6_6_yne - L4: s2_6_6_yne_1 - L4: s2_6_6_yne_2 L2: s3_4_4 L3: s3_4_4_ane L3: s3_4_4_ene From ba0bc1318a734aba8e3bb3a260ed85bc9c16af6f Mon Sep 17 00:00:00 2001 From: zjburas Date: Mon, 20 Mar 2017 11:12:53 -0400 Subject: [PATCH 19/26] Created ring() correction specifically for o-benzyne, based on CBS-QB3 calculations, as well as values in Narayanaswamy library. --- input/thermo/groups/ring.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 4b35615368..26ff02838a 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -3155,7 +3155,7 @@ S298 = (15.9,'cal/(mol*K)'), ), shortDesc = u"""Cycloheptane ring BENSON""", - longDesc = + longDesc = u""" """, @@ -4229,6 +4229,31 @@ """, ) +entry( + index = 164, + label = "o_benzyne", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 Cd u0 {2,S} {4,D} +4 Cd u0 {3,D} {5,S} +5 Cd u0 {4,S} {6,D} +6 Cd u0 {1,S} {5,D} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([-4.003, -4.523, -5.242, -5.892, -5.423, -3.742, -3.198],'cal/(mol*K)'), + H298 = (26.527,'kcal/mol'), + S298 = (29.264,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculation for o_benzyne +""", +) + tree( """ L1: Ring @@ -4385,6 +4410,7 @@ L3: six-inringonetripleonedouble L4: cyclohex_1_yne_4_ene L4: cyclohex_1_yne_3_ene + L4: o_benzyne L3: six-inringtwotriple-13 L4: 1_3_cyclohexadiyne L2: SevenMember From e80169ae049e7930e652a6940cc3f1690a6e2f6c Mon Sep 17 00:00:00 2001 From: zjburas Date: Mon, 20 Mar 2017 16:09:57 -0400 Subject: [PATCH 20/26] Added ring corrections for the following 7-membered unsaturated rings (based on CBS-QB3 calculations): cycloheptyne 1,2-cycloheptadiene 1,2,3-cycloheptatriene Also created more general parent nodes for each of these corrections, so that, for example, any 7-membered ring with at least one triple bond will use the cycloheptyne correction as a lower-bound estimate. Without these corrections, such strained 7-membered rings will most likely fall up to the most general 7-membered ring correction, which is definitely a large underestimate. --- input/thermo/groups/ring.py | 153 +++++++++++++++++++++++++++++++++++- 1 file changed, 150 insertions(+), 3 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 26ff02838a..9c31ad4269 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -3119,8 +3119,8 @@ label = "SevenMember", group = """ -1 * R!H u0 {2,[S,D]} {7,[S,D]} -2 R!H u0 {1,[S,D]} {3,[S,D]} +1 * R!H u0 {2,[S,D,T]} {7,[S,D]} +2 R!H u0 {1,[S,D,T]} {3,[S,D]} 3 R!H u0 {2,[S,D]} {4,[S,D]} 4 R!H u0 {3,[S,D]} {5,[S,D]} 5 R!H u0 {4,[S,D]} {6,[S,D]} @@ -4254,6 +4254,147 @@ """, ) +entry( + index = 165, + label = "seven-inringtwodouble-12", + group = +""" +1 * Cd u0 {2,D} {7,S} +2 Cdd u0 {1,D} {3,D} +3 Cd u0 {4,S} {2,D} +4 R!H u0 {3,S} {5,[S,D]} +5 R!H u0 {6,[S,D]} {4,[S,D]} +6 R!H u0 {5,[S,D]} {7,[S,D]} +7 R!H u0 {1,S} {6,[S,D]} +""", + thermo = u'1_2_cycloheptadiene', + shortDesc = u"""""", + longDesc = +u""" +Use 1_2_cycloheptadiene correction for any seven membered ring with at least two double bonds in the 1,2-positions +""", +) + +entry( + index = 166, + label = "1_2_cycloheptadiene", + group = +""" +1 * Cd u0 {2,D} {7,S} +2 Cdd u0 {1,D} {3,D} +3 Cd u0 {4,S} {2,D} +4 C u0 {3,S} {5,S} +5 C u0 {6,S} {4,S} +6 C u0 {5,S} {7,S} +7 C u0 {1,S} {6,S} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-5.058, -4.616, -4.065, -3.549, -2.425, -1.185, -0.012], 'cal/(mol*K)'), + H298=(19.726, 'kcal/mol'), + S298=(17.979, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 167, + label = "seven-inringthreedouble-123", + group = +""" +1 * R!H u0 {2,D} {7,[S,D]} +2 Cdd u0 {1,D} {3,D} +3 Cdd u0 {4,D} {2,D} +4 R!H u0 {3,D} {5,[S,D]} +5 R!H u0 {6,[S,D]} {4,[S,D]} +6 R!H u0 {5,[S,D]} {7,[S,D]} +7 R!H u0 {1,[S,D]} {6,[S,D]} +""", + thermo = u'1_2_3_cycloheptatriene', + shortDesc = u"""""", + longDesc = +u""" +Use 1_2_3_cycloheptatriene correction for any seven membered ring with at least three double bonds in the 1,2 and 3-positions +""", +) + +entry( + index = 168, + label = "1_2_3_cycloheptatriene", + group = +""" +1 * Cd u0 {2,D} {7,S} +2 Cdd u0 {1,D} {3,D} +3 Cdd u0 {4,D} {2,D} +4 Cd u0 {3,D} {5,S} +5 C u0 {6,S} {4,S} +6 C u0 {5,S} {7,S} +7 C u0 {1,S} {6,S} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-4.854, -4.544, -4.148, -3.726, -2.801, -1.852, -0.8], 'cal/(mol*K)'), + H298=(25.76, 'kcal/mol'), + S298=(22.122, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + +entry( + index = 169, + label = "seven-inringonetriple", + group = +""" +1 * Ct u0 {2,T} {7,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {4,[S,D]} {2,S} +4 R!H u0 {3,[S,D]} {5,[S,D]} +5 R!H u0 {6,[S,D]} {4,[S,D]} +6 R!H u0 {5,[S,D]} {7,[S,D]} +7 R!H u0 {1,S} {6,[S,D]} +""", + thermo = u'cycloheptyne', + shortDesc = u"""""", + longDesc = +u""" +Use cycloheptyne correction for any seven membered ring with at least one triple bond +""", +) + +entry( + index = 170, + label = "cycloheptyne", + group = +""" +1 * Ct u0 {2,T} {7,S} +2 Ct u0 {1,T} {3,S} +3 C u0 {4,S} {2,S} +4 C u0 {3,S} {5,S} +5 C u0 {6,S} {4,S} +6 C u0 {5,S} {7,S} +7 C u0 {1,S} {6,S} +""", + thermo=ThermoData( + Tdata=([300, 400, 500, 600, 800, 1000, 1500], 'K'), + Cpdata=([-4, -3.568, -3.106, -2.646, -1.582, -0.695, -1.916], 'cal/(mol*K)'), + H298=(24.448, 'kcal/mol'), + S298=(17.688, 'cal/(mol*K)'), + ), + shortDesc = u"""""", + longDesc = +u""" +Fitted to CBS-QB3 calculations +""", +) + tree( """ L1: Ring @@ -4420,7 +4561,13 @@ L3: 1,3,5-Cycloheptatriene L3: Cycloheptanone L3: 1,4-Cycloheptadiene - L3: 1,2,4,6-Cycloheptatetraene + L3: seven-inringtwodouble-12 + L4: 1_2_cycloheptadiene + L4: 1,2,4,6-Cycloheptatetraene + L3: seven-inringthreedouble-123 + L4: 1_2_3_cycloheptatriene + L3: seven-inringonetriple + L4: cycloheptyne L3: heptasulfur L3: oxepane L2: EightMember From fce2b455253a161f040455157cd127308d5689f9 Mon Sep 17 00:00:00 2001 From: zjburas Date: Sat, 22 Apr 2017 15:20:00 -0400 Subject: [PATCH 21/26] Created new thermo group Cds-(Cds-Os)CbH, fit to CBS-QB3 calculations. Fitted to CBS-QB3 calculations for OC=Cc1ccccc1. --- input/thermo/groups/group.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/input/thermo/groups/group.py b/input/thermo/groups/group.py index 496c67b6fc..b7298f1cee 100644 --- a/input/thermo/groups/group.py +++ b/input/thermo/groups/group.py @@ -44845,6 +44845,30 @@ """, ) +entry( + index = 1932, + label = "Cds-(Cds-Os)CbH", + group = +""" +1 * Cd u0 {2,D} {3,S} {4,S} +2 Cd u0 {1,D} {5,S} +3 Cb u0 {1,S} +4 H u0 {1,S} +5 Os u0 {2,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([5.28, 6.83, 7.245, 7.264, 8.226, 9.901, 10.176],'cal/(mol*K)'), + H298 = (10.329,'kcal/mol'), + S298 = (2.958,'cal/(mol*K)'), + ), + shortDesc = u"""CBS-QB3""", + longDesc = +u""" +Fitted to CBS-QB3 calculations for OC=Cc1ccccc1 +""", +) + tree( """ L1: R @@ -45053,6 +45077,7 @@ L5: Cds-CdsCtH L6: Cds-CdsH(CtN3t) L5: Cds-CdsCbH + L6: Cds-(Cds-Os)CbH L5: Cds-CddCsH L6: Cds-(Cdd-Od)CsH L6: Cds-(Cdd-Sd)CsH From 925a8e5888aa3e76f14809cfe66733e98e15f9c1 Mon Sep 17 00:00:00 2001 From: zjburas Date: Sat, 22 Apr 2017 15:21:41 -0400 Subject: [PATCH 22/26] Created new radical thermo correction, OC=CJCb, fit to CCSD(T)-F12/cc-pVDZ-F12//M06/vtz calculations. Fit to CCSD(T)-F12/cc-pVDZ-F12//M06/vtz calculations for OC=[C]c1ccccc1. --- input/thermo/groups/radical.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/input/thermo/groups/radical.py b/input/thermo/groups/radical.py index 0222300c02..b4d0e6b006 100644 --- a/input/thermo/groups/radical.py +++ b/input/thermo/groups/radical.py @@ -8352,6 +8352,29 @@ """, ) +entry( + index = 137, + label = "OC=CJCb", + group = +""" +1 * Cd u1 {2,D} {3,S} +2 C u0 {1,D} {4,S} +3 Cb u0 {1,S} +4 Os u0 {2,S} +""", + thermo = ThermoData( + Tdata = ([300,400,500,600,800,1000,1500],'K'), + Cpdata = ([0.047, 0.607, 0.374, -0.3, -1.28, -1.972, -3.196],'cal/(mol*K)'), + H298 = (123.797,'kcal/mol'), + S298 = (2.661,'cal/(mol*K)'), + ), + shortDesc = u"""Fit to CCSD(T)-F12/cc-pVDZ-F12//M06/vtz calculations""", + longDesc = +u""" +Fit to CCSD(T)-F12/cc-pVDZ-F12//M06/vtz calculations for OC=[C]c1ccccc1 +""", +) + tree( """ L1: Radical @@ -8613,6 +8636,7 @@ L6: CCCJ=C=O L7: CC(C)CJ=C=O L7: C=C(C)CJ=C=O + L6: OC=CJCb L5: CdsJ-Ss L5: C=CJO L4: CtJ From 0e789d2cd7208728158f60fbbcd89a1e364e32b5 Mon Sep 17 00:00:00 2001 From: zjburas Date: Sun, 23 Apr 2017 20:45:15 -0400 Subject: [PATCH 23/26] Added a strained tetracyclic and tricyclic species to globally forbidden list, because neither would appear if their thermo was estimated more accurately, and both cause RMG to crash currently. --- input/forbiddenStructures.py | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/input/forbiddenStructures.py b/input/forbiddenStructures.py index 685de83182..ab3d2ec3eb 100644 --- a/input/forbiddenStructures.py +++ b/input/forbiddenStructures.py @@ -527,3 +527,48 @@ u""" """, ) + +entry( + label = "strained_tetracyclic_1", + group = +""" +1 R!H ux {2,[S,D,T,B]} {9,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {3,[S,D,T,B]} +3 R!H ux {2,[S,D,T,B]} {4,[S,D,T,B]} {10,[S,D,T,B]} +4 R!H ux {3,[S,D,T,B]} {5,[S,D,T,B]} {9,[S,D,T,B]} +5 R!H ux {4,[S,D,T,B]} {6,[S,D,T,B]} +6 R!H ux {5,[S,D,T,B]} {7,[S,D,T,B]} +7 R!H ux {6,[S,D,T,B]} {8,[S,D,T,B]} {10,[S,D,T,B]} +8 R!H ux {7,[S,D,T,B]} {9,[S,D,T,B]} {10,[S,D,T,B]} +9 R!H ux {1,[S,D,T,B]} {4,[S,D,T,B]} {8,[S,D,T,B]} +10 R!H ux {3,[S,D,T,B]} {7,[S,D,T,B]} {8,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +For certain unsaturated versions of this strained tetracyclic, RMG finds multiple reverse H-abstraction reactions, causing RMG +to crash. +""", +) + +entry( + label = "strained_tricyclic_1", + group = +""" +2 R!H ux {3,[S,D,T,B]} {10,[S,D,T,B]} +3 R!H ux {2,[S,D,T,B]} {4,[S,D,T,B]} +4 R!H ux {3,[S,D,T,B]} {5,[S,D,T,B]} +5 R!H ux {4,[S,D,T,B]} {6,[S,D,T,B]} {9,[S,D,T,B]} +6 R!H ux {5,[S,D,T,B]} {7,[S,D,T,B]} {10,[S,D,T,B]} +7 R!H ux {6,[S,D,T,B]} {8,[S,D,T,B]} +8 R!H ux {7,[S,D,T,B]} {9,[S,D,T,B]} +9 R!H ux {5,[S,D,T,B]} {8,[S,D,T,B]} {10,[S,D,T,B]} +10 R!H ux {2,[S,D,T,B]} {6,[S,D,T,B]} {9,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +For certain unsaturated versions of this strained tricyclic, RMG's Clar optimization fails, causing RMG +to crash. +""", +) \ No newline at end of file From 89b73450acce3f1936fe2d7f33b24dca51ba87e3 Mon Sep 17 00:00:00 2001 From: zjburas Date: Mon, 24 Apr 2017 23:09:57 -0400 Subject: [PATCH 24/26] Added another stained tricyclic to globally forbidden species list, because it causes RMG to crash. --- input/forbiddenStructures.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/input/forbiddenStructures.py b/input/forbiddenStructures.py index ab3d2ec3eb..1ea42b9b77 100644 --- a/input/forbiddenStructures.py +++ b/input/forbiddenStructures.py @@ -571,4 +571,27 @@ For certain unsaturated versions of this strained tricyclic, RMG's Clar optimization fails, causing RMG to crash. """, +) + +entry( + label = "strained_tricyclic_2", + group = +""" +1 R!H ux {2,[S,D,T,B]} {10,[S,D,T,B]} +2 R!H ux {1,[S,D,T,B]} {3,[S,D,T,B]} +3 R!H ux {2,[S,D,T,B]} {4,[S,D,T,B]} {8,[S,D,T,B]} +4 R!H ux {3,[S,D,T,B]} {5,[S,D,T,B]} +5 R!H ux {4,[S,D,T,B]} {6,[S,D,T,B]} {10,[S,D,T,B]} +6 R!H ux {5,[S,D,T,B]} {7,[S,D,T,B]} +7 R!H ux {6,[S,D,T,B]} {8,[S,D,T,B]} +8 R!H ux {3,[S,D,T,B]} {7,[S,D,T,B]} {9,[S,D,T,B]} +9 R!H ux {8,[S,D,T,B]} {10,[S,D,T,B]} +10 R!H ux {1,[S,D,T,B]} {5,[S,D,T,B]} {9,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +Certain unsaturated versions of this strained tricyclic cause RMG +to crash. +""", ) \ No newline at end of file From 2fe6ec54d690e7502cfde23bfe5c88f6b39a47f7 Mon Sep 17 00:00:00 2001 From: zjburas Date: Wed, 3 May 2017 15:32:59 -0400 Subject: [PATCH 25/26] Globally forbid another strained tricyclic that indirectly causes RMG to crash. --- input/forbiddenStructures.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/input/forbiddenStructures.py b/input/forbiddenStructures.py index 1ea42b9b77..fe59266d12 100644 --- a/input/forbiddenStructures.py +++ b/input/forbiddenStructures.py @@ -594,4 +594,26 @@ Certain unsaturated versions of this strained tricyclic cause RMG to crash. """, +) + +entry( + label = "strained_tricyclic_3", + group = +""" +1 R!H ux {3,[S,D,T,B]} {7,[S,D,T,B]} +3 R!H ux {1,[S,D,T,B]} {4,[S,D,T,B]} {10,[S,D,T,B]} +4 R!H ux {3,[S,D,T,B]} {5,[S,D,T,B]} +5 R!H ux {4,[S,D,T,B]} {6,[S,D,T,B]} {10,[S,D,T,B]} +6 R!H ux {5,[S,D,T,B]} {7,[S,D,T,B]} +7 R!H ux {1,[S,D,T,B]} {6,[S,D,T,B]} {8,[S,D,T,B]} +8 R!H ux {7,[S,D,T,B]} {9,[S,D,T,B]} +9 R!H ux {8,[S,D,T,B]} {10,[S,D,T,B]} +10 R!H ux {3,[S,D,T,B]} {5,[S,D,T,B]} {9,[S,D,T,B]} +""", + shortDesc = u"""""", + longDesc = +u""" +Certain unsaturated versions of this strained tricyclic cause RMG +to crash. +""", ) \ No newline at end of file From a058352a2febe61519285a8eb36f0d4c4bf530d6 Mon Sep 17 00:00:00 2001 From: zjburas Date: Thu, 10 Aug 2017 18:29:05 -0400 Subject: [PATCH 26/26] Reorganized ring.py tree structure in order to pass database tests --- input/thermo/groups/ring.py | 147 +++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 70 deletions(-) diff --git a/input/thermo/groups/ring.py b/input/thermo/groups/ring.py index 9c31ad4269..d9a735f913 100644 --- a/input/thermo/groups/ring.py +++ b/input/thermo/groups/ring.py @@ -660,60 +660,6 @@ """, ) -entry( - index = 14, - label = "Cyclobutene2", - group = -""" -1 [Cs,N3s] u0 {2,S} {4,S} -2 * [Cd,N3d] u0 {1,S} {3,D} -3 [Cd,N3d] u0 {2,D} {4,S} -4 [Cs,N3s] u0 {1,S} {3,S} -""", - thermo = u'Cyclobutene', - shortDesc = u"""""", - longDesc = -u""" - -""", -) - -entry( - index = 14, - label = "Cyclobutadiene2", - group = -""" -1 [Cs,N3s] u0 {2,S} {4,S} -2 * [Cd,N3d] u0 {1,S} {3,D} -3 Cdd u0 {2,D} {4,D} -4 [Cd,N3d] u0 {1,S} {3,D} -""", - thermo = u'Cyclobutene', - shortDesc = u"""""", - longDesc = -u""" - -""", -) - -entry( - index = 14, - label = "Cyclobutadiene3", - group = -""" -1 * [Cs,N3s] u0 {2,S} {4,S} -2 [Cd,N3d] u0 {1,S} {3,D} -3 Cdd u0 {2,D} {4,D} -4 [Cd,N3d] u0 {1,S} {3,D} -""", - thermo = u'Cyclobutene', - shortDesc = u"""""", - longDesc = -u""" - -""", -) - entry( index = 70, label = "Oxetane", @@ -3894,14 +3840,14 @@ entry( index = 96, - label = "six-inringonetripleonedouble", + label = "six-inringonetripleonedouble-13", group = """ 1 * Ct u0 {2,T} {6,S} 2 Ct u0 {1,T} {3,S} -3 R!H u0 {2,S} {4,[S,D]} -4 R!H u0 {3,[S,D]} {5,[S,D]} -5 R!H u0 {4,[S,D]} {6,[S,D]} +3 R!H u0 {2,S} {4,D} +4 R!H u0 {3,D} {5,S} +5 R!H u0 {4,S} {6,[S,D]} 6 R!H u0 {1,S} {5,[S,D]} """, thermo = u'cyclohex_1_yne_3_ene', @@ -3909,7 +3855,70 @@ longDesc = u""" Use cyclohex_1_yne_3_ene correction for any 6-membered ring containing at least one triple bond -and one double bond. +and one double bond in the 1,3-positions. +""", +) + +entry( + index = 171, + label = "six-inringonetripleonedouble-14", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {2,S} {4,S} +4 R!H u0 {3,S} {5,D} +5 R!H u0 {4,D} {6,S} +6 R!H u0 {1,S} {5,S} +""", + thermo = u'cyclohex_1_yne_4_ene', + shortDesc = u"""""", + longDesc = +u""" +Use cyclohex_1_yne_4_ene correction for any 6-membered ring containing at least one triple bond +and one double bond in the 1,4-positions. +""", +) + +entry( + index = 172, + label = "six-inringonetripletwodouble-134", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {2,S} {4,D} +4 R!H u0 {3,D} {5,D} +5 R!H u0 {4,D} {6,S} +6 R!H u0 {1,S} {5,S} +""", + thermo = u'cyclohex_1_yne_3_ene', + shortDesc = u"""""", + longDesc = +u""" +Use cyclohex_1_yne_3_ene correction for any 6-membered ring containing at least one triple bond +and two double bonds in the 1,3,4-positions. +""", +) + +entry( + index = 173, + label = "six-inringonetriplethreedouble-1345", + group = +""" +1 * Ct u0 {2,T} {6,S} +2 Ct u0 {1,T} {3,S} +3 R!H u0 {2,S} {4,D} +4 R!H u0 {3,D} {5,D} +5 R!H u0 {4,D} {6,D} +6 R!H u0 {1,S} {5,D} +""", + thermo = u'cyclohex_1_yne_3_ene', + shortDesc = u"""""", + longDesc = +u""" +Use cyclohex_1_yne_3_ene correction for any 6-membered ring containing at least one triple bond +and three double bonds in the 1,3,4,5-positions. """, ) @@ -4180,9 +4189,9 @@ label = "four-inringonedouble", group = """ -1 * R!H u0 {2,D} {4,S} +1 R!H u0 {2,D} {4,S} 2 R!H u0 {1,D} {3,S} -3 R!H u0 {2,S} {4,S} +3 * R!H u0 {2,S} {4,S} 4 R!H u0 {1,S} {3,S} """, thermo = u'Cyclobutene', @@ -4427,20 +4436,15 @@ L3: 12Methylenecyclopropane L2: FourMember L3: Cyclobutane - L3: Cyclobutene - L3: Cyclobutene2 - L3: cyclobutadiene - L3: Cyclobutadiene2 - L3: Cyclobutadiene3 L3: 34methylenecyclobutene + L3: dioxerene + L3: Oxetene L3: four-inringonedouble L4: Cyclobutene L3: Oxetane - L3: Oxetene L3: Beta-Propiolactone L3: Cyclobutanone L3: 12dioxetane - L3: dioxerene L3: four-inringtwodouble L4: cyclobutadiene_13 L3: cyclobutadiene_12 @@ -4548,10 +4552,13 @@ L3: 3,4-dimethylenecyclohexene L3: six-inringonetriple L4: cyclohexyne - L3: six-inringonetripleonedouble - L4: cyclohex_1_yne_4_ene + L3: six-inringonetripleonedouble-13 L4: cyclohex_1_yne_3_ene L4: o_benzyne + L3: six-inringonetripleonedouble-14 + L4: cyclohex_1_yne_4_ene + L3: six-inringonetripletwodouble-134 + L3: six-inringonetriplethreedouble-1345 L3: six-inringtwotriple-13 L4: 1_3_cyclohexadiyne L2: SevenMember