chemtools icon indicating copy to clipboard operation
chemtools copied to clipboard

Port to Python 3

Open vcanogil opened this issue 4 years ago • 0 comments

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

vcanogil avatar Jun 22 '21 17:06 vcanogil