RMG-Py v3.0.0
This release represents a major milestone in RMG development and includes many backwards-incompatible changes, most notably Python 3 compatibility and major API changes. Users switching to RMG 3 will need to create new conda environments and update any scripts which access the API. We recommend using the futurize
script from python-future for updating scripts for Python 3 and the provided rmg2to3.py
script for updating scripts for RMG 3.
Python 3 #1724
- RMG is now compatible with Python 3.7 and newer
- RMG v2.x versions will no longer be supported
- API changes
- Method, function, and argument names have been standardized to use snake_case across RMG and Arkane
- Input file related code was not changed, in order to continue support for existing syntax
- Conversion script has been provided to aid transition (scripts/rmg2to3.py)
- Standardized submodule names in the rmgpy.tools module #1794
- Accompanying changes
- Reduction and scoop_framework modules have been removed
- New/updated hash and comparison methods for Species/Molecule/Atom/Bond classes
- DDE thermochemistry estimator has been replaced by chemprop
- Update example IPython notebooks #1735
- Update global uncertainty module to work with MUQ 2 and Python 3 #1738
- Miscellaneous clean up and bug fixes following transition #1741, #1744, #1752, #1759, #1785, #1802, #1798, #1799, #1808
Arkane
- Improvements and refactoring of job output file creation and content #1607
- Fix kinetics fitting bug #1672
- Improvements to automatic network exploration tool #1647
- Support for ND classical and semi-classical rotor calculations #1640, #1849
- Support for 2D quantum mechanical rotor calculations using Q2DTor #1640
- Support for providing absolute file paths #1685
- Output RMG-style libraries #1769
- Check for error termination in Gaussian log files #1766
- Support for parsing Orca log files #1749
- Support for parsing MP2, double hybrid DFT, CCSD, and CCSD(T) energies from Gaussian log files #1815
- Support for TeraChem log files #1788
- Miscellaneous bug fixes #1810
New features and other additions
- Additional options for heterocycles in MLEstimator #1621
- Automatic tree generation algorithm implementation completed #1486, #1675, #1848
- New simulation restart approach using seed mechanisms (old pickle-based method removed) #1641
- Added new MBSampledReactor type for simulating molecular beam experiments (does not support model generation) #1669
- Improvements to group additivity thermo estimates for aromatics and sulfur species #1731, #1751
- Improvements to solvation correction determination with multiple resonance structures #1832
- Add support for reading and writing extended element syntax in Chemkin NASA polynomials #1636
- Add support for fitting negative Arrhenius rates (found in MultiArrhenius data) #1834
Bug fixes
- Fix numpy rcond usage to restore support for older numpy versions #1670
- Fix bug with duplicate library reactions when using RMG generated seed mechanisms #1676
- Move parse_command_line_arguments to facilitate importing in binary package #1717
- Fix issues with is_identical_to methods of kinetics models #1705
- Fix cython issue with make_object definitions #1817
- Fix issue with estimating solvation corrections for radicals #1773
- Fix parsing of certain types of RMG generated reaction comments #1842
- Fix identifier generation for surface species using OpenBabel #1842
- Fix mole fraction normalization for SimpleReactor #1809
- Fix permissions error when writing seed mechanisms in WSL #1796
- Fix issue with restarting from job without reaction filters #1847
Other
- Improvements to mergeModels.py script #1649
- Miscellaneous performance improvements #1677, #1765,
- Raise errors when NaN is encountered in solver #1679
- Allow sulfur species to have valence 12 in resonance algorithm #1751
- Add support for maxproc argument to generate_reactions module #1780
- Display atom index when drawing groups #1758
- Update sensitivity example #1805
- Update commented input file #1806
- Generate reverse reaction recipes in reverse order of the forward recipe #1829
- Add iodine to Chemkin elements list #1825
- Remove unnecessary duplicate checking for seed mechanisms #1824
- Organize examples for running RMG scripts #1840
- Increase RDKit version requirement to avoid memory leak #1851
- Logging changes #1721, #1755
- Documentation updates #1680, #1709, #1767, #1781, #1784, #1807, #1845
Thanks to all contributors: ajocher, alongd, amarkpayne, cgrambow, dranasinghe, hwpang, kspieks, goldmanm, mazeau, mjohnson541, mliu49, oscarwumit, rwest, rgillis8, sarakha, sudoursa, xiaoruiDong, yunsiechung, zjburas