Skip to main content

Molecular frequency-dependent response properties for arbitrary operators

Project description

pymolresponse

Molecular frequency-dependent response properties for arbitrary operators.

build status codecov license pre-commit.ci status

For documentation, go to https://berquist.github.io/pymolresponse/.

Currently, the goal is to provide:

  1. a pedagogical example of a working molecular orbital response program as an almost direct translation from equations to code,
  2. an implementation that gives "exact" results for testing, and
  3. an example of testing and documenting scientific code using modern software development tools.

Installation

To set up a conda environment with all dependencies for running, testing, and building the documentation, look under devtools.

Requirements

  • Python >= 3.2 because of pyscf3.6 because of f-strings.
  • pyscf and its dependencies: CMake, NumPy, SciPy, HDF5 + h5py
  • Psi4

Other Python dependencies

Testing

make pytest

Caveats

  • RHF and UHF references only; no ROHF yet.
  • Hartree-Fock and DFT only; no post-HF methods yet.
  • Real orbitals only; no complex or generalized orbitals yet.
  • Because the dimensioning of all arrays is based around the ov/vo space, methods that have non-zero contributions from the oo space (specifically derivatives of GIAOs/London orbitals w.r.t. the B-field) are not currently possible.
  • An iterative solver exists for response properties, not transition properties, where only explicit formation and then diagonalization of the orbital Hessian is available.
  • Linear response and single residues only.
  • unrestricted diagonalization-based properties are not implemented/working

Desired features (in no specific order)

  • Non-orthogonal orbitals. Requires switch from using MO energies to full Fock matrices.
  • ROHF reference (compare against DALTON). Requires equations for the ROHF orbital Hessian.
  • Post-HF support: MP2, CCSD, and CIS. Requires constriction of a Lagrangian.
  • Support for GIAOs. Only requires re-dimensioning as long as AO matrix elements are available??
  • At least one iterative method for each property type, for example DIIS for inversion and Davidson for diagonalization. Requires matrix-vector products.
  • Quadratic response and associated single residues (needed for phosphorescence) and double residues (excited state expectation values and transition moments of linear operators). Requires permutation of linear response solution vectors.

Desired features that don't fix the caveats

References

Forthcoming...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymolresponse-0.2.1.tar.gz (75.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymolresponse-0.2.1-py3-none-any.whl (94.9 kB view details)

Uploaded Python 3

File details

Details for the file pymolresponse-0.2.1.tar.gz.

File metadata

  • Download URL: pymolresponse-0.2.1.tar.gz
  • Upload date:
  • Size: 75.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymolresponse-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e8154447b13b67d601b09f388efc4d8ea46cc327d52eaf3d43ac3db726e67ed0
MD5 2c005a31e480c8875430d04ecc069689
BLAKE2b-256 ab57ca624aebdfd41e47d32fc9d4ef9f61679327fff094bdd7ebf40569cafe1c

See more details on using hashes here.

File details

Details for the file pymolresponse-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pymolresponse-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 94.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymolresponse-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c5f85d9637613eb88784079e1681cde2edc694616f3d1448e79044be4e0e5de
MD5 a4737b214fd65946a671b58a5032c9fe
BLAKE2b-256 f0fda84de827efe946ebcb0537980cd3d734fa7c733b7da697070b947c3a0c0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page