Skip to content
This repository was archived by the owner on May 24, 2020. It is now read-only.

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyVPT

The Python Vibrational Perturbation Theory package (PyVPT) is intended to make it easy to do vibrational perturbation theory in internal coordinates in python.

Dependencies

A bunch of packages have been built out in python to support this effort (and other research too) The list of them will change over time so it doesn't make much sense to keep a running tally here, but they're all here.

Road Map

Coordinate Basics

  • Set up basic project structure
  • Create coordinate system representation
  • Create coordinate transformation system
  • Create coordinate conversion system
  • Implement Cartesian <-> ZMatrix conversions
  • Generalize conversion code?
  • Implement Cartesian <-> Spherical conversions
  • Implement ZMatrix <-> Spherical conversions?

Molecules

  • Write efficient Gaussian Log File importer
  • Write efficient Gaussian fchk file importer
  • Write convenience type representing molecular modes
  • Create efficient importer of all relevant molecule data from Gaussian job data
  • Create efficient constructor of all molecule data from scan (for use with psi4)

Expansions

  • Implement arbitrary order finite differencing (higher-dimensional extension needs testing still)
  • Provide utility type representing function over a coordinate set (useful for potentials)
  • Implement actual expression for a fourth-order potential expansion (make C-compileable...?)

Perturbation Theory

  • Get potential expansions with Gaussian potential / force consts
  • Write code to handle directly from potential scan
  • Implement proper exprs for perturbation expansions

Wavefunctions / Spectra

  • Write flexible Wavefunction metaclass that can be subclassed for DVR, DMC, and VPT2
  • Write Spectrum class that can plot and analyze itself in intuitive ways like I already have in Mathematica (got the plotting...)

Suggestions / Issues / Warnings

This is really not intended for outside use, but if there are features that should be included they can be suggested on the repo issues page

About

Python implementation of some VPT stuff

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages