kinbot 2.2.1__tar.gz → 2.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/PKG-INFO +54 -14
  2. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/SOURCES.txt +16 -0
  3. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/requires.txt +3 -2
  4. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/top_level.txt +3 -0
  5. {kinbot-2.2.1 → kinbot-2.2.2}/LICENSE +3 -2
  6. {kinbot-2.2.1 → kinbot-2.2.2}/PKG-INFO +54 -14
  7. {kinbot-2.2.1 → kinbot-2.2.2}/README.md +38 -5
  8. kinbot-2.2.2/kinbot/ase_modules/calculators/nn_pes.py +220 -0
  9. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/cheminfo.py +2 -0
  10. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/config_log.py +8 -1
  11. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/conformers.py +107 -24
  12. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/find_motif.py +2 -0
  13. kinbot-2.2.2/kinbot/fragments.py +853 -0
  14. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/frequencies.py +3 -1
  15. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/geometry.py +88 -21
  16. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/hindered_rotors.py +14 -3
  17. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/irc.py +11 -6
  18. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/kb.py +64 -22
  19. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/license_message.py +1 -1
  20. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/mess.py +86 -31
  21. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/modify_geom.py +40 -25
  22. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/molpro.py +124 -20
  23. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/optimize.py +67 -40
  24. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/parameters.py +164 -10
  25. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/pes.py +573 -191
  26. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/postprocess.py +90 -20
  27. kinbot-2.2.2/kinbot/pp_settings.py +381 -0
  28. kinbot-2.2.2/kinbot/pp_tables.py +22 -0
  29. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/qc.py +406 -167
  30. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reac_General.py +4 -2
  31. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reac_family.py +52 -34
  32. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reaction_finder.py +147 -165
  33. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reaction_generator.py +330 -249
  34. kinbot-2.2.2/kinbot/reactions/reac_R_Addition_MultipleBond.py +108 -0
  35. kinbot-2.2.2/kinbot/reactions/reac_h2_elim.py +34 -0
  36. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reader_gauss.py +103 -7
  37. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/stationary_pt.py +137 -52
  38. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_hir.tpl.py +1 -1
  39. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_irc.tpl.py +26 -11
  40. kinbot-2.2.2/kinbot/tpl/ase_gauss_vts.tpl.py +124 -0
  41. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_qchem_ts_search.tpl.py +0 -1
  42. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_sella_hir.tpl.py +12 -4
  43. kinbot-2.2.2/kinbot/tpl/ase_sella_irc.tpl.py +81 -0
  44. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_sella_opt_well.tpl.py +30 -16
  45. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_sella_ring_conf.tpl.py +30 -17
  46. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_sella_ts_end.tpl.py +25 -14
  47. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_sella_ts_search.tpl.py +14 -5
  48. kinbot-2.2.2/kinbot/tpl/ase_sella_vts.tpl.py +213 -0
  49. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_barrierless.tpl +6 -4
  50. kinbot-2.2.2/kinbot/tpl/mess_hinderedrotorgeom.tpl +10 -0
  51. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/molpro.tpl +4 -6
  52. kinbot-2.2.2/kinbot/tpl/molpro_ts_search.tpl.py +63 -0
  53. kinbot-2.2.2/kinbot/tpl/molpro_vts.tpl +17 -0
  54. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pesviewer.inp.tpl +2 -1
  55. kinbot-2.2.2/kinbot/tpl/rotdPy.tpl +89 -0
  56. kinbot-2.2.2/kinbot/tpl/rotdPy_1d_corr.tpl +12 -0
  57. kinbot-2.2.2/kinbot/tpl/rotdPy_calc.tpl +10 -0
  58. kinbot-2.2.2/kinbot/tpl/rotdPy_frag.tpl +4 -0
  59. kinbot-2.2.2/kinbot/tpl/rotdPy_surf.tpl +7 -0
  60. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_molpro.tpl +1 -0
  61. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/utils.py +115 -26
  62. kinbot-2.2.2/kinbot/vrc_tst_scan.py +633 -0
  63. kinbot-2.2.2/kinbot/vrc_tst_surfaces.py +40 -0
  64. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/zmatrix.py +1 -2
  65. {kinbot-2.2.1 → kinbot-2.2.2}/pyproject.toml +8 -8
  66. kinbot-2.2.1/kinbot/reactions/reac_R_Addition_MultipleBond.py +0 -75
  67. kinbot-2.2.1/kinbot/reactions/reac_h2_elim.py +0 -31
  68. kinbot-2.2.1/kinbot/tpl/ase_sella_irc.tpl.py +0 -60
  69. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/dependency_links.txt +0 -0
  70. {kinbot-2.2.1 → kinbot-2.2.2}/KinBot.egg-info/entry_points.txt +0 -0
  71. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/__init__.py +0 -0
  72. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/__init__.py +0 -0
  73. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/calculators/__init__.py +0 -0
  74. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/calculators/gaussian.py +0 -0
  75. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/calculators/qchem.py +0 -0
  76. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/constraints.py +0 -0
  77. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/io/__init__.py +0 -0
  78. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/io/formats.py +0 -0
  79. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/io/gaussian.py +0 -0
  80. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/ase_modules/io/zmatrix.py +0 -0
  81. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/bfgs.py +0 -0
  82. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/bond_combinations.py +0 -0
  83. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/constants.py +0 -0
  84. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/exceptions.py +0 -0
  85. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/mesmer.py +0 -0
  86. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/orca.py +0 -0
  87. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reaction_finder_bimol.py +0 -0
  88. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/__init__.py +0 -0
  89. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_12_shift_S_F.py +0 -0
  90. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_12_shift_S_R.py +0 -0
  91. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Cyclic_Ether_Formation.py +0 -0
  92. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Diels_alder_addition.py +0 -0
  93. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_HO2_Elimination_from_PeroxyRadical.py +0 -0
  94. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_Diels_alder_R.py +0 -0
  95. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_RH_Add_Endocyclic_F.py +0 -0
  96. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_RH_Add_Endocyclic_R.py +0 -0
  97. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_RH_Add_Exocyclic_F.py +0 -0
  98. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_RH_Add_Exocyclic_R.py +0 -0
  99. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_R_Add_Endocyclic_F.py +0 -0
  100. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_R_Add_ExoTetCyclic_F.py +0 -0
  101. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_R_Add_Exocyclic_F.py +0 -0
  102. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_disproportionation_F.py +0 -0
  103. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Intra_disproportionation_R.py +0 -0
  104. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Korcek_step2.py +0 -0
  105. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Korcek_step2_even.py +0 -0
  106. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Korcek_step2_odd.py +0 -0
  107. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_R_Addition_COm3_R.py +0 -0
  108. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_R_Addition_CSm_R.py +0 -0
  109. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_Retro_Ene.py +0 -0
  110. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_abstraction.py +0 -0
  111. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_barrierless_saddle.py +0 -0
  112. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_beta_delta.py +0 -0
  113. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_bimol_disproportionation_R.py +0 -0
  114. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_birad_recombination_F.py +0 -0
  115. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_birad_recombination_R.py +0 -0
  116. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_combinatorial.py +0 -0
  117. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_cpd_H_migration.py +0 -0
  118. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_homolytic_scission.py +0 -0
  119. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_intra_H_migration.py +0 -0
  120. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_intra_H_migration_suprafacial.py +0 -0
  121. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_intra_OH_migration.py +0 -0
  122. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_intra_OH_migration_Exocyclic_F.py +0 -0
  123. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_intra_R_migration.py +0 -0
  124. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_ketoenol.py +0 -0
  125. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r12_cycloaddition.py +0 -0
  126. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r12_insertion_R.py +0 -0
  127. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r13_insertion_CO2.py +0 -0
  128. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r13_insertion_ROR.py +0 -0
  129. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r13_insertion_RSR.py +0 -0
  130. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r14_birad_scission.py +0 -0
  131. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r14_cyclic_birad_scission_R.py +0 -0
  132. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reactions/reac_r22_cycloaddition.py +0 -0
  133. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/reader_qchem.py +0 -0
  134. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/symmetry.py +0 -0
  135. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/thread_kinbot.py +0 -0
  136. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/__init__.py +0 -0
  137. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_opt_well.tpl.py +0 -0
  138. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_ring_conf.tpl.py +0 -0
  139. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_ts_end.tpl.py +0 -0
  140. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_gauss_ts_search.tpl.py +0 -0
  141. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_freq_well.tpl.py +0 -0
  142. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_irc.tpl.py +0 -0
  143. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_opt_well.tpl.py +0 -0
  144. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_ts_end.tpl.py +0 -0
  145. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_ts_search.tpl.py +0 -0
  146. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_nwchem_ts_search_ase_constraints.tpl.py +0 -0
  147. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_qchem_hir.tpl.py +0 -0
  148. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_qchem_irc.tpl.py +0 -0
  149. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_qchem_opt_well.tpl.py +0 -0
  150. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/ase_qchem_ts_end.tpl.py +0 -0
  151. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/local_molpro.tpl +0 -0
  152. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_2tst.tpl +0 -0
  153. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_atom.tpl +0 -0
  154. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_barrier.tpl +0 -0
  155. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_barrier_union.tpl +0 -0
  156. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_bimol.tpl +0 -0
  157. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_bimol_union.tpl +0 -0
  158. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_core_rr.tpl +0 -0
  159. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_dummy.tpl +0 -0
  160. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_fragment.tpl +0 -0
  161. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_fragment_OH.tpl +0 -0
  162. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_freerotor.tpl +0 -0
  163. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_header.tpl +0 -0
  164. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_hinderedrotor.tpl +0 -0
  165. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_outerrrho.tpl +0 -0
  166. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_pst.tpl +0 -0
  167. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_pstfragment.tpl +0 -0
  168. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_rrho.tpl +0 -0
  169. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_termol.tpl +0 -0
  170. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_ts.tpl +0 -0
  171. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_tunneling.tpl +0 -0
  172. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_variational.tpl +0 -0
  173. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_well.tpl +0 -0
  174. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/mess_well_union.tpl +0 -0
  175. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs.tpl +0 -0
  176. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs_mesmer.tpl +0 -0
  177. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs_mess.tpl +0 -0
  178. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs_mess_uq.tpl +0 -0
  179. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs_molpro.tpl +0 -0
  180. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/pbs_python.tpl +0 -0
  181. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm.tpl +0 -0
  182. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_mesmer.tpl +0 -0
  183. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_mess.tpl +0 -0
  184. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_mess_uq.tpl +0 -0
  185. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_orca.tpl +0 -0
  186. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/tpl/slurm_python.tpl +0 -0
  187. {kinbot-2.2.1 → kinbot-2.2.2}/kinbot/uncertaintyAnalysis.py +0 -0
  188. {kinbot-2.2.1 → kinbot-2.2.2}/setup.cfg +0 -0
  189. {kinbot-2.2.1 → kinbot-2.2.2}/tests/__init__.py +0 -0
  190. {kinbot-2.2.1 → kinbot-2.2.2}/tests/bfgs.py +0 -0
  191. {kinbot-2.2.1 → kinbot-2.2.2}/tests/cheminfo.py +0 -0
  192. {kinbot-2.2.1 → kinbot-2.2.2}/tests/dihedrals.py +0 -0
  193. {kinbot-2.2.1 → kinbot-2.2.2}/tests/find_motif.py +0 -0
  194. {kinbot-2.2.1 → kinbot-2.2.2}/tests/frequencies.py +0 -0
  195. {kinbot-2.2.1 → kinbot-2.2.2}/tests/geometry.py +0 -0
  196. {kinbot-2.2.1 → kinbot-2.2.2}/tests/modify_geom.py +0 -0
  197. {kinbot-2.2.1 → kinbot-2.2.2}/tests/multimolecular.py +0 -0
  198. {kinbot-2.2.1 → kinbot-2.2.2}/tests/resonance.py +0 -0
  199. {kinbot-2.2.1 → kinbot-2.2.2}/tests/symmetry.py +0 -0
  200. {kinbot-2.2.1 → kinbot-2.2.2}/tests/test_kinbot.py +0 -0
