kinbot 2.2.4__tar.gz → 2.3.0__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.
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0}/PKG-INFO +41 -30
- {kinbot-2.2.4 → kinbot-2.3.0}/README.md +29 -24
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/calculators/gaussian.py +16 -0
- kinbot-2.3.0/kinbot/ase_modules/calculators/orca.py +99 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/calculators/qchem.py +17 -29
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/conformers.py +10 -5
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/constants.py +14 -3
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/fragments.py +4 -4
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/frequencies.py +37 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/hindered_rotors.py +8 -4
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/irc.py +17 -5
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/kb.py +3 -2
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/mess.py +9 -7
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/modify_geom.py +5 -4
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/optimize.py +7 -2
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/parameters.py +33 -1
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/pes.py +30 -26
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/postprocess.py +4 -4
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/qc.py +193 -56
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reac_General.py +0 -1
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reac_family.py +39 -11
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reaction_finder.py +9 -5
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reaction_generator.py +76 -9
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Diels_alder_addition.py +2 -2
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_h2_elim.py +0 -3
- kinbot-2.3.0/kinbot/reader_sella.py +24 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/stationary_pt.py +11 -2
- kinbot-2.3.0/kinbot/tpl/arrow.png +0 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_hir.tpl.py +64 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_irc.tpl.py +104 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_opt_well.tpl.py +128 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_ring_conf.tpl.py +71 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_ts_end.tpl.py +98 -0
- kinbot-2.3.0/kinbot/tpl/ase_fc_ts_search.tpl.py +75 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_hir.tpl.py +1 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_ring_conf.tpl.py +1 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_ts_search.tpl.py +1 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_qchem_irc.tpl.py +1 -1
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_qchem_opt_well.tpl.py +1 -1
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_qchem_ts_end.tpl.py +2 -2
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_qchem_ts_search.tpl.py +1 -1
- kinbot-2.3.0/kinbot/tpl/ase_sella_hir.tpl.py +63 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_sella_irc.tpl.py +36 -6
- kinbot-2.3.0/kinbot/tpl/ase_sella_opt_well.tpl.py +110 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_sella_ring_conf.tpl.py +22 -5
- kinbot-2.3.0/kinbot/tpl/ase_sella_ts_end.tpl.py +91 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_sella_ts_search.tpl.py +16 -10
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/utils.py +68 -13
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/vrc_tst_scan.py +149 -130
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/zmatrix.py +4 -1
- {kinbot-2.2.4 → kinbot-2.3.0/kinbot.egg-info}/PKG-INFO +41 -30
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0/kinbot.egg-info}/SOURCES.txt +9 -6
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0/kinbot.egg-info}/requires.txt +6 -2
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0/kinbot.egg-info}/top_level.txt +0 -3
- {kinbot-2.2.4 → kinbot-2.3.0}/pyproject.toml +16 -6
- kinbot-2.2.4/kinbot/tpl/ase_sella_hir.tpl.py +0 -45
- kinbot-2.2.4/kinbot/tpl/ase_sella_opt_well.tpl.py +0 -117
- kinbot-2.2.4/kinbot/tpl/ase_sella_ts_end.tpl.py +0 -97
- {kinbot-2.2.4 → kinbot-2.3.0}/LICENSE +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/calculators/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/calculators/nn_pes.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/constraints.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/io/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/io/formats.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/io/gaussian.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/ase_modules/io/zmatrix.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/bfgs.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/bond_combinations.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/cheminfo.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/config_log.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/exceptions.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/find_motif.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/geometry.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/license_message.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/mesmer.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/molpro.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/orca.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/pp_settings.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/pp_tables.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reaction_finder_bimol.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_12_shift_S_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_12_shift_S_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Cyclic_Ether_Formation.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_HO2_Elimination_from_PeroxyRadical.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_Diels_alder_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_RH_Add_Endocyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_RH_Add_Endocyclic_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_RH_Add_Exocyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_RH_Add_Exocyclic_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_R_Add_Endocyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_R_Add_ExoTetCyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_R_Add_Exocyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_disproportionation_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Intra_disproportionation_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Korcek_step2.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Korcek_step2_even.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Korcek_step2_odd.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_R_Addition_COm3_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_R_Addition_CSm_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_R_Addition_MultipleBond.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_Retro_Ene.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_abstraction.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_barrierless_saddle.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_beta_delta.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_bimol_disproportionation_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_birad_recombination_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_birad_recombination_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_combinatorial.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_cpd_H_migration.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_homolytic_scission.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_intra_H_migration.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_intra_H_migration_suprafacial.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_intra_OH_migration.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_intra_OH_migration_Exocyclic_F.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_intra_R_migration.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_ketoenol.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r12_cycloaddition.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r12_insertion_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r13_insertion_CO2.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r13_insertion_ROR.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r13_insertion_RSR.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r14_birad_scission.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r14_cyclic_birad_scission_R.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reactions/reac_r22_cycloaddition.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reader_gauss.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/reader_qchem.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/symmetry.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/thread_kinbot.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_irc.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_opt_well.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_ts_end.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_gauss_vts.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_freq_well.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_irc.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_opt_well.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_ts_end.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_ts_search.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_nwchem_ts_search_ase_constraints.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_qchem_hir.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/ase_sella_vts.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/local_molpro.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_2tst.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_atom.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_barrier.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_barrier_union.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_barrierless.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_bimol.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_bimol_union.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_core_rr.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_dummy.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_fragment.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_fragment_OH.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_freerotor.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_header.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_hinderedrotor.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_hinderedrotorgeom.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_outerrrho.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_pst.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_pstfragment.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_rrho.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_termol.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_ts.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_tunneling.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_variational.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_well.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/mess_well_union.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/molpro.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/molpro_ts_search.tpl.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/molpro_vts.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs_mesmer.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs_mess.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs_mess_uq.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs_molpro.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pbs_python.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/pesviewer.inp.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/rotdPy.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/rotdPy_1d_corr.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/rotdPy_calc.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/rotdPy_frag.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/rotdPy_surf.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_mesmer.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_mess.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_mess_uq.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_molpro.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_orca.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/tpl/slurm_python.tpl +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/uncertaintyAnalysis.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/kinbot/vrc_tst_surfaces.py +0 -0
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0/kinbot.egg-info}/dependency_links.txt +0 -0
- {kinbot-2.2.4/KinBot.egg-info → kinbot-2.3.0/kinbot.egg-info}/entry_points.txt +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/setup.cfg +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/__init__.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/bfgs.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/cheminfo.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/dihedrals.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/find_motif.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/frequencies.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/geometry.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/modify_geom.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/multimolecular.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/resonance.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/symmetry.py +0 -0
- {kinbot-2.2.4 → kinbot-2.3.0}/tests/test_kinbot.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: kinbot
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Automated reaction kinetics for gas-phase species
|
|
5
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
6
|
Maintainer-email: Judit Zádor <jzador@sandia.gov>, Clément Soulié <csoulie@sandia.gov>
|
|
@@ -42,20 +42,26 @@ Classifier: Intended Audience :: Science/Research
|
|
|
42
42
|
Classifier: Natural Language :: English
|
|
43
43
|
Classifier: License :: OSI Approved :: BSD License
|
|
44
44
|
Classifier: Operating System :: OS Independent
|
|
45
|
-
Classifier: Programming Language :: Python :: 3.
|
|
45
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
46
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
47
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
46
48
|
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
47
|
-
Requires-Python: >=3.
|
|
49
|
+
Requires-Python: >=3.11
|
|
48
50
|
Description-Content-Type: text/markdown
|
|
49
51
|
License-File: LICENSE
|
|
50
52
|
Requires-Dist: numpy>=1.17.0
|
|
51
|
-
Requires-Dist: ase
|
|
53
|
+
Requires-Dist: ase>=3.26
|
|
52
54
|
Requires-Dist: networkx
|
|
53
55
|
Requires-Dist: rmsd>=1.5.1
|
|
54
|
-
Requires-Dist: sella
|
|
56
|
+
Requires-Dist: sella>=2.5.0
|
|
55
57
|
Provides-Extra: plot
|
|
56
58
|
Requires-Dist: matplotlib; extra == "plot"
|
|
57
59
|
Requires-Dist: pyvis; extra == "plot"
|
|
58
60
|
Requires-Dist: rdkit; extra == "plot"
|
|
61
|
+
Provides-Extra: fc
|
|
62
|
+
Requires-Dist: fairchem-core>=2.0; extra == "fc"
|
|
63
|
+
Requires-Dist: scipy>=1.15; extra == "fc"
|
|
64
|
+
Dynamic: license-file
|
|
59
65
|
|
|
60
66
|
[](https://gitter.im/zadorlab/KinBot)
|
|
61
67
|
|
|
@@ -108,7 +114,7 @@ KinBot can be installed both in three different ways, from the PyPI index (`pip
|
|
|
108
114
|
pip install kinbot
|
|
109
115
|
|
|
110
116
|
> **Note**
|
|
111
|
-
> KinBot only works with Python >= 3.
|
|
117
|
+
> KinBot only works with Python >= 3.11.
|
|
112
118
|
|
|
113
119
|
### conda-forge
|
|
114
120
|
|
|
@@ -142,7 +148,7 @@ To run a full PES search, make an input file (e.g. input.json) and run:
|
|
|
142
148
|
You can find additional command line arguments in the manual.
|
|
143
149
|
|
|
144
150
|
## Documentation
|
|
145
|
-
See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/
|
|
151
|
+
See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/ry1DSsEyyx#/) for a more hands-on introduction to the code.
|
|
146
152
|
|
|
147
153
|
## List of files in this project
|
|
148
154
|
See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
|
|
@@ -155,28 +161,33 @@ See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
|
|
|
155
161
|
* Clément Soulié (csoulie@sandia.gov)
|
|
156
162
|
|
|
157
163
|
## Papers using KinBot
|
|
158
|
-
1.
|
|
159
|
-
2.
|
|
160
|
-
3.
|
|
161
|
-
4.
|
|
162
|
-
5.
|
|
163
|
-
6. Martí, C.,
|
|
164
|
-
7.
|
|
165
|
-
8.
|
|
166
|
-
9.
|
|
167
|
-
10.
|
|
168
|
-
11.
|
|
169
|
-
12.
|
|
170
|
-
13.
|
|
171
|
-
14.
|
|
172
|
-
15.
|
|
173
|
-
16.
|
|
174
|
-
17.
|
|
175
|
-
18. Lockwood, K. S., Labbe, N. J.:
|
|
176
|
-
19.
|
|
177
|
-
20.
|
|
178
|
-
21.
|
|
179
|
-
22.
|
|
164
|
+
1. Kjaersgaard, A., Zádor J., Zwier, T. S., Shiels, O.J., Sheps, L.: _Measurement of the CH3SCH2O2 -> CH2SCH2OOH rate coefficient and mass spectrometric characterization of hydroperoxymethyl thioformate (HPMTF) at T = 400 – 550 K._ J. Phys. Chem. A, **2025** accepted. https://doi.org/10.1021/acs.jpca.5c06279
|
|
165
|
+
2. Shiels, O. J., Kjaersgaard, A., Zádor, J., Sheps, L.: _Low-temperature autooxidation of cyclopentanone and 3-pentanone: The critical role of competing radical chain-branching and chain inhibiting pathways._ Phys. Chem. Chem. Phys., **2025** accepted. https://doi.org/10.1039/D5CP03403E
|
|
166
|
+
3. Osborn, D. L., Samanta, B. R., Soulié, C., Reisler, H., Zádor, J.: _Chemistry of sugar formation in the gas phase: Following the activated aldehyde_. J. Am. Chem. Soc., **2025** 147, 32468–32479. https://doi.org/10.1021/jacs.5c05357
|
|
167
|
+
4. Hansen, N., Gaiser, N., Bierkandt, T., Oßwald, P., Köhler, M., Zádor, J., Hemberger, P.: _Identification of dihydropentalenes as products of the molecular-weight growth reaction of cyclopentadienyl plus propargyl_. J. Phys. Chem. A, **2025**, 129, 1714-1725. https://doi.org/10.1021/acs.jpca.4c06549
|
|
168
|
+
5. Wang, Z.-M., Wang, D., Mansy, A. E., Tian, Z.-Y.: _Pyrolysis and kinetic modeling investigation of 1-methoxy-2-propanol_. Combust. Flame, **2025**, 271, 113804. https://doi.org/10.1016/j.combustflame.2024.113804
|
|
169
|
+
6. 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
|
|
170
|
+
7. 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**, 15, 8865. https://doi.org/10.1038/s41467-024-52481-5
|
|
171
|
+
8. 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
|
|
172
|
+
9. 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
|
|
173
|
+
10. 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
|
|
174
|
+
11. 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
|
|
175
|
+
12. 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
|
|
176
|
+
13. Wang, D. Dai, W.-K., Tian, Z.-Y., Liu, Y.-W., Wang, Z.-M., Wu, L.-N., Kuang, J.-J., Wang ,Q.-P., Xu, Q., Wang, Z.-D.: _Theoretical and experimental study on the pyrolysis of N-methylpyrrolidone_. J Anal Appl Pyrolysis, **2024**, 183, 106751. https://doi.org/10.1016/j.jaap.2024.106751
|
|
177
|
+
14. 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
|
|
178
|
+
15. 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
|
|
179
|
+
16. 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
|
|
180
|
+
17. 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
|
|
181
|
+
18. 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
|
|
182
|
+
19. Takahashi, L., Yoshida, S., Fujima, J., Oikawa, H., Takahashi, K.: _Unveiling the reaction pathways of hydrocarbons via experiments, computations and data science._ Phys. Chem. Chem. Phys., **2022**, 24, 29841-29849. https://pubs.rsc.org/en/content/articlelanding/2022/CP/D2CP04499D
|
|
183
|
+
20. Doner, A. C., Zádor, J., Rotavera, B.: _Stereoisomer-dependent unimolecular kinetics of 2,4-dimethyloxetane peroxy radicals._ Faraday Discuss., **2022**, 238, 295-319. https://doi.org/10.1039/D2FD00029F
|
|
184
|
+
21. Ramasesha, K., Savee, J. D., Zádor, J., Osborn, D. L.: _A New Pathway for Intersystem Crossing: Unexpected Products in the O(3P) + Cyclopentene Reaction._ J. Phys. Chem. A, **2021**, 125 9785-9801. https://doi.org/10.1021/acs.jpca.1c05817
|
|
185
|
+
22. Rogers, C. O, Lockwood, K. S., Nguyen, Q. L. D., Labbe, N. J.: _Diol isomer revealed as a source of methyl ketene from propionic acid unimolecular decomposition._ Int. J. Chem. Kinet., **2021**, 53, 1272–1284. https://doi.org/10.1002/kin.21532
|
|
186
|
+
23. Lockwood, K. S., Labbe, N. J.: _Insights on keto-hydroperoxide formation from O2 addition to the beta-tetrahydrofuran radical._ Proceedings of the Combustion Institute, **2021**, 38, 1, 533. https://doi.org/10.1016/j.proci.2020.06.357
|
|
187
|
+
24. Sheps, L., Dewyer, A. L., Demireva, M., and Zádor, J.: _Quantitative Detection of Products and Radical Intermediates in Low-Temperature Oxidation of Cyclopentane._ J. Phys. Chem. A **2021**, 125, 20, 4467. https://doi.org/10.1021/acs.jpca.1c02001
|
|
188
|
+
25. Zhang, J., Vermeire, F., Van de Vijver, R., Herbinet, O.; Battin-Leclerc, F., Reyniers, M.-F., Van Geem, K. M.: _Detailed experimental and kinetic modeling study of 3-carene pyrolysis._ Int. J. Chem. Kinet., **2020**, 52, 785-795. https://doi.org/10.1002/kin.21400
|
|
189
|
+
26. Van de Vijver, R., Zádor, J.: _KinBot: Automated stationary point search on potential energy surfaces._ Computer Physics Communications, **2020**, 248, 106947. https://doi.org/10.1016/j.cpc.2019.106947
|
|
190
|
+
27. Joshi, S. P., Seal, P., Pekkanen, T. T., Timonen, R. S., Eskola, A. J.: _Direct Kinetic Measurements and Master Equation Modelling of the Unimolecular Decomposition of Resonantly-Stabilized CH2CHCHC(O)OCH3 Radical and an Upper Limit Determination for CH2CHCHC(O)OCH3+O2 Reaction._ Z. Phys. Chem., **2020**, 234, 1251. https://doi.org/10.1515/zpch-2020-1612
|
|
180
191
|
|
|
181
192
|
Older Version of KinBot:
|
|
182
193
|
1. Van de Vijver, R., Van Geem, K. M., Marin, G. B., Zádor, J.: _Decomposition and isomerization of 1-pentanol radicals and the pyrolysis of 1-pentanol._ Combustion and Flame, **2018,** 196, 500. https://doi.org/10.1016/j.combustflame.2018.05.011
|
|
@@ -49,7 +49,7 @@ KinBot can be installed both in three different ways, from the PyPI index (`pip
|
|
|
49
49
|
pip install kinbot
|
|
50
50
|
|
|
51
51
|
> **Note**
|
|
52
|
-
> KinBot only works with Python >= 3.
|
|
52
|
+
> KinBot only works with Python >= 3.11.
|
|
53
53
|
|
|
54
54
|
### conda-forge
|
|
55
55
|
|
|
@@ -83,7 +83,7 @@ To run a full PES search, make an input file (e.g. input.json) and run:
|
|
|
83
83
|
You can find additional command line arguments in the manual.
|
|
84
84
|
|
|
85
85
|
## Documentation
|
|
86
|
-
See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/
|
|
86
|
+
See the [wiki](https://github.com/zadorlab/KinBot/wiki) for keywords, and our [tutorial](https://hackmd.io/@jzador/ry1DSsEyyx#/) for a more hands-on introduction to the code.
|
|
87
87
|
|
|
88
88
|
## List of files in this project
|
|
89
89
|
See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
|
|
@@ -96,28 +96,33 @@ See [list](https://github.com/zadorlab/KinBot/wiki/KinBot-file-structure).
|
|
|
96
96
|
* Clément Soulié (csoulie@sandia.gov)
|
|
97
97
|
|
|
98
98
|
## Papers using KinBot
|
|
99
|
-
1.
|
|
100
|
-
2.
|
|
101
|
-
3.
|
|
102
|
-
4.
|
|
103
|
-
5.
|
|
104
|
-
6. Martí, C.,
|
|
105
|
-
7.
|
|
106
|
-
8.
|
|
107
|
-
9.
|
|
108
|
-
10.
|
|
109
|
-
11.
|
|
110
|
-
12.
|
|
111
|
-
13.
|
|
112
|
-
14.
|
|
113
|
-
15.
|
|
114
|
-
16.
|
|
115
|
-
17.
|
|
116
|
-
18. Lockwood, K. S., Labbe, N. J.:
|
|
117
|
-
19.
|
|
118
|
-
20.
|
|
119
|
-
21.
|
|
120
|
-
22.
|
|
99
|
+
1. Kjaersgaard, A., Zádor J., Zwier, T. S., Shiels, O.J., Sheps, L.: _Measurement of the CH3SCH2O2 -> CH2SCH2OOH rate coefficient and mass spectrometric characterization of hydroperoxymethyl thioformate (HPMTF) at T = 400 – 550 K._ J. Phys. Chem. A, **2025** accepted. https://doi.org/10.1021/acs.jpca.5c06279
|
|
100
|
+
2. Shiels, O. J., Kjaersgaard, A., Zádor, J., Sheps, L.: _Low-temperature autooxidation of cyclopentanone and 3-pentanone: The critical role of competing radical chain-branching and chain inhibiting pathways._ Phys. Chem. Chem. Phys., **2025** accepted. https://doi.org/10.1039/D5CP03403E
|
|
101
|
+
3. Osborn, D. L., Samanta, B. R., Soulié, C., Reisler, H., Zádor, J.: _Chemistry of sugar formation in the gas phase: Following the activated aldehyde_. J. Am. Chem. Soc., **2025** 147, 32468–32479. https://doi.org/10.1021/jacs.5c05357
|
|
102
|
+
4. Hansen, N., Gaiser, N., Bierkandt, T., Oßwald, P., Köhler, M., Zádor, J., Hemberger, P.: _Identification of dihydropentalenes as products of the molecular-weight growth reaction of cyclopentadienyl plus propargyl_. J. Phys. Chem. A, **2025**, 129, 1714-1725. https://doi.org/10.1021/acs.jpca.4c06549
|
|
103
|
+
5. Wang, Z.-M., Wang, D., Mansy, A. E., Tian, Z.-Y.: _Pyrolysis and kinetic modeling investigation of 1-methoxy-2-propanol_. Combust. Flame, **2025**, 271, 113804. https://doi.org/10.1016/j.combustflame.2024.113804
|
|
104
|
+
6. 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
|
|
105
|
+
7. 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**, 15, 8865. https://doi.org/10.1038/s41467-024-52481-5
|
|
106
|
+
8. 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
|
|
107
|
+
9. 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
|
|
108
|
+
10. 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
|
|
109
|
+
11. 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
|
|
110
|
+
12. 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
|
|
111
|
+
13. Wang, D. Dai, W.-K., Tian, Z.-Y., Liu, Y.-W., Wang, Z.-M., Wu, L.-N., Kuang, J.-J., Wang ,Q.-P., Xu, Q., Wang, Z.-D.: _Theoretical and experimental study on the pyrolysis of N-methylpyrrolidone_. J Anal Appl Pyrolysis, **2024**, 183, 106751. https://doi.org/10.1016/j.jaap.2024.106751
|
|
112
|
+
14. 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
|
|
113
|
+
15. 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
|
|
114
|
+
16. 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
|
|
115
|
+
17. 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
|
|
116
|
+
18. 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
|
|
117
|
+
19. Takahashi, L., Yoshida, S., Fujima, J., Oikawa, H., Takahashi, K.: _Unveiling the reaction pathways of hydrocarbons via experiments, computations and data science._ Phys. Chem. Chem. Phys., **2022**, 24, 29841-29849. https://pubs.rsc.org/en/content/articlelanding/2022/CP/D2CP04499D
|
|
118
|
+
20. Doner, A. C., Zádor, J., Rotavera, B.: _Stereoisomer-dependent unimolecular kinetics of 2,4-dimethyloxetane peroxy radicals._ Faraday Discuss., **2022**, 238, 295-319. https://doi.org/10.1039/D2FD00029F
|
|
119
|
+
21. Ramasesha, K., Savee, J. D., Zádor, J., Osborn, D. L.: _A New Pathway for Intersystem Crossing: Unexpected Products in the O(3P) + Cyclopentene Reaction._ J. Phys. Chem. A, **2021**, 125 9785-9801. https://doi.org/10.1021/acs.jpca.1c05817
|
|
120
|
+
22. Rogers, C. O, Lockwood, K. S., Nguyen, Q. L. D., Labbe, N. J.: _Diol isomer revealed as a source of methyl ketene from propionic acid unimolecular decomposition._ Int. J. Chem. Kinet., **2021**, 53, 1272–1284. https://doi.org/10.1002/kin.21532
|
|
121
|
+
23. Lockwood, K. S., Labbe, N. J.: _Insights on keto-hydroperoxide formation from O2 addition to the beta-tetrahydrofuran radical._ Proceedings of the Combustion Institute, **2021**, 38, 1, 533. https://doi.org/10.1016/j.proci.2020.06.357
|
|
122
|
+
24. Sheps, L., Dewyer, A. L., Demireva, M., and Zádor, J.: _Quantitative Detection of Products and Radical Intermediates in Low-Temperature Oxidation of Cyclopentane._ J. Phys. Chem. A **2021**, 125, 20, 4467. https://doi.org/10.1021/acs.jpca.1c02001
|
|
123
|
+
25. Zhang, J., Vermeire, F., Van de Vijver, R., Herbinet, O.; Battin-Leclerc, F., Reyniers, M.-F., Van Geem, K. M.: _Detailed experimental and kinetic modeling study of 3-carene pyrolysis._ Int. J. Chem. Kinet., **2020**, 52, 785-795. https://doi.org/10.1002/kin.21400
|
|
124
|
+
26. Van de Vijver, R., Zádor, J.: _KinBot: Automated stationary point search on potential energy surfaces._ Computer Physics Communications, **2020**, 248, 106947. https://doi.org/10.1016/j.cpc.2019.106947
|
|
125
|
+
27. Joshi, S. P., Seal, P., Pekkanen, T. T., Timonen, R. S., Eskola, A. J.: _Direct Kinetic Measurements and Master Equation Modelling of the Unimolecular Decomposition of Resonantly-Stabilized CH2CHCHC(O)OCH3 Radical and an Upper Limit Determination for CH2CHCHC(O)OCH3+O2 Reaction._ Z. Phys. Chem., **2020**, 234, 1251. https://doi.org/10.1515/zpch-2020-1612
|
|
121
126
|
|
|
122
127
|
Older Version of KinBot:
|
|
123
128
|
1. Van de Vijver, R., Van Geem, K. M., Marin, G. B., Zádor, J.: _Decomposition and isomerization of 1-pentanol radicals and the pyrolysis of 1-pentanol._ Combustion and Flame, **2018,** 196, 500. https://doi.org/10.1016/j.combustflame.2018.05.011
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import copy
|
|
3
|
+
import subprocess
|
|
3
4
|
from collections.abc import Iterable
|
|
4
5
|
from shutil import which
|
|
5
6
|
from typing import Dict, Optional
|
|
@@ -102,6 +103,21 @@ class Gaussian(FileIOCalculator):
|
|
|
102
103
|
def __init__(self, *args, label='Gaussian', **kwargs):
|
|
103
104
|
FileIOCalculator.__init__(self, *args, label=label, **kwargs)
|
|
104
105
|
|
|
106
|
+
def _initialize_profile(self, command):
|
|
107
|
+
# KinBot resolves the Gaussian executable dynamically in calculate();
|
|
108
|
+
# skip ASE's profile/config-file system entirely.
|
|
109
|
+
return None
|
|
110
|
+
|
|
111
|
+
def execute(self):
|
|
112
|
+
command = self.command.replace('PREFIX', self.prefix)
|
|
113
|
+
directory = getattr(self, 'directory', '.')
|
|
114
|
+
proc = subprocess.Popen(command, shell=True, cwd=directory)
|
|
115
|
+
errorcode = proc.wait()
|
|
116
|
+
if errorcode:
|
|
117
|
+
raise RuntimeError(
|
|
118
|
+
f'Gaussian exited with error code {errorcode} '
|
|
119
|
+
f'(command: {command})')
|
|
120
|
+
|
|
105
121
|
def calculate(self, *args, **kwargs):
|
|
106
122
|
gaussians = ('g16', 'g09', 'g03')
|
|
107
123
|
if 'GAUSSIAN' in self.command:
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import re
|
|
2
|
+
|
|
3
|
+
import ase.io.orca as io
|
|
4
|
+
from ase.calculators.genericfileio import (
|
|
5
|
+
BaseProfile,
|
|
6
|
+
CalculatorTemplate,
|
|
7
|
+
GenericFileIOCalculator,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def get_version_from_orca_header(orca_header):
|
|
12
|
+
match = re.search(r'Program Version (\S+)', orca_header, re.M)
|
|
13
|
+
return match.group(1)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class OrcaProfile(BaseProfile):
|
|
17
|
+
def version(self):
|
|
18
|
+
# XXX Allow MPI in argv; the version call should not be parallel.
|
|
19
|
+
from ase.calculators.genericfileio import read_stdout
|
|
20
|
+
stdout = read_stdout([self.command, "does_not_exist"])
|
|
21
|
+
return get_version_from_orca_header(stdout)
|
|
22
|
+
|
|
23
|
+
def get_calculator_command(self, inputfile):
|
|
24
|
+
return [inputfile]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class OrcaTemplate(CalculatorTemplate):
|
|
28
|
+
_label = 'orca'
|
|
29
|
+
|
|
30
|
+
def __init__(self):
|
|
31
|
+
super().__init__('orca',
|
|
32
|
+
implemented_properties=['energy', 'free_energy',
|
|
33
|
+
'forces', 'dipole'])
|
|
34
|
+
|
|
35
|
+
self.inputname = f'{self._label}.inp'
|
|
36
|
+
self.outputname = f'{self._label}.out'
|
|
37
|
+
self.errorname = f'{self._label}.err'
|
|
38
|
+
|
|
39
|
+
def execute(self, directory, profile) -> None:
|
|
40
|
+
profile.run(directory, self.inputname, self.outputname,
|
|
41
|
+
errorfile=self.errorname)
|
|
42
|
+
|
|
43
|
+
def write_input(self, profile, directory, atoms, parameters, properties):
|
|
44
|
+
parameters = dict(parameters)
|
|
45
|
+
|
|
46
|
+
kw = dict(charge=0, mult=1, orcasimpleinput='B3LYP def2-TZVP',
|
|
47
|
+
orcablocks='%pal nprocs 1 end')
|
|
48
|
+
kw.update(parameters)
|
|
49
|
+
|
|
50
|
+
io.write_orca(directory / self.inputname, atoms, kw)
|
|
51
|
+
|
|
52
|
+
def read_results(self, directory):
|
|
53
|
+
return io.read_orca_outputs(directory, directory / self.outputname)
|
|
54
|
+
|
|
55
|
+
def load_profile(self, cfg, **kwargs):
|
|
56
|
+
return OrcaProfile.from_config(cfg, self.name, **kwargs)
|
|
57
|
+
|
|
58
|
+
class ORCA(GenericFileIOCalculator):
|
|
59
|
+
"""Class for doing ORCA calculations.
|
|
60
|
+
|
|
61
|
+
Example:
|
|
62
|
+
|
|
63
|
+
calc = ORCA(charge=0, mult=1, orcasimpleinput='B3LYP def2-TZVP',
|
|
64
|
+
orcablocks='%pal nprocs 16 end')
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
def __init__(self, *, profile=None, directory='.', **kwargs):
|
|
68
|
+
"""Construct ORCA-calculator object.
|
|
69
|
+
|
|
70
|
+
Parameters
|
|
71
|
+
==========
|
|
72
|
+
charge: int
|
|
73
|
+
|
|
74
|
+
mult: int
|
|
75
|
+
|
|
76
|
+
orcasimpleinput : str
|
|
77
|
+
|
|
78
|
+
orcablocks: str
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
Examples
|
|
82
|
+
========
|
|
83
|
+
Use default values:
|
|
84
|
+
|
|
85
|
+
>>> from ase.calculators.orca import ORCA
|
|
86
|
+
>>> h = Atoms(
|
|
87
|
+
... 'H',
|
|
88
|
+
... calculator=ORCA(
|
|
89
|
+
... charge=0,
|
|
90
|
+
... mult=1,
|
|
91
|
+
... directory='water',
|
|
92
|
+
... orcasimpleinput='B3LYP def2-TZVP',
|
|
93
|
+
... orcablocks='%pal nprocs 16 end'))
|
|
94
|
+
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
super().__init__(template=OrcaTemplate(),
|
|
98
|
+
profile=profile, directory=directory,
|
|
99
|
+
parameters=kwargs)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import subprocess
|
|
1
2
|
import numpy as np
|
|
2
3
|
from ase.calculators.calculator import FileIOCalculator
|
|
3
4
|
import ase.units
|
|
@@ -19,35 +20,9 @@ class QChem(FileIOCalculator):
|
|
|
19
20
|
'jobtype': None,
|
|
20
21
|
'charge': 0}
|
|
21
22
|
|
|
22
|
-
def __init__(self,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
basisfile=None, ecpfile=None, atoms=None, **kwargs):
|
|
26
|
-
"""
|
|
27
|
-
The scratch directory, number of processor and threads as well as a few
|
|
28
|
-
other command line options can be set using the arguments explained
|
|
29
|
-
below. The remaining kwargs are copied as options to the input file.
|
|
30
|
-
The calculator will convert these options to upper case
|
|
31
|
-
(Q-Chem standard) when writing the input file.
|
|
32
|
-
|
|
33
|
-
scratch: str
|
|
34
|
-
path of the scratch directory
|
|
35
|
-
np: int
|
|
36
|
-
number of processors for the -np command line flag
|
|
37
|
-
nt: int
|
|
38
|
-
number of threads for the -nt command line flag
|
|
39
|
-
pbs: boolean
|
|
40
|
-
command line flag for pbs scheduler (see Q-Chem manual)
|
|
41
|
-
basisfile: str
|
|
42
|
-
path to file containing the basis. Use in combination with
|
|
43
|
-
basis='gen' keyword argument.
|
|
44
|
-
ecpfile: str
|
|
45
|
-
path to file containing the effective core potential. Use in
|
|
46
|
-
combination with ecp='gen' keyword argument.
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
FileIOCalculator.__init__(self, restart, ignore_bad_restart_file,
|
|
50
|
-
label, atoms, **kwargs)
|
|
23
|
+
def __init__(self, label='qchem', scratch=None, np=1, nt=1, pbs=False,
|
|
24
|
+
basisfile=None, ecpfile=None, **kwargs):
|
|
25
|
+
FileIOCalculator.__init__(self, label=label, **kwargs)
|
|
51
26
|
|
|
52
27
|
# Augment the command by various flags
|
|
53
28
|
if pbs:
|
|
@@ -65,6 +40,19 @@ class QChem(FileIOCalculator):
|
|
|
65
40
|
self.basisfile = basisfile
|
|
66
41
|
self.ecpfile = ecpfile
|
|
67
42
|
|
|
43
|
+
def _initialize_profile(self, command):
|
|
44
|
+
return None
|
|
45
|
+
|
|
46
|
+
def execute(self):
|
|
47
|
+
command = self.command.replace('PREFIX', self.prefix)
|
|
48
|
+
directory = getattr(self, 'directory', '.')
|
|
49
|
+
proc = subprocess.Popen(command, shell=True, cwd=directory)
|
|
50
|
+
errorcode = proc.wait()
|
|
51
|
+
if errorcode:
|
|
52
|
+
raise RuntimeError(
|
|
53
|
+
f'QChem exited with error code {errorcode} '
|
|
54
|
+
f'(command: {command})')
|
|
55
|
+
|
|
68
56
|
def read(self, label):
|
|
69
57
|
raise NotImplementedError
|
|
70
58
|
|
|
@@ -436,14 +436,16 @@ class Conformers:
|
|
|
436
436
|
|
|
437
437
|
if all(status): # if all conformers are invalid, 1 (different) or fail (-1)
|
|
438
438
|
if self.qc.qc == 'gauss':
|
|
439
|
-
ext = 'log'
|
|
439
|
+
ext = '.log'
|
|
440
440
|
elif self.qc.qc == 'qchem':
|
|
441
|
-
ext = 'out'
|
|
441
|
+
ext = '.out'
|
|
442
442
|
elif self.qc.qc == 'nn_pes':
|
|
443
|
-
ext = 'log'
|
|
443
|
+
ext = '.log'
|
|
444
|
+
elif self.qc.qc == 'fc' or self.qc.qc == 'orca':
|
|
445
|
+
ext = '_sella.log'
|
|
444
446
|
else:
|
|
445
447
|
raise NotImplementedError(f'Code {self.qc.qc} not available.')
|
|
446
|
-
copyfile(f'{lowest_job}
|
|
448
|
+
copyfile(f'{lowest_job}{ext}', f'conf/{name}_low{ext}')
|
|
447
449
|
mol = Atoms(symbols=last_row.symbols, positions=last_row.positions)
|
|
448
450
|
data = {'energy': last_row.data.get('energy'),
|
|
449
451
|
'frequencies': last_row.data.get('frequencies'),
|
|
@@ -555,11 +557,14 @@ class Conformers:
|
|
|
555
557
|
copyfile(f'{lowest_job}.log', f'conf/{name}_low.log')
|
|
556
558
|
elif self.qc.qc == 'qchem':
|
|
557
559
|
copyfile(f'{lowest_job}.out', f'conf/{name}_low.out')
|
|
558
|
-
elif self.qc.qc == 'nn_pes':
|
|
560
|
+
elif self.qc.qc == 'nn_pes' or self.qc.qc == 'fc':
|
|
559
561
|
pass
|
|
562
|
+
elif self.qc.qc == 'fc' or self.qc.qc == 'orca':
|
|
563
|
+
copyfile(f'{lowest_job}_sella.log', f'conf/{name}_low_sella.log')
|
|
560
564
|
else:
|
|
561
565
|
raise NotImplementedError(f'Code {self.qc.qc} not available.')
|
|
562
566
|
rows = self.db.select(name='{}'.format(lowest_job))
|
|
567
|
+
logger.debug(f'Looking at {name} in conformers')
|
|
563
568
|
for row in rows:
|
|
564
569
|
row_last = row
|
|
565
570
|
mol = Atoms(symbols=row_last.symbols, positions=row_last.positions)
|
|
@@ -6,7 +6,7 @@ AUtoCM = 219474.63068
|
|
|
6
6
|
CMtoKCAL = 0.0028591
|
|
7
7
|
GHZtoCM = 0.0333564
|
|
8
8
|
EVtoHARTREE = 0.03674932247495664
|
|
9
|
-
MEtoAMU = 1822.8885 # electron mass to atomic mass unit
|
|
9
|
+
MEtoAMU = 1822.8885 # electron mass to be in atomic mass unit
|
|
10
10
|
BOHRtoCM = 5.2917720859E-9 # value taken from the Gaussian website
|
|
11
11
|
BOHRtoANGSTROM = 0.529177
|
|
12
12
|
SPEEDofLIGHTcms = 2.99792458E10 # in cm per s
|
|
@@ -112,7 +112,7 @@ exact_mass['I'] = 126.904477
|
|
|
112
112
|
# data is expected in CHEMKIN format, where
|
|
113
113
|
# sigma is in Angstrom (no need to convert for MESS)
|
|
114
114
|
# epsilon is in epsilon/kB (K), need to be converted to cm-1
|
|
115
|
-
mass['He'] = 4.
|
|
115
|
+
mass['He'] = 4.002602 # u
|
|
116
116
|
sigma = {'He': 2.715} # Angstrom
|
|
117
117
|
epsilon = {'He': 11.442} # e/kB
|
|
118
118
|
|
|
@@ -120,10 +120,19 @@ mass['N2'] = mass['N'] * 2.
|
|
|
120
120
|
sigma['N2'] = 3.610
|
|
121
121
|
epsilon['N2'] = 97.839
|
|
122
122
|
|
|
123
|
-
mass['Ar'] =
|
|
123
|
+
mass['Ar'] = 39.948 # u
|
|
124
124
|
sigma['Ar'] = 3.462
|
|
125
125
|
epsilon['Ar'] = 127.697
|
|
126
126
|
|
|
127
|
+
# for Krypton
|
|
128
|
+
# Gábor Rutkai, Monika Thol, Roland Span & Jadran Vrabec (2017) How well
|
|
129
|
+
# does the Lennard-Jones potential represent the thermodynamic properties of noble gases? ,
|
|
130
|
+
# Molecular Physics, 115:9-12, 1104-1121, DOI: 10.1080/00268976.2016.1246760
|
|
131
|
+
|
|
132
|
+
mass['Kr'] = 83.798 # u
|
|
133
|
+
sigma['Kr'] = 3.6274 # Angstrom
|
|
134
|
+
epsilon['Kr'] = 162.58 # K, e/kB
|
|
135
|
+
|
|
127
136
|
for e in epsilon:
|
|
128
137
|
epsilon[e] = epsilon[e] * units.kB / units.invcm
|
|
129
138
|
|
|
@@ -135,6 +144,8 @@ qext = {'pbs': '.pbs',
|
|
|
135
144
|
'slurm': '.sbatch',
|
|
136
145
|
}
|
|
137
146
|
|
|
147
|
+
mp2_list = ['R_Addition_MultipleBond', 'reac_birad_recombination_R',
|
|
148
|
+
'reac_r12_cycloaddition', 'reac_r14_birad_scission']
|
|
138
149
|
|
|
139
150
|
def main():
|
|
140
151
|
"""
|
|
@@ -668,21 +668,21 @@ class Fragment(StationaryPoint):
|
|
|
668
668
|
save_pos = np.arange(0, box_dim[2])
|
|
669
669
|
for ln, line in enumerate(cubefile[start_line:stop_line]):
|
|
670
670
|
nx = int(np.trunc((ln+start_line-start) / xsize))
|
|
671
|
-
if np.
|
|
671
|
+
if np.isin(nx, np.arange(search_origin[0], search_end[0])):
|
|
672
672
|
rest_y = (ln+start_line-start) % xsize
|
|
673
673
|
ny = int(np.trunc(rest_y / ysize))
|
|
674
|
-
if np.
|
|
674
|
+
if np.isin(ny, np.arange(search_origin[1], search_end[1])):
|
|
675
675
|
# rest_z goes from 0 to ysize-1
|
|
676
676
|
rest_z = rest_y % ysize
|
|
677
677
|
indexes_in_line: NDArray[Any] = np.arange(rest_z*6, rest_z*6+6)
|
|
678
|
-
is_in_box: NDArray[bool_] = np.
|
|
678
|
+
is_in_box: NDArray[bool_] = np.isin(
|
|
679
679
|
indexes_in_line,
|
|
680
680
|
np.arange(search_origin[2], search_end[2]))
|
|
681
681
|
zidx_in_box = (
|
|
682
682
|
indexes_in_line[is_in_box] - search_origin[2]
|
|
683
683
|
).tolist()
|
|
684
684
|
# Boolean mask
|
|
685
|
-
where2save = np.
|
|
685
|
+
where2save = np.isin(save_pos, zidx_in_box)
|
|
686
686
|
which2save = np.where(is_in_box)[0]
|
|
687
687
|
if not any(where2save):
|
|
688
688
|
continue
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import shutil
|
|
1
3
|
import numpy as np
|
|
2
4
|
from ase.data import atomic_numbers, covalent_radii
|
|
5
|
+
from ase import Atoms
|
|
6
|
+
from ase.vibrations import Vibrations
|
|
3
7
|
|
|
4
8
|
from kinbot import constants
|
|
5
9
|
from kinbot import geometry
|
|
10
|
+
from kinbot.stationary_pt import StationaryPoint
|
|
11
|
+
from kinbot.constants import EVtoHARTREE
|
|
6
12
|
|
|
7
13
|
|
|
8
14
|
def get_frequencies(species, hess, geom, checkdist=0, massweighted=False):
|
|
@@ -257,3 +263,34 @@ def skip_rotor(name, rot):
|
|
|
257
263
|
return 0
|
|
258
264
|
elif 'prod' in name:
|
|
259
265
|
return 1
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def calc_vibrations(mol, label):
|
|
269
|
+
# this is a frequency calculator when ASE is used
|
|
270
|
+
mol.calc.label = f'{label}_vib'
|
|
271
|
+
if 'chk' in mol.calc.parameters:
|
|
272
|
+
del mol.calc.parameters['chk']
|
|
273
|
+
# Compute frequencies in a separate temporary directory to avoid
|
|
274
|
+
# conflicts accessing the cache in parallel calculations.
|
|
275
|
+
if not os.path.isdir(f'{label}_vib'):
|
|
276
|
+
os.mkdir(f'{label}_vib')
|
|
277
|
+
init_dir = os.getcwd()
|
|
278
|
+
os.chdir(f'{label}_vib')
|
|
279
|
+
if os.path.isdir('vib'):
|
|
280
|
+
shutil.rmtree('vib')
|
|
281
|
+
vib = Vibrations(mol)
|
|
282
|
+
try:
|
|
283
|
+
vib.run()
|
|
284
|
+
vib.write_jmol()
|
|
285
|
+
# Use kinbot frequencies to avoid mixing low vib frequencies with
|
|
286
|
+
# the values associated with external rotations.
|
|
287
|
+
_ = vib.get_frequencies()
|
|
288
|
+
zpe = vib.get_zero_point_energy() * EVtoHARTREE
|
|
289
|
+
hessian = vib.H / 97.17370087
|
|
290
|
+
st_pt = StationaryPoint.from_ase_atoms(mol)
|
|
291
|
+
st_pt.characterize()
|
|
292
|
+
freqs, _ = get_frequencies(st_pt, hessian, st_pt.geom)
|
|
293
|
+
os.chdir(init_dir)
|
|
294
|
+
return freqs, zpe, hessian
|
|
295
|
+
except:
|
|
296
|
+
return None, None, None
|