Coverage for /builds/kinetik161/ase/ase/data/dbh24.py: 32.50%
40 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-12-10 11:04 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-12-10 11:04 +0000
1# flake8: noqa
2"""
3The following contains a database of 24 gas-phase reaction barrier heights for small molecules.
4It is the DBH24 (diverse barrier heights) set of the Truhlar group,
5with 12 forward and 12 backward barriers.
6All geometries are from
7Zheng, Zhao and Truhler, "J. Chem. Theo. Comput.", 3:569-582, 2007
8while energies are from
9Zheng, Zhao and Truhler, "J. Chem. Theo. Comput.", 5:808-821, 2009
10"""
12from ase.atoms import Atoms
14dbh24 = ['dbh24_H', 'dbh24_N2O', 'dbh24_OH', 'dbh24_N2', 'dbh24_tst_H_N2O__OH_N2',
15 'dbh24_HCl', 'dbh24_tst_H_ClH__HCl_H',
16 'dbh24_CH3', 'dbh24_FCl', 'dbh24_CH3F', 'dbh24_Cl', 'dbh24_tst_CH3_FCl__CH3F_Cl',
17 'dbh24_Cl-ion_CH3Cl', 'dbh24_tst_Cl-ion_CH3Cl',
18 'dbh24_F-ion_CH3Cl', 'dbh24_Cl-ion_CH3F', 'dbh24_tst-Cl-ion_CH3F__F_ion_CH3Cl',
19 'dbh24_OH-ion', 'dbh24_CH3OH', 'dbh24_F-ion', 'dbh24_tst-OH-ion_CH3F__F_ion_CH3OH',
20 'dbh24_HN2', 'dbh24_tst_H_N2__HN2',
21 'dbh24_C2H4', 'dbh24_CH3CH2', 'dbh24_tst_H_C2H4__CH3CH2',
22 'dbh24_HCN', 'dbh24_HNC', 'dbh24_tst_HCN__HNC',
23 'dbh24_CH4', 'dbh24_H2O', 'dbh24_tst_OH_CH4__CH3_H2O',
24 'dbh24_H2', 'dbh24_O', 'dbh24_tst_H_OH__O_H2',
25 'dbh24_H2S', 'dbh24_HS', 'dbh24_tst_H_H2S__H2_HS']
27dbh24_reaction_list = {
28 'dbh24_r1': {
29 'description': 'HAT 1',
30 'number': 1,
31 'initial': ['dbh24_H', 'dbh24_N2O'],
32 'final': ['dbh24_OH', 'dbh24_N2'],
33 'tst': 'dbh24_tst_H_N2O__OH_N2'},
34 'dbh24_r2': {
35 'description': 'HAT 2',
36 'number': 2,
37 'initial': ['dbh24_H', 'dbh24_HCl'],
38 'final': ['dbh24_HCl', 'dbh24_H'],
39 'tst': 'dbh24_tst_H_ClH__HCl_H'},
40 'dbh24_r3': {
41 'description': 'HAT 3',
42 'number': 3,
43 'initial': ['dbh24_CH3', 'dbh24_FCl'],
44 'final': ['dbh24_CH3F', 'dbh24_Cl'],
45 'tst': 'dbh24_tst_CH3_FCl__CH3F_Cl'},
46 'dbh24_r4': {
47 'description': 'NS 1',
48 'number': 4,
49 'initial': ['dbh24_Cl-ion_CH3Cl'],
50 'final': ['dbh24_Cl-ion_CH3Cl'],
51 'tst': 'dbh24_tst_Cl-ion_CH3Cl'},
52 'dbh24_r5': {
53 'description': 'NS 2',
54 'number': 5,
55 'initial': ['dbh24_F-ion_CH3Cl'],
56 'final': ['dbh24_Cl-ion_CH3F'],
57 'tst': 'dbh24_tst-Cl-ion_CH3F__F_ion_CH3Cl'},
58 'dbh24_r6': {
59 'description': 'NS 3',
60 'number': 6,
61 'initial': ['dbh24_OH-ion', 'dbh24_CH3F'],
62 'final': ['dbh24_CH3OH', 'dbh24_F-ion'],
63 'tst': 'dbh24_tst-OH-ion_CH3F__F_ion_CH3OH'},
64 'dbh24_r7': {
65 'description': 'UA 1',
66 'number': 7,
67 'initial': ['dbh24_H', 'dbh24_N2'],
68 'final': ['dbh24_HN2'],
69 'tst': 'dbh24_tst_H_N2__HN2'},
70 'dbh24_r8': {
71 'description': 'UA 2',
72 'number': 8,
73 'initial': ['dbh24_H', 'dbh24_C2H4'],
74 'final': ['dbh24_CH3CH2'],
75 'tst': 'dbh24_tst_H_C2H4__CH3CH2'},
76 'dbh24_r9': {
77 'description': 'UA 3',
78 'number': 9,
79 'initial': ['dbh24_HCN'],
80 'final': ['dbh24_HNC'],
81 'tst': 'dbh24_tst_HCN__HNC'},
82 'dbh24_r10': {
83 'description': 'HT 1',
84 'number': 10,
85 'initial': ['dbh24_OH', 'dbh24_CH4'],
86 'final': ['dbh24_CH3', 'dbh24_H2O'],
87 'tst': 'dbh24_tst_OH_CH4__CH3_H2O'},
88 'dbh24_r11': {
89 'description': 'HT 2',
90 'number': 11,
91 'initial': ['dbh24_H', 'dbh24_OH'],
92 'final': ['dbh24_O', 'dbh24_H2'],
93 'tst': 'dbh24_tst_H_OH__O_H2'},
94 'dbh24_r12': {
95 'description': 'HT 3',
96 'number': 12,
97 'initial': ['dbh24_H', 'dbh24_H2S'],
98 'final': ['dbh24_H2', 'dbh24_HS'],
99 'tst': 'dbh24_tst_H_H2S__H2_HS'}
100}
102data = {
103 # reaction 1 = HAT 1
104 'dbh24_H': {
105 'name': 'dbh24_H',
106 'symbols': 'H',
107 'magmoms': [1.],
108 'charge': 0.,
109 'positions': [[0., 0., 0.]]},
110 'dbh24_N2O': {
111 'name': "dbh24_N2O",
112 'symbols': 'NNO',
113 'magmoms': None,
114 'charge': 0.,
115 'positions': [[0., 0., -1.195674],
116 [0., 0., -0.075111],
117 [0., 0., 1.111937]]},
118 'dbh24_OH': {
119 'name': "dbh24_OH",
120 'symbols': 'OH',
121 'magmoms': [1., 0.],
122 'charge': 0.,
123 'positions': [[0., 0., 0.106894],
124 [0., 0., -0.855149]]},
125 'dbh24_N2': {
126 'name': "dbh24_N2",
127 'symbols': 'NN',
128 'magmoms': None,
129 'charge': 0.,
130 'positions': [[0., 0., 0.548555],
131 [0., 0., -0.548555]]},
132 'dbh24_tst_H_N2O__OH_N2': {
133 'name': "dbh24_tst_H_N2O__OH_N2",
134 'Vf': 17.13, # kcal/mol
135 'Vb': 82.47, # kcal/mol
136 'symbols': 'HONN',
137 'magmoms': [1., 0., 0., 0.],
138 'charge': 0.,
139 'positions': [[-0.303286, -1.930712, 0.],
140 [-0.861006, -0.621526, 0.],
141 [0.000000, 0.257027, 0.],
142 [1.027333, 0.729104, 0.]]},
143 # reaction 2 = HAT 2
144 'dbh24_HCl': {
145 'name': "dbh24_HCl",
146 'symbols': 'HCl',
147 'magmoms': None,
148 'charge': 0.,
149 'positions': [[0., 0., -1.203645],
150 [0., 0., 0.070803]]},
151 'dbh24_tst_H_ClH__HCl_H': {
152 'name': "dbh24_tst_H_ClH__HCl_H",
153 'Vf': 18.00, # kcal/mol
154 'Vb': 18.00, # kcal/mol
155 'symbols': 'HClH',
156 'magmoms': [1., 0., 0.],
157 'charge': 0.,
158 'positions': [[0., 0., 1.485800],
159 [0., 0., 0.],
160 [0., 0., -1.485800]]},
161 # reaction 3 = HAT 3
162 'dbh24_CH3': {
163 'name': "dbh24_CH3",
164 'symbols': 'CHHH',
165 'magmoms': [1., 0., 0., 0.],
166 'charge': 0.,
167 'positions': [[0., 0., 0.],
168 [1.077317, 0., 0.],
169 [-0.538659, 0.932984, 0.],
170 [-0.538659, -0.932984, 0.]]},
171 'dbh24_FCl': {
172 'name': "dbh24_FCl",
173 'symbols': 'FCl',
174 'magmoms': None,
175 'charge': 0.,
176 'positions': [[0., 0., -1.065985],
177 [0., 0., 0.564345]]},
178 'dbh24_CH3F': {
179 'name': "dbh24_CH3F",
180 'symbols': 'CFHHH',
181 'magmoms': None,
182 'charge': 0.,
183 'positions': [[-0.632074, 0.000001, 0.000000],
184 [0.749117, 0.000002, -0.000002],
185 [-0.983182, -0.338489, 0.972625],
186 [-0.983222, 1.011553, -0.193172],
187 [-0.983203, -0.673084, -0.779437]]},
188 'dbh24_Cl': {
189 'name': 'dbh24_Cl',
190 'symbols': 'Cl',
191 'magmoms': [1.],
192 'charge': 0.,
193 'positions': [[0., 0., 0.]]},
194 'dbh24_tst_CH3_FCl__CH3F_Cl': {
195 'name': "dbh24_tst_CH3_FCl__CH3F_Cl",
196 'Vf': 6.75, # kcal/mol
197 'Vb': 60.00, # kcal/mol
198 'symbols': 'ClFCHHH',
199 'magmoms': [0., 0., 1., 0., 0., 0.],
200 'charge': 0.,
201 'positions': [[1.454749, -0.001237, -0.000040],
202 [-0.323587, 0.004631, 0.000124],
203 [-2.387418, -0.002147, -0.000073],
204 [-2.495086, -0.855361, -0.649404],
205 [-2.497313, -0.138673, 1.063139],
206 [-2.501537, 0.986269, -0.413734]]},
207 # reaction 4 = NS 1
208 'dbh24_Cl-ion_CH3Cl': {
209 'name': "dbh24_Cl-ion_CH3Cl",
210 'symbols': 'ClCHHHCl',
211 'magmoms': None,
212 'charge': -1.,
213 'positions': [[0.000000, 0.000000, -2.384735],
214 [0.000000, 0.000000, -0.566331],
215 [0.000000, 1.025066, -0.224379],
216 [-0.887734, -0.512533, -0.224379],
217 [0.887734, -0.512533, -0.224379],
218 [0.000000, 0.000000, 2.624213]]},
219 'dbh24_tst_Cl-ion_CH3Cl': {
220 'name': "dbh24_tst_Cl-ion_CH3Cl",
221 'Vf': 13.41, # kcal/mol
222 'Vb': 13.41, # kcal/mol
223 'symbols': 'ClCHHHCl',
224 'magmoms': None,
225 'charge': -1.,
226 'positions': [[0.000025, 0.019526, 2.322499],
227 [0.000513, 0.000486, -0.000089],
228 [0.761278, -0.750733, 0.006377],
229 [-1.030451, -0.282724, 0.002147],
230 [0.270728, 1.034927, -0.008697],
231 [-0.000297, -0.019784, -2.322458]]},
232 # reaction 5 = NS 2
233 'dbh24_F-ion_CH3Cl': {
234 'name': "dbh24_F-ion_CH3Cl",
235 'symbols': 'ClCHHHF',
236 'magmoms': None,
237 'charge': -1.,
238 'positions': [[0.000000, 0.000000, 1.623138],
239 [0.000000, 0.000000, -0.227358],
240 [0.000000, 1.026321, -0.555141],
241 [0.888820, -0.513160, -0.555141],
242 [-0.888820, -0.513160, -0.555141],
243 [0.000000, 0.000000, -2.729308]]},
244 'dbh24_Cl-ion_CH3F': {
245 'name': "dbh24_Cl-ion_CH3F",
246 'symbols': 'FCHHHCl',
247 'magmoms': None,
248 'charge': -1.,
249 'positions': [[0.000000, 0.000000, -2.648539],
250 [0.000000, 0.000000, -1.240170],
251 [0.000000, 1.024719, -0.886406],
252 [-0.887432, -0.512359, -0.886406],
253 [0.887432, -0.512359, -0.886406],
254 [0.000000, 0.000000, 1.996299]]},
255 'dbh24_tst-Cl-ion_CH3F__F_ion_CH3Cl': {
256 'name': "dbh24_tst-Cl-ion_CH3F__F_ion_CH3Cl",
257 'Vf': 3.44, # kcal/mol
258 'Vb': 29.42, # kcal/mol
259 'symbols': 'FCHHHCl',
260 'magmoms': None,
261 'charge': -1.,
262 'positions': [[0.000000, 0.000000, -2.537929],
263 [0.000000, 0.000000, -0.488372],
264 [1.062087, 0.000000, -0.614972],
265 [-0.531044, 0.919794, -0.614972],
266 [-0.531044, -0.919794, -0.614972],
267 [0.000000, 0.000000, 1.624501]]},
268 # reaction 6 = NS 3
269 'dbh24_OH-ion': {
270 'name': "dbh24_OH-ion",
271 'symbols': 'OH',
272 'magmoms': None,
273 'charge': -1.,
274 'positions': [[0.000000, 0.000000, 0.106894],
275 [0.000000, 0.000000, -0.855149]]},
276 'dbh24_CH3OH': {
277 'name': "dbh24_CH3OH",
278 'symbols': 'COHHHH',
279 'magmoms': None,
280 'charge': 0.,
281 'positions': [[-0.046423, 0.663069, 0.000000],
282 [-0.046423, -0.755063, 0.000000],
283 [-1.086956, 0.975938, 0.000000],
284 [0.860592, -1.057039, 0.000000],
285 [0.438145, 1.071594, 0.889539],
286 [0.438145, 1.071594, -0.889539]]},
287 'dbh24_F-ion': {
288 'name': "dbh24_F-ion",
289 'symbols': 'F',
290 'magmoms': None,
291 'charge': -1.,
292 'positions': [[0.0, 0.0, 0.0]]},
293 'dbh24_tst-OH-ion_CH3F__F_ion_CH3OH': {
294 'name': "dbh24_tst-OH-ion_CH3F__F_ion_CH3OH",
295 'Vf': -2.44, # kcal/mol
296 'Vb': 17.66, # kcal/mol
297 'symbols': 'FCHHHOH',
298 'magmoms': None,
299 'charge': -1.,
300 'positions': [[1.850614, -0.013179, -0.000128],
301 [0.090857, 0.010586, 0.000269],
302 [0.040907, 1.079548, -0.011749],
303 [0.037163, -0.528013, -0.922944],
304 [0.037486, -0.507463, 0.935132],
305 [-1.892801, 0.103266, -0.000118],
306 [-2.173821, -0.815112, 0.000039]]},
307 # reaction 7 = UA 1
308 'dbh24_HN2': {
309 'name': "dbh24_HN2",
310 'symbols': 'NNH',
311 'magmoms': [1., 0., 0.],
312 'charge': 0.,
313 'positions': [[-0.062442, 0.659491, 0.000000],
314 [-0.062442, -0.518709, 0.000000],
315 [0.874194, -0.985478, 0.000000]]},
316 'dbh24_tst_H_N2__HN2': {
317 'name': "dbh24_tst_H_N2__HN2",
318 'Vf': 14.36, # kcal/mol
319 'Vb': 10.61, # kcal/mol
320 'symbols': 'NNH',
321 'magmoms': [1., 0., 0.],
322 'charge': 0.,
323 'positions': [[0.084563, -0.642934, 0.000000],
324 [0.084563, 0.479877, 0.000000],
325 [-1.183883, 1.141399, 0.000000]]},
326 # reaction 8 = UA 2
327 'dbh24_C2H4': {
328 'name': "dbh24_C2H4",
329 'symbols': 'CCHHHH',
330 'magmoms': None,
331 'charge': 0.,
332 'positions': [[0.000000, 0.000000, 0.665593],
333 [0.000000, 0.000000, -0.665593],
334 [0.000000, 0.921495, 1.231668],
335 [0.000000, -0.921495, 1.231668],
336 [0.000000, 0.921495, -1.231668],
337 [0.000000, -0.921495, -1.231668]]},
338 'dbh24_CH3CH2': {
339 'name': "dbh24_CH3CH2",
340 'symbols': 'CCHHHHH',
341 'magmoms': [1., 0., 0., 0., 0., 0., 0.],
342 'charge': 0.,
343 'positions': [[-0.258719, -0.816829, 0.000000],
344 [-0.250987, 0.674191, 0.000000],
345 [0.758830, -1.225939, 0.000000],
346 [-0.758830, -1.213866, 0.883419],
347 [-0.758830, -1.213866, -0.883419],
348 [-0.170021, 1.225939, -0.924320],
349 [-0.170021, 1.225939, 0.924320]]},
350 'dbh24_tst_H_C2H4__CH3CH2': {
351 'name': "dbh24_tst_H_C2H4__CH3CH2",
352 'Vf': 1.72, # kcal/mol
353 'Vb': 41.75, # kcal/mol
354 'symbols': 'CCHHHHH',
355 'magmoms': [1., 0., 0., 0., 0., 0., 0.],
356 'charge': 0.,
357 'positions': [[-0.567877, 0.000051, -0.218958],
358 [0.751139, -0.000036, 0.041932],
359 [-1.493884, -0.000488, 1.531765],
360 [-1.101691, 0.920651, -0.408626],
361 [-1.102022, -0.920234, -0.409110],
362 [1.299128, -0.922344, 0.173763],
363 [1.298899, 0.922325, 0.174363]]},
364 # reaction 9 = UA 3
365 'dbh24_HCN': {
366 'name': "dbh24_HCN",
367 'symbols': 'CNH',
368 'magmoms': None,
369 'charge': 0.,
370 'positions': [[0.000000, 0.000000, -0.500365],
371 [0.000000, 0.000000, 0.652640],
372 [0.000000, 0.000000, -1.566291]]},
373 'dbh24_HNC': {
374 'name': "dbh24_HNC",
375 'symbols': 'CNH',
376 'magmoms': None,
377 'charge': 0.,
378 'positions': [[0.000000, 0.000000, -0.737248],
379 [0.000000, 0.000000, 0.432089],
380 [0.000000, 0.000000, 1.426960]]},
381 'dbh24_tst_HCN__HNC': {
382 'name': "dbh24_tst_HCN__HNC",
383 'Vf': 48.07, # kcal/mol
384 'Vb': 32.82, # kcal/mol
385 'symbols': 'CNH',
386 'magmoms': None,
387 'charge': 0.,
388 'positions': [[0.080319, 0.620258, 0.000000],
389 [0.080319, -0.568095, 0.000000],
390 [-1.044148, 0.255121, 0.000000]]},
391 # reaction 10 = HT 1
392 'dbh24_CH4': {
393 'name': "dbh24_CH4",
394 'symbols': 'CHHHH',
395 'magmoms': None,
396 'charge': 0.,
397 'positions': [[0.000000, 0.000000, 0.000000],
398 [0.627837, 0.627837, 0.627837],
399 [-0.627837, -0.627837, 0.627837],
400 [0.627837, -0.627837, -0.627837],
401 [-0.627837, 0.627837, -0.627837]]},
402 'dbh24_H2O': {
403 'name': "dbh24_H2O",
404 'symbols': 'OHH',
405 'magmoms': None,
406 'charge': 0.,
407 'positions': [[0.000000, 0.000000, 0.117145],
408 [0.000000, 0.756709, -0.468582],
409 [0.000000, -0.756709, -0.468582]]},
410 'dbh24_tst_OH_CH4__CH3_H2O': {
411 'name': "dbh24_tst_OH_CH4__CH3_H2O",
412 'Vf': 6.7, # kcal/mol
413 'Vb': 19.6, # kcal/mol
414 'symbols': 'COHHHHH',
415 'magmoms': [0., 1., 0., 0., 0., 0., 0.],
416 'charge': 0.,
417 'positions': [[-1.211487, 0.007968, 0.000407],
418 [1.293965, -0.108694, 0.000133],
419 [0.009476, -0.118020, 0.002799],
420 [-1.525529, -0.233250, 1.010070],
421 [-1.430665, 1.033233, -0.278082],
422 [-1.552710, -0.710114, -0.737702],
423 [1.416636, 0.849894, -0.000591]]},
424 # reaction 11 = HT 2
425 'dbh24_O': {
426 'name': 'dbh24_O',
427 'symbols': 'O',
428 'magmoms': [2.],
429 'charge': 0.,
430 'positions': [[0., 0., 0.]]},
431 'dbh24_H2': {
432 'name': "dbh24_H2",
433 'symbols': 'HH',
434 'magmoms': None,
435 'charge': 0.,
436 'positions': [[0.000000, 0.000000, 0.370938],
437 [0.000000, 0.000000, -0.370938]]},
438 'dbh24_tst_H_OH__O_H2': {
439 'name': "dbh24_tst_H_OH__O_H2",
440 'Vf': 10.7, # kcal/mol
441 'Vb': 13.1, # kcal/mol
442 'symbols': 'HOH',
443 'magmoms': [1., 0., 1.],
444 'charge': 0.,
445 'positions': [[0.000000, 0.000000, -0.860287],
446 [0.000000, 0.000000, 0.329024],
447 [0.000000, 0.000000, -1.771905]]},
448 # reaction 12 = HT 3
449 'dbh24_H2S': {
450 'name': "dbh24_H2S",
451 'symbols': 'SHH',
452 'magmoms': None,
453 'charge': 0.,
454 'positions': [[0.000000, 0.000000, 0.102519],
455 [0.000000, 0.966249, -0.820154],
456 [0.000000, -0.966249, -0.820154]]},
457 'dbh24_HS': {
458 'name': "dbh24_HS",
459 'symbols': 'SH',
460 'magmoms': [0., 1.],
461 'charge': 0.,
462 'positions': [[0.000000, 0.000000, 0.078835],
463 [0.000000, 0.000000, -1.261367]]},
464 'dbh24_tst_H_H2S__H2_HS': {
465 'name': "dbh24_tst_H_H2S__H2_HS",
466 'Vf': 3.6, # kcal/mol
467 'Vb': 17.3, # kcal/mol
468 'symbols': 'HSHH',
469 'magmoms': [0., 1., 0., 0.],
470 'charge': 0.,
471 'positions': [[1.262097, -0.220097, 0.000000],
472 [0.000000, 0.223153, 0.000000],
473 [-0.500576, -1.115445, 0.000000],
474 [-0.761521, -2.234913, 0.000000]]},
475}
478def create_dbh24_system(name, **kwargs):
479 """Creates a DBH24 system.
480 """
481 if name not in data:
482 raise NotImplementedError(f'System {name} not in database.')
483 d = data[name]
484 if 'magmoms' not in kwargs:
485 kwargs['magmoms'] = d['magmoms']
486 return Atoms(d['symbols'], d['positions'], **kwargs)
489def get_dbh24_magmoms(name):
490 """Returns the magnetic moments of DBH24 systems.
491 """
492 if name not in data:
493 raise KeyError(f'System {name} not in database.')
494 else:
495 return data[name]['magmoms']
498def get_dbh24_charge(name):
499 """ Returns the total charge of DBH24 systems.
500 """
501 assert name in dbh24
502 d = data[name]
503 return d['charge']
506def get_dbh24_Vf(name):
507 """ Returns forward DBH24 TST barrier in kcal/mol
508 """
509 assert name in dbh24
510 d = data[name]
511 return d['Vf']
514def get_dbh24_Vb(name):
515 """ Returns backward DBH24 TST barrier in kcal/mol
516 """
517 assert name in dbh24
518 d = data[name]
519 return d['Vb']
522def get_dbh24_initial_states(name):
523 """ Returns initial DBH24 states
524 """
525 assert name in dbh24_reaction_list
526 d = dbh24_reaction_list[name]
527 return d['initial']
530def get_dbh24_final_states(name):
531 """ Returns final DBH24 states
532 """
533 assert name in dbh24_reaction_list
534 d = dbh24_reaction_list[name]
535 return d['final']
538def get_dbh24_tst(name):
539 """ Returns DBH24 TST names
540 """
541 assert name in dbh24_reaction_list
542 d = dbh24_reaction_list[name]
543 return d['tst']