@@ -1,13 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kinbot
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Automated reaction kinetics for gas-phase species
5
- Author-email: Judit Zádor <jzador@sandia.gov>, Ruben Vande Vijver <ruben.vandevijver@ugent.be>, Carles Martí <cmartia@sandia.gov>, Amanda Dewyer <adewyer@sandia.gov>
6
- Maintainer-email: Judit Zádor <jzador@sandia.gov>, Carles Martí <cmartia@sandia.gov>
5
+ Author-email: Judit Zádor <jzador@sandia.gov>, Ruben Van de Vijver <ruben.vandevijver@ugent.be>, Carles Martí <cmartia@sandia.gov>, Clément Soulié <csoulie@sandia.gov>, Amanda Dewyer <adewyer@sandia.gov>
6
+ Maintainer-email: Judit Zádor <jzador@sandia.gov>, Clément Soulié <csoulie@sandia.gov>
7
7
  License: BSD 3-Clause License
8
8
 
9
- Copyright (c) 2018, zadorlab
10
- All rights reserved.
9
+ Copyright (c) 2018, National Technology & Engineering Solutions of Sandia,
10
+ LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS,
11
+ the U.S. Government retains certain rights in this software
11
12
 
12
13
  Redistribution and use in source and binary forms, with or without
13
14
  modification, are permitted provided that the following conditions are met:
@@ -41,14 +42,20 @@ Classifier: Intended Audience :: Science/Research
41
42
  Classifier: Natural Language :: English
42
43
  Classifier: License :: OSI Approved :: BSD License
43
44
  Classifier: Operating System :: OS Independent
