chemtools
chemtools copied to clipboard
Port to Python 3
This pull request is part of Google Summer of Code 2021 final submission
Description
The purpose of this project is two-fold:
- Port chemtools from Python 2 to Python 3 by replacing HORTON2 with IOData, gbasis, grid, and denspart libraries
- Port PySCF functionality into chemtools to alleviate bottlenecks caused when calculating certain properties
Type of Changes
:sparkles: New Feature :hammer: Refactoring Code :books: Documentation :rotating_light: Test :art: Improve Format & Structure :zap: Miscellaneous
Goals Achieved
- Familiarized and learned how to use libraries necessary for completing the project.
- Ported chemtools' core functionality to Python 3, which includes
- Reading in files of various formats supported by IOData
- Initializing molecule objects and storing necessary properites
- Performing quantum chemistry calculations - now rewritten using gbasis, grid, and denspart libraries
- Updated and/or written unit tests
- Initiated the porting of necessary PySCF functionality into chemtools
Remaining Issues
- Certain unit tests fail due to some functionality lacking in gbasis library. Waiting for an update before rerunning the tests.
- Equivalent calculations in PySCF and chemtools yield different numerical outputs. This requires further investigation before PySCF can be ported into chemtools.
Future Work
This PR will continue being worked on after GSoC is over. For the last GSoC commit, refer to here.
Future work will include:
- Resolving the remaining unit tests
- Finish porting of PySCF into chemtools
- Rewriting remaining chemtools' functionality (if any) using the aforementioned libraries
- Updating chemtools' documentation in accordance with new changes