44
- Classifier: Programming Language :: Python :: 3.8
45
- Classifier: Programming Language :: Python :: 3.9
46
45
  Classifier: Programming Language :: Python :: 3.10
47
46
  Classifier: Topic :: Scientific/Engineering :: Chemistry
48
- Requires-Python: >=3.8
47
+ Requires-Python: >=3.10
49
48
  Description-Content-Type: text/markdown
50
- Provides-Extra: plot
51
49
  License-File: LICENSE
50
+ Requires-Dist: numpy<2.0,>=1.17.0
51
+ Requires-Dist: ase<3.23,>=3.19
52
+ Requires-Dist: networkx
53
+ Requires-Dist: rmsd>=1.5.1
54
+ Requires-Dist: sella
55
+ Provides-Extra: plot
56
+ Requires-Dist: matplotlib; extra == "plot"
57
+ Requires-Dist: pyvis; extra == "plot"
58
+ Requires-Dist: rdkit; extra == "plot"
52
59
 
53
60
  [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/zadorlab/KinBot)
54
61
 
@@ -59,14 +66,37 @@ License-File: LICENSE
59
66
  </p>
60
67
 
61
68
  ## Description
62
- This repository contains the KinBot code version 2.0,
69
+ This repository contains the KinBot code version 2.2.1,
63
70
  a tool for automatically searching for reactions on the potential energy surface.
64
71
 
65
72
  If you are using this tool in scientific publications, please reference the following publications:
66
73
 
67
74
  * Ruben Van de Vijver, Judit Zádor: KinBot: _Automated stationary point search on potential energy surfaces_, Comp. Phys. Comm., **2019**, 248, 106947. https://doi.org/10.1016/j.cpc.2019.106947
75
+ ```
76
+ @article{Vijver2020,
77
+ author = {Van de Vijver, Ruben and Z\'ador, Judit},
78
+ title = {KinBot: Automated stationary point search on potential energy surfaces},
79
+ journal = {Comput. Phys. Commun.},
80
+ volume = {248},
81
+ pages = {106947},
82
+ year = {2020},
83
+ type = {Journal Article}
84
+ }
85
+ ```
68
86
  * Judit Zádor, Carles Martí, Ruben Van de Vijver, Sommer L. Johansen, Yoona Yang, Hope A. Michelsen, Habib N. Najm: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces_, J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
69
87
 
88
+ ```
89
+ @article{Zador2022,
90
+ author = {Z\'ador, Judit and Mart\'i, Carles and Van de Vijver, Ruben and Johansen, Sommer L. and Yang, Yoona and Michelsen, Hope A. and Najm, Habib N.},
91
+ title = {Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces},
92
+ journal = {J. Phys. Chem. A},
93
+ volume = {127},
94
+ pages = {565-588},
95
+ year = {2023},
96
+ type = {Journal Article}
97
+ }
98
+ ```
99
+
70
100
  We appreciate if you send us the DOI of your published paper that used KinBot, so we can feature it here below.
71
101
 
72
102
  ## How to Install
@@ -78,7 +108,7 @@ KinBot can be installed both in three different ways, from the PyPI index (`pip
78
108
  pip install kinbot
79
109
 
80
110
  > **Note**
81
- > KinBot only works with Python >= 3.8.
111
+ > KinBot only works with Python >= 3.10.
82
112
 
83
113
  ### conda-forge
84
114
 
@@ -112,18 +142,28 @@ To run a full PES search, make an input file (e.g. input.json) and run:
112
142
  You can find additional command line arguments in the manual.
113
143
 
114
144
  ## Documentation
115
- See [wiki](https://github.com/zadorlab/KinBot/wiki).
145
+ See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/kinbot_workshop_2023#/) for a more hands-on introduction to the code.
116
146
 
117
147
  ## List of files in this project
118
148
  See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
119
149
 
120
150
  ## Authors
121
151
  * Judit Zádor (jzador@sandia.gov)
122
- * Ruben Van de Vijver (Ruben.VandeVijver@UGent.be)
152
+ * Ruben Van de Vijver
123
153
  * Amanda Dewyer
124
- * Carles Martí (cmartia@sandia.gov)
154
+ * Carles Martí
155
+ * Clément Soulié (csoulie@sandia.gov)
125
156
 
126
157
  ## Papers using KinBot
158
+ * Almeida, T. G., Martí, C., Kurtén, T., Zádor, J., Johansen, S. L.: _Theoretical analysis of the OH-Initiated atmospheric oxidation reactions of imidazole_. Phys. Chem. Chem. Phys., **2024** 26 23570-23587. https://doi.org/10.1039/D4CP02103G
159
+ * Yuan, E. C.-Y., Kumar, A., Guan, X., Hermes, E. D., Rosen, A. S., Zádor, J., Head-Gordon, T., Blau, S. M.: _Analytical ab initio Hessian from a Deep Learning Potential for Transition State Optimization_. Nat. Comm., **2024**
160
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Stereoisomer-dependent rate coefficients and reaction mechanisms of 2-ethyloxetanylperoxy radicals_. Proc. Combust. Inst., **2024**, 40, 105578. https://doi.org/10.1016/j.proci.2024.105578
161
+ * Hansen, N. A, Price, T. D., Filardi, L. R., Gurses, S. M., Zhou, W., Hansen, N., Osborn, D. L. Zádor, J., Kronawitter, C. X.: _The photoionization of methoxymethanol: Fingerprinting a reactive C2 oxygenate in a complex reactive mixture_. J. Chem. Phys., **2024**, 160, 124306. https://doi.org/10.1063/5.0197827
162
+ * Martí, C., Devereux, C., Najm, H. N., Zádor, J.: _Evaluation of rate coefficients in the gas-phase using a machine learned potential_. J. Phys. Chem. A, **2024**, 128, 1958–1971. https://doi.org/10.1021/acs.jpca.3c07872
163
+ * Lang, J., Foley, C. D., Thawoos, S., Behzadfar, A., Liu, Y., Zádor, J., Suits, A. G.: _Reaction dynamics of S(3P) with 1,3-butadiene and isoprene: Crossed beam scattering, low temperature flow experiments, and high-level electronic structure calculations_. Farad. Discuss., **2024**, 251, 550-572. https://doi.org/10.1039/D4FD00009A
164
+ * Wang, D., Tian, Z.-Y., Zheng, Z.-H., Li, W., Wu, L.-N., Kuang, J.-J., Yang, J.-Z.: _Experimental and modeling study of the n, n-dimethylformamide pyrolysis at atmospheric pressure_. Combust. Flame, **2024**, 260, 113240. https://doi.org/10.1016/j.combustflame.2023.113240
165
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Unimolecular reactions of 2,4-dimethyloxetanyl radicals._ J. Phys. Chem A, **2023**, 127, 2591–2600 https://doi.org/10.1021/acs.jpca.2c08290
166
+ * Li, H., Lang, J., Foley, C. D., Zádor, J., Suits, A. G.: _Sulfur (3P) reaction with conjugated dienes gives cyclization to thiophenes under single collision conditions._ J. Phys. Chem. Letters, **2023**, 14, 7611–7617. https://doi.org/10.1021/acs.jpclett.3c01953
127
167
  * Martí, C., Michelsen, H. A., Najm, H. N., Zádor, J.: _Comprehensive kinetics on the C7H7 potential energy surface under combustion conditions._ J. Phys. Chem. A, **2023**, 127, 1941–1959. https://pubs.acs.org/doi/full/10.1021/acs.jpca.2c08035
128
168
  * Zádor, J, Martí, C., Van de Vijver, R., Johansen, S. L., Yang, Y., Michelsen, H. A., Najm, H. N.: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces._ J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
129
169
  * Lockwood, K. S., Ahmed, S. F., Huq, N. A., Stutzman, S. C., Foust, T. D., Labbe, N. J.: _Advances in predictive chemistry enable a multi-scale rational design approach for biofuels with advantaged properties_ Sustainable Energy Fuels, **2022**, 6, 5371-5383. https://doi.org/10.1039/D2SE00773H
@@ -16,6 +16,7 @@ kinbot/conformers.py
16
16
  kinbot/constants.py
17
17
  kinbot/exceptions.py
18
18
  kinbot/find_motif.py
19
+ kinbot/fragments.py
19
20
  kinbot/frequencies.py
20
21
  kinbot/geometry.py
21
22
  kinbot/hindered_rotors.py
@@ -31,6 +32,8 @@ kinbot/orca.py
31
32
  kinbot/parameters.py
32
33
  kinbot/pes.py
33
34
  kinbot/postprocess.py
35
+ kinbot/pp_settings.py
36
+ kinbot/pp_tables.py
34
37
  kinbot/qc.py
35
38
  kinbot/reac_General.py
36
39
  kinbot/reac_family.py
@@ -44,6 +47,8 @@ kinbot/symmetry.py
44
47
  kinbot/thread_kinbot.py
45
48
  kinbot/uncertaintyAnalysis.py
46
49
  kinbot/utils.py
50
+ kinbot/vrc_tst_scan.py
51
+ kinbot/vrc_tst_surfaces.py
47
52
  kinbot/zmatrix.py
48
53
  kinbot.egg-info/PKG-INFO
49
54
  kinbot.egg-info/SOURCES.txt
@@ -55,6 +60,7 @@ kinbot/ase_modules/__init__.py
55
60
  kinbot/ase_modules/constraints.py
56
61
  kinbot/ase_modules/calculators/__init__.py
57
62
  kinbot/ase_modules/calculators/gaussian.py
63
+ kinbot/ase_modules/calculators/nn_pes.py
58
64
  kinbot/ase_modules/calculators/qchem.py
59
65
  kinbot/ase_modules/io/__init__.py
60
66
  kinbot/ase_modules/io/formats.py
@@ -114,6 +120,7 @@ kinbot/tpl/ase_gauss_opt_well.tpl.py
114
120
  kinbot/tpl/ase_gauss_ring_conf.tpl.py
115
121
  kinbot/tpl/ase_gauss_ts_end.tpl.py
116
122
  kinbot/tpl/ase_gauss_ts_search.tpl.py
123
+ kinbot/tpl/ase_gauss_vts.tpl.py
117
124
  kinbot/tpl/ase_nwchem_freq_well.tpl.py
118
125
  kinbot/tpl/ase_nwchem_irc.tpl.py
119
126
  kinbot/tpl/ase_nwchem_opt_well.tpl.py
@@ -131,6 +138,7 @@ kinbot/tpl/ase_sella_opt_well.tpl.py
131
138
  kinbot/tpl/ase_sella_ring_conf.tpl.py
132
139
  kinbot/tpl/ase_sella_ts_end.tpl.py
133
140
  kinbot/tpl/ase_sella_ts_search.tpl.py
141
+ kinbot/tpl/ase_sella_vts.tpl.py
134
142
  kinbot/tpl/local_molpro.tpl
135
143
  kinbot/tpl/mess_2tst.tpl
136
144
  kinbot/tpl/mess_atom.tpl
@@ -146,6 +154,7 @@ kinbot/tpl/mess_fragment_OH.tpl
146
154
  kinbot/tpl/mess_freerotor.tpl
147
155
  kinbot/tpl/mess_header.tpl
148
156
  kinbot/tpl/mess_hinderedrotor.tpl
157
+ kinbot/tpl/mess_hinderedrotorgeom.tpl
149
158
  kinbot/tpl/mess_outerrrho.tpl
150
159
  kinbot/tpl/mess_pst.tpl
151
160
  kinbot/tpl/mess_pstfragment.tpl
@@ -157,6 +166,8 @@ kinbot/tpl/mess_variational.tpl
157
166
  kinbot/tpl/mess_well.tpl
158
167
  kinbot/tpl/mess_well_union.tpl
159
168
  kinbot/tpl/molpro.tpl
169
+ kinbot/tpl/molpro_ts_search.tpl.py
170
+ kinbot/tpl/molpro_vts.tpl
160
171
  kinbot/tpl/pbs.tpl
161
172
  kinbot/tpl/pbs_mesmer.tpl
162
173
  kinbot/tpl/pbs_mess.tpl
@@ -164,6 +175,11 @@ kinbot/tpl/pbs_mess_uq.tpl
164
175
  kinbot/tpl/pbs_molpro.tpl
165
176
  kinbot/tpl/pbs_python.tpl
166
177
  kinbot/tpl/pesviewer.inp.tpl
178
+ kinbot/tpl/rotdPy.tpl
179
+ kinbot/tpl/rotdPy_1d_corr.tpl
180
+ kinbot/tpl/rotdPy_calc.tpl
181
+ kinbot/tpl/rotdPy_frag.tpl
182
+ kinbot/tpl/rotdPy_surf.tpl
167
183
  kinbot/tpl/slurm.tpl
168
184
  kinbot/tpl/slurm_mesmer.tpl
169
185
  kinbot/tpl/slurm_mess.tpl
@@ -1,7 +1,8 @@
1
- numpy>=1.17.0
2
- ase>=3.19
1
+ numpy<2.0,>=1.17.0
2
+ ase<3.23,>=3.19
3
3
  networkx
4
4
  rmsd>=1.5.1
5
+ sella
5
6
 
6
7
  [plot]
7
8
  matplotlib
@@ -1,3 +1,6 @@
1
+ build
1
2
  examples
2
3
  kinbot
4
+ reactions
3
5
  tests
6
+ tpl
@@ -1,7 +1,8 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2018, zadorlab
4
- All rights reserved.
3
+ Copyright (c) 2018, National Technology & Engineering Solutions of Sandia,
4
+ LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS,
5
+ the U.S. Government retains certain rights in this software
5
6
 
6
7
  Redistribution and use in source and binary forms, with or without
7
8
  modification, are permitted provided that the following conditions are met:
@@ -1,13 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kinbot
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Automated reaction kinetics for gas-phase species
5
- Author-email: Judit Zádor <jzador@sandia.gov>, Ruben Vande Vijver <ruben.vandevijver@ugent.be>, Carles Martí <cmartia@sandia.gov>, Amanda Dewyer <adewyer@sandia.gov>
6
- Maintainer-email: Judit Zádor <jzador@sandia.gov>, Carles Martí <cmartia@sandia.gov>
5
+ Author-email: Judit Zádor <jzador@sandia.gov>, Ruben Van de Vijver <ruben.vandevijver@ugent.be>, Carles Martí <cmartia@sandia.gov>, Clément Soulié <csoulie@sandia.gov>, Amanda Dewyer <adewyer@sandia.gov>
6
+ Maintainer-email: Judit Zádor <jzador@sandia.gov>, Clément Soulié <csoulie@sandia.gov>
7
7
  License: BSD 3-Clause License
8
8
 
9
- Copyright (c) 2018, zadorlab
10
- All rights reserved.
9
+ Copyright (c) 2018, National Technology & Engineering Solutions of Sandia,
10
+ LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS,
11
+ the U.S. Government retains certain rights in this software
11
12
 
12
13
  Redistribution and use in source and binary forms, with or without
13
14
  modification, are permitted provided that the following conditions are met:
@@ -41,14 +42,20 @@ Classifier: Intended Audience :: Science/Research
41
42
  Classifier: Natural Language :: English
42
43
  Classifier: License :: OSI Approved :: BSD License
43
44
  Classifier: Operating System :: OS Independent
44
- Classifier: Programming Language :: Python :: 3.8
45
- Classifier: Programming Language :: Python :: 3.9
46
45
  Classifier: Programming Language :: Python :: 3.10
47
46
  Classifier: Topic :: Scientific/Engineering :: Chemistry
48
- Requires-Python: >=3.8
47
+ Requires-Python: >=3.10
49
48
  Description-Content-Type: text/markdown
50
- Provides-Extra: plot
51
49
  License-File: LICENSE
50
+ Requires-Dist: numpy<2.0,>=1.17.0
51
+ Requires-Dist: ase<3.23,>=3.19
52
+ Requires-Dist: networkx
53
+ Requires-Dist: rmsd>=1.5.1
54
+ Requires-Dist: sella
55
+ Provides-Extra: plot
56
+ Requires-Dist: matplotlib; extra == "plot"
57
+ Requires-Dist: pyvis; extra == "plot"
58
+ Requires-Dist: rdkit; extra == "plot"
52
59
 
53
60
  [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/zadorlab/KinBot)
54
61
 
@@ -59,14 +66,37 @@ License-File: LICENSE
59
66
  </p>
60
67
 
61
68
  ## Description
62
- This repository contains the KinBot code version 2.0,
69
+ This repository contains the KinBot code version 2.2.1,
63
70
  a tool for automatically searching for reactions on the potential energy surface.
64
71
 
65
72
  If you are using this tool in scientific publications, please reference the following publications:
66
73
 
67
74
  * Ruben Van de Vijver, Judit Zádor: KinBot: _Automated stationary point search on potential energy surfaces_, Comp. Phys. Comm., **2019**, 248, 106947. https://doi.org/10.1016/j.cpc.2019.106947
75
+ ```
76
+ @article{Vijver2020,
77
+ author = {Van de Vijver, Ruben and Z\'ador, Judit},
78
+ title = {KinBot: Automated stationary point search on potential energy surfaces},
79
+ journal = {Comput. Phys. Commun.},
80
+ volume = {248},
81
+ pages = {106947},
82
+ year = {2020},
83
+ type = {Journal Article}
84
+ }
85
+ ```
68
86
  * Judit Zádor, Carles Martí, Ruben Van de Vijver, Sommer L. Johansen, Yoona Yang, Hope A. Michelsen, Habib N. Najm: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces_, J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
69
87
 
88
+ ```
89
+ @article{Zador2022,
90
+ author = {Z\'ador, Judit and Mart\'i, Carles and Van de Vijver, Ruben and Johansen, Sommer L. and Yang, Yoona and Michelsen, Hope A. and Najm, Habib N.},
91
+ title = {Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces},
92
+ journal = {J. Phys. Chem. A},
93
+ volume = {127},
94
+ pages = {565-588},
95
+ year = {2023},
96
+ type = {Journal Article}
97
+ }
98
+ ```
99
+
70
100
  We appreciate if you send us the DOI of your published paper that used KinBot, so we can feature it here below.
71
101
 
72
102
  ## How to Install
@@ -78,7 +108,7 @@ KinBot can be installed both in three different ways, from the PyPI index (`pip
78
108
  pip install kinbot
79
109
 
80
110
  > **Note**
81
- > KinBot only works with Python >= 3.8.
111
+ > KinBot only works with Python >= 3.10.
82
112
 
83
113
  ### conda-forge
84
114
 
@@ -112,18 +142,28 @@ To run a full PES search, make an input file (e.g. input.json) and run:
112
142
  You can find additional command line arguments in the manual.
113
143
 
114
144
  ## Documentation
115
- See [wiki](https://github.com/zadorlab/KinBot/wiki).
145
+ See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/kinbot_workshop_2023#/) for a more hands-on introduction to the code.
116
146
 
117
147
  ## List of files in this project
118
148
  See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
119
149
 
120
150
  ## Authors
121
151
  * Judit Zádor (jzador@sandia.gov)
122
- * Ruben Van de Vijver (Ruben.VandeVijver@UGent.be)
152
+ * Ruben Van de Vijver
123
153
  * Amanda Dewyer
124
- * Carles Martí (cmartia@sandia.gov)
154
+ * Carles Martí
155
+ * Clément Soulié (csoulie@sandia.gov)
125
156
 
126
157
  ## Papers using KinBot
158
+ * Almeida, T. G., Martí, C., Kurtén, T., Zádor, J., Johansen, S. L.: _Theoretical analysis of the OH-Initiated atmospheric oxidation reactions of imidazole_. Phys. Chem. Chem. Phys., **2024** 26 23570-23587. https://doi.org/10.1039/D4CP02103G
159
+ * Yuan, E. C.-Y., Kumar, A., Guan, X., Hermes, E. D., Rosen, A. S., Zádor, J., Head-Gordon, T., Blau, S. M.: _Analytical ab initio Hessian from a Deep Learning Potential for Transition State Optimization_. Nat. Comm., **2024**
160
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Stereoisomer-dependent rate coefficients and reaction mechanisms of 2-ethyloxetanylperoxy radicals_. Proc. Combust. Inst., **2024**, 40, 105578. https://doi.org/10.1016/j.proci.2024.105578
161
+ * Hansen, N. A, Price, T. D., Filardi, L. R., Gurses, S. M., Zhou, W., Hansen, N., Osborn, D. L. Zádor, J., Kronawitter, C. X.: _The photoionization of methoxymethanol: Fingerprinting a reactive C2 oxygenate in a complex reactive mixture_. J. Chem. Phys., **2024**, 160, 124306. https://doi.org/10.1063/5.0197827
162
+ * Martí, C., Devereux, C., Najm, H. N., Zádor, J.: _Evaluation of rate coefficients in the gas-phase using a machine learned potential_. J. Phys. Chem. A, **2024**, 128, 1958–1971. https://doi.org/10.1021/acs.jpca.3c07872
163
+ * Lang, J., Foley, C. D., Thawoos, S., Behzadfar, A., Liu, Y., Zádor, J., Suits, A. G.: _Reaction dynamics of S(3P) with 1,3-butadiene and isoprene: Crossed beam scattering, low temperature flow experiments, and high-level electronic structure calculations_. Farad. Discuss., **2024**, 251, 550-572. https://doi.org/10.1039/D4FD00009A
164
+ * Wang, D., Tian, Z.-Y., Zheng, Z.-H., Li, W., Wu, L.-N., Kuang, J.-J., Yang, J.-Z.: _Experimental and modeling study of the n, n-dimethylformamide pyrolysis at atmospheric pressure_. Combust. Flame, **2024**, 260, 113240. https://doi.org/10.1016/j.combustflame.2023.113240
165
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Unimolecular reactions of 2,4-dimethyloxetanyl radicals._ J. Phys. Chem A, **2023**, 127, 2591–2600 https://doi.org/10.1021/acs.jpca.2c08290
166
+ * Li, H., Lang, J., Foley, C. D., Zádor, J., Suits, A. G.: _Sulfur (3P) reaction with conjugated dienes gives cyclization to thiophenes under single collision conditions._ J. Phys. Chem. Letters, **2023**, 14, 7611–7617. https://doi.org/10.1021/acs.jpclett.3c01953
127
167
  * Martí, C., Michelsen, H. A., Najm, H. N., Zádor, J.: _Comprehensive kinetics on the C7H7 potential energy surface under combustion conditions._ J. Phys. Chem. A, **2023**, 127, 1941–1959. https://pubs.acs.org/doi/full/10.1021/acs.jpca.2c08035
128
168
  * Zádor, J, Martí, C., Van de Vijver, R., Johansen, S. L., Yang, Y., Michelsen, H. A., Najm, H. N.: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces._ J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
129
169
  * Lockwood, K. S., Ahmed, S. F., Huq, N. A., Stutzman, S. C., Foust, T. D., Labbe, N. J.: _Advances in predictive chemistry enable a multi-scale rational design approach for biofuels with advantaged properties_ Sustainable Energy Fuels, **2022**, 6, 5371-5383. https://doi.org/10.1039/D2SE00773H
@@ -7,14 +7,37 @@
7
7
  </p>
8
8
 
9
9
  ## Description
10
- This repository contains the KinBot code version 2.0,
10
+ This repository contains the KinBot code version 2.2.1,
11
11
  a tool for automatically searching for reactions on the potential energy surface.
12
12
 
13
13
  If you are using this tool in scientific publications, please reference the following publications:
14
14
 
15
15
  * Ruben Van de Vijver, Judit Zádor: KinBot: _Automated stationary point search on potential energy surfaces_, Comp. Phys. Comm., **2019**, 248, 106947. https://doi.org/10.1016/j.cpc.2019.106947
16
+ ```
17
+ @article{Vijver2020,
18
+ author = {Van de Vijver, Ruben and Z\'ador, Judit},
19
+ title = {KinBot: Automated stationary point search on potential energy surfaces},
20
+ journal = {Comput. Phys. Commun.},
21
+ volume = {248},
22
+ pages = {106947},
23
+ year = {2020},
24
+ type = {Journal Article}
25
+ }
26
+ ```
16
27
  * Judit Zádor, Carles Martí, Ruben Van de Vijver, Sommer L. Johansen, Yoona Yang, Hope A. Michelsen, Habib N. Najm: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces_, J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
17
28
 
29
+ ```
30
+ @article{Zador2022,
31
+ author = {Z\'ador, Judit and Mart\'i, Carles and Van de Vijver, Ruben and Johansen, Sommer L. and Yang, Yoona and Michelsen, Hope A. and Najm, Habib N.},
32
+ title = {Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces},
33
+ journal = {J. Phys. Chem. A},
34
+ volume = {127},
35
+ pages = {565-588},
36
+ year = {2023},
37
+ type = {Journal Article}
38
+ }
39
+ ```
40
+
18
41
  We appreciate if you send us the DOI of your published paper that used KinBot, so we can feature it here below.
19
42
 
20
43
  ## How to Install
@@ -26,7 +49,7 @@ KinBot can be installed both in three different ways, from the PyPI index (`pip
26
49
  pip install kinbot
27
50
 
28
51
  > **Note**
29
- > KinBot only works with Python >= 3.8.
52
+ > KinBot only works with Python >= 3.10.
30
53
 
31
54
  ### conda-forge
32
55
 
@@ -60,18 +83,28 @@ To run a full PES search, make an input file (e.g. input.json) and run:
60
83
  You can find additional command line arguments in the manual.
61
84
 
62
85
  ## Documentation
63
- See [wiki](https://github.com/zadorlab/KinBot/wiki).
86
+ See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/kinbot_workshop_2023#/) for a more hands-on introduction to the code.
64
87
 
65
88
  ## List of files in this project
66
89
  See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
67
90
 
68
91
  ## Authors
69
92
  * Judit Zádor (jzador@sandia.gov)
70
- * Ruben Van de Vijver (Ruben.VandeVijver@UGent.be)
93
+ * Ruben Van de Vijver
71
94
  * Amanda Dewyer
72
- * Carles Martí (cmartia@sandia.gov)
95
+ * Carles Martí
96
+ * Clément Soulié (csoulie@sandia.gov)
73
97
 
74
98
  ## Papers using KinBot
99
+ * Almeida, T. G., Martí, C., Kurtén, T., Zádor, J., Johansen, S. L.: _Theoretical analysis of the OH-Initiated atmospheric oxidation reactions of imidazole_. Phys. Chem. Chem. Phys., **2024** 26 23570-23587. https://doi.org/10.1039/D4CP02103G
100
+ * Yuan, E. C.-Y., Kumar, A., Guan, X., Hermes, E. D., Rosen, A. S., Zádor, J., Head-Gordon, T., Blau, S. M.: _Analytical ab initio Hessian from a Deep Learning Potential for Transition State Optimization_. Nat. Comm., **2024**
101
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Stereoisomer-dependent rate coefficients and reaction mechanisms of 2-ethyloxetanylperoxy radicals_. Proc. Combust. Inst., **2024**, 40, 105578. https://doi.org/10.1016/j.proci.2024.105578
102
+ * Hansen, N. A, Price, T. D., Filardi, L. R., Gurses, S. M., Zhou, W., Hansen, N., Osborn, D. L. Zádor, J., Kronawitter, C. X.: _The photoionization of methoxymethanol: Fingerprinting a reactive C2 oxygenate in a complex reactive mixture_. J. Chem. Phys., **2024**, 160, 124306. https://doi.org/10.1063/5.0197827
103
+ * Martí, C., Devereux, C., Najm, H. N., Zádor, J.: _Evaluation of rate coefficients in the gas-phase using a machine learned potential_. J. Phys. Chem. A, **2024**, 128, 1958–1971. https://doi.org/10.1021/acs.jpca.3c07872
104
+ * Lang, J., Foley, C. D., Thawoos, S., Behzadfar, A., Liu, Y., Zádor, J., Suits, A. G.: _Reaction dynamics of S(3P) with 1,3-butadiene and isoprene: Crossed beam scattering, low temperature flow experiments, and high-level electronic structure calculations_. Farad. Discuss., **2024**, 251, 550-572. https://doi.org/10.1039/D4FD00009A
105
+ * Wang, D., Tian, Z.-Y., Zheng, Z.-H., Li, W., Wu, L.-N., Kuang, J.-J., Yang, J.-Z.: _Experimental and modeling study of the n, n-dimethylformamide pyrolysis at atmospheric pressure_. Combust. Flame, **2024**, 260, 113240. https://doi.org/10.1016/j.combustflame.2023.113240
106
+ * Doner, A. C., Zádor, J., Rotavera, B.: _Unimolecular reactions of 2,4-dimethyloxetanyl radicals._ J. Phys. Chem A, **2023**, 127, 2591–2600 https://doi.org/10.1021/acs.jpca.2c08290
107
+ * Li, H., Lang, J., Foley, C. D., Zádor, J., Suits, A. G.: _Sulfur (3P) reaction with conjugated dienes gives cyclization to thiophenes under single collision conditions._ J. Phys. Chem. Letters, **2023**, 14, 7611–7617. https://doi.org/10.1021/acs.jpclett.3c01953
75
108
  * Martí, C., Michelsen, H. A., Najm, H. N., Zádor, J.: _Comprehensive kinetics on the C7H7 potential energy surface under combustion conditions._ J. Phys. Chem. A, **2023**, 127, 1941–1959. https://pubs.acs.org/doi/full/10.1021/acs.jpca.2c08035
76
109
  * Zádor, J, Martí, C., Van de Vijver, R., Johansen, S. L., Yang, Y., Michelsen, H. A., Najm, H. N.: _Automated reaction kinetics of gas-phase organic species over multiwell potential energy surfaces._ J. Phys. Chem. A, **2023**, 127, 565–588. https://doi.org/10.1021/acs.jpca.2c06558
77
110
  * Lockwood, K. S., Ahmed, S. F., Huq, N. A., Stutzman, S. C., Foust, T. D., Labbe, N. J.: _Advances in predictive chemistry enable a multi-scale rational design approach for biofuels with advantaged properties_ Sustainable Energy Fuels, **2022**, 6, 5371-5383. https://doi.org/10.1039/D2SE00773H
@@ -0,0 +1,220 @@
1
+ import os
2
+ from pathlib import Path
3
+ import warnings
4
+
5
+ import numpy as np
6
+ import torch
7
+ from ase import Atoms
8
+ from ase.calculators.calculator import Calculator, all_changes
9
+
10
+ from util import util_path
11
+ from util.data import data
12
+ import util.nn.pes_compNet_multifid as pes
13
+ from util.sfi import daev
14
+
15
+ os.environ['KMP_DUPLICATE_LIB_OK']='True'
16
+
17
+
18
+ class Nn_surr(Calculator):
19
+ implemented_properties = ['energy', 'forces']
20
+
21
+ def __init__(self, fname, restart=None, ignore_bad_restart_file=False,
22
+ label='surrogate', atoms=None, tnsr=False, **kwargs):
23
+ Calculator.__init__(self, restart=restart,
24
+ ignore_bad_restart_file=ignore_bad_restart_file,
25
+ label=label,
26
+ atoms=atoms, tnsr=tnsr, **kwargs)
27
+ if isinstance(fname, list) and fname.__len__() > 1:
28
+ self.multinn = True
29
+ else:
30
+ self.multinn = False
31
+ self.surrogate = Nnpes_calc(fname, self.multinn)
32
+ self.tnsr = tnsr
33
+
34
+ def calculate(self, atoms=None, properties=['energy', 'forces'],
35
+ system_changes=all_changes, loaddb=None, args=None, xid=None):
36
+ Calculator.calculate(self, atoms, properties, system_changes)
37
+ if 'forces' in properties:
38
+ favail = True
39
+ else:
40
+ favail = False
41
+
42
+ xyzd = [[[s for s in atoms.symbols], np.array(atoms.positions)]]
43
+ self.surrogate.dpes.aev_from_xyz(xyzd, 32, 8, 8, [4.6,3.1], False,
44
+ self.surrogate.myaev)
45
+ self.surrogate.nforce = self.surrogate.dpes.full_symb_data[0].__len__() * 3
46
+
47
+ if self.multinn:
48
+ energy, Estd, E_hf = self.surrogate.eval()
49
+ if favail:
50
+ force, Fstd, force_ind = self.surrogate.evalforce()
51
+ else:
52
+ energy = self.surrogate.eval()[0][0]
53
+ Estd = torch.tensor(0.)
54
+ if favail:
55
+ force = self.surrogate.evalforce()
56
+ Fstd = torch.tensor(0.)
57
+
58
+ if self.tnsr:
59
+ self.results['energy'] = energy
60
+ self.results['energy_std'] = Estd
61
+ if self.multinn:
62
+ self.results['all_energies'] = E_hf
63
+ if favail:
64
+ self.results['forces'] = force.view(-1, 3)
65
+ self.results['forces_std'] = Fstd
66
+ if self.multinn:
67
+ self.results['all_forces'] = force_ind
68
+ else:
69
+ self.results['energy'] = float(energy)
70
+ self.results['energy_std'] = Estd.detach().numpy()
71
+ if self.multinn:
72
+ self.results['all_energies'] = E_hf.detach().numpy()
73
+ if favail:
74
+ self.results['forces'] = np.reshape(force.detach().numpy(),
75
+ (-1, 3))
76
+ self.results['forces_std'] = Fstd.detach().numpy()
77
+ if self.multinn:
78
+ self.results['all_forces'] = force_ind.detach().numpy()
79
+
80
+
81
+ class My_args():
82
+
83
+ def __init__(self, nntype, model_name, fid):
84
+ self.nntype = [nntype]
85
+ if model_name is None:
86
+ self.load_model = False
87
+ else:
88
+ if isinstance(model_name, list):
89
+ self.load_model_name = model_name
90
+ else:
91
+ self.load_model_name = [model_name]
92
+ self.fid = [fid]
93
+ self.nw = True
94
+ self.savepth = None
95
+ self.savepth_pars = None
96
+ self.device = torch.device('cpu')
97
+
98
+ class Nnpes_calc():
99
+
100
+ def __init__(self, fname, multinn=False):
101
+ self.dpes = data.Data_pes(['C', 'H'])
102
+ self.myaev = self.dpes.prep_aev()
103
+ if multinn:
104
+ self.nmodel = fname.__len__()
105
+ options = [My_args('Comp', fnm, 'hfonly') for fnm in fname]
106
+ self.dpes.device = options[0].device
107
+ self.nn_pes = [pes.prep_model(True, opts, load_opt=False)
108
+ for opts in options]
109
+ else:
110
+ self.nmodel = 1
111
+ options = My_args('Comp', fname, 'hfonly')
112
+ self.dpes.device = options.device
113
+ self.nn_pes = pes.prep_model(True, options, load_opt=False)
114
+ #print('SAE energies: ', self.nn_pes.sae_energies)
115
+
116
+ def eval(self, indvout=False):
117
+ idl = list(range(0, self.dpes.ndat))
118
+ self.dpes.prep_data(idl)
119
+ self.dpes.indvout = indvout
120
+ self.dpes.ymax = np.max([y[-1] for y in self.dpes.xdat])
121
+ self.dpes.ymin = np.min([y[-1] for y in self.dpes.xdat])
122
+ self.dpes.xb = [[xt.requires_grad_() for xt in self.dpes.xb[b]]
123
+ for b in range(self.dpes.nbt)]
124
+ if self.nmodel == 1:
125
+ self.E_lf, self.E_hf = self.nn_pes.eval_dl(self.dpes)
126
+ E_pred = self.E_hf
127
+ return E_pred
128
+ else:
129
+ self.E_hf = torch.empty((self.dpes.ndat, self.nmodel))
130
+ for i in range(self.nmodel):
131
+ E_lf, E_hf = self.nn_pes[i].eval_dl(self.dpes)
132
+ self.E_hf[:, i] = E_hf.reshape(-1)
133
+ E_pred = torch.mean(self.E_hf)
134
+ Estd = torch.std(self.E_hf, 1)
135
+ return E_pred, Estd, self.E_hf
136
+
137
+ def evalgrad(self):
138
+ if self.nmodel == 1:
139
+ dEdxyz = daev.cal_dEdxyz_dl(self.dpes, self.E_hf)[0]
140
+ return dEdxyz
141
+ else:
142
+ dEdxyz = torch.empty((self.dpes.ndat, self.nmodel, self.nforce))
143
+ for i in range(self.nmodel):
144
+ tmp = daev.cal_dEdxyz_dl(self.dpes, self.E_hf[:, i])[0]
145
+ dEdxyz[:, i] = tmp
146
+ gmean = torch.mean(dEdxyz, 1).reshape(-1)
147
+ gstd = torch.std(dEdxyz, 1).reshape(-1)
148
+ return gmean, gstd, dEdxyz
149
+
150
+ def evalforce(self):
151
+ if self.nmodel == 1:
152
+ gradient = self.evalgrad()
153
+ return -gradient
154
+ else:
155
+ gmean, gstd, dEdxyz = self.evalgrad()
156
+ return -gmean, gstd, -dEdxyz
157
+
158
+
159
+ def main():
160
+ # set default pytorch as double precision
161
+ torch.set_default_dtype(torch.float64)
162
+
163
+ torch.set_printoptions(precision=12)
164
+
165
+ home = str(Path.home())
166
+
167
+ nn1 = home+'/mls/util/models/AL/C5H5-2b2IRC1ts_full/run1-1/C5H5_lf_reddb_2w2IRC1ts_20k_rand0-29540.pt'
168
+ nn2 = home+'/mls/util/models/AL/C5H5-2b2IRC1ts_full/run1-1/C5H5_lf_reddb_2w2IRC1ts_20k_rand1-29260.pt'
169
+ nn3 = home+'/mls/util/models/AL/C5H5-2b2IRC1ts_full/run1-1/C5H5_lf_reddb_2w2IRC1ts_20k_rand2-29115.pt'
170
+ nn4 = home+'/mls/util/models/AL/C5H5-2b2IRC1ts_full/run1-1/C5H5_lf_reddb_2w2IRC1ts_20k_rand3-0005.pt'
171
+ nn5 = home+'/mls/util/models/AL/C5H5-2b2IRC1ts_full/run1-1/C5H5_lf_reddb_2w2IRC1ts_20k_rand4-2500.pt'
172
+
173
+ # import glob
174
+ # fn_nn = glob.glob('../../models/AL/C5H5-2b2IRC1ts_smallset/run0/*')
175
+ # fn_nn = ['comp-0010.pt', 'comp-0010.pt']
176
+
177
+ fn_nn = [nn1, nn2, nn3, nn4, nn5]
178
+
179
+
180
+ #atoms = Atoms(['C', 'H', 'C'],
181
+ # [(1.734285, 1.257951, 0.130304),
182
+ # (3.016641, 1.515035, 0.130976),
183
+ # (1.617565, -0.19116, -0.177416)])
184
+
185
+ xyz_db = [[
186
+ ['C', 'H', 'C'],
187
+ np.array([[1.734285, 1.257951, 0.130304],
188
+ [3.016641, 1.515035, 0.130976],
189
+ [1.617565, -0.19116, -0.177416]])
190
+ ]]
191
+
192
+ # simple test
193
+ for nn in fn_nn:
194
+ print("nn:",nn)
195
+ surr = Nn_surr(nn,tnsr=False)
196
+ for xyz in xyz_db:
197
+ atoms = Atoms(xyz[0], xyz[1])
198
+ atoms.set_calculator(surr)
199
+ surr.calculate(atoms)
200
+ print('System:',atoms)
201
+ print('Energy:', surr.results['energy'])
202
+ print('Forces:\n', surr.results['forces'])
203
+ print('Numerical forces with ASE:\n',
204
+ surr.calculate_numerical_forces(atoms))
205
+
206
+ print("avg nn:")
207
+ surr = Nn_surr(fn_nn,tnsr=False)
208
+ for xyz in xyz_db:
209
+ atoms = Atoms(xyz[0], xyz[1])
210
+ atoms.set_calculator(surr)
211
+ surr.calculate(atoms)
212
+ print('System:',atoms)
213
+ print('Energy:', surr.results['energy'])
214
+ print('Forces:\n', surr.results['forces'])
215
+ print('Numerical forces with ASE:\n',
216
+ surr.calculate_numerical_forces(atoms))
217
+
218
+
219
+ if __name__ == "__main__":
220
+ main()
@@ -247,3 +247,5 @@ def create_smiles(inchi):
247
247
  def create_smi_from_geom(atom, geom):
248
248
  inchi = create_inchi_from_geom(atom, geom)
249
249
  return create_smiles(inchi)
250
+
251
+