Skip to main content

OVERTONE

OVERTONE

OVERTONE computes anharmonic vibrational spectra with second-order vibrational perturbation theory (VPT2). It works with any calculator of the Atomic Simulation Environment (ASE), from quantum chemistry programs such as ORCA or PySCF to machine-learning potentials, on-the-fly active learning with FALCON, and variational quantum algorithms on (simulated) quantum computers.

OVERTONE provides fundamentals, overtones and combination bands, IR intensities on request, and plotted spectra including the near-IR.

Authors

Basila Bhanu Pattani Ameerjan, Mads-Peter Verner Christiansen and Wilke Dononelli

Features

  • Harmonic analysis with symmetrised Hessian and Eckart projection of translations and rotations
  • Quartic force field from energies or forces by finite differences in dimensionless normal coordinates
  • VPT2 variants: GVPT2 (default), standard VPT2, deperturbed VPT2 and DCPT2
  • Automatic detection of Fermi resonances and variational treatment, including intensity borrowing
  • Coriolis contributions, linear molecules, constrained atoms (e.g. adsorbates on surfaces)
  • Overtones and combination bands up to any number of quanta
  • IR intensities (only computed on request, e.g. not for energy-only ML potentials)
  • Lorentzian and Gaussian spectra, log scale for the near-IR, experimental reference overlay
  • Hybrid schemes with separate calculators for the Hessian and the anharmonic part
  • Runs on a single node or distributed over a queueing system with Shephex

Requirements

  • Python 3.11 or later
  • NumPy, SciPy, ASE (3.23 or later), pydantic, rich, matplotlib

Optional extras: cluster (shephex), falcon (falcon-md), tutorial (tblite) and test.

Installation

pip install overtone-vpt2

or the latest version from GitHub

pip install git+https://github.com/thequantumchemist/overtone.git

For development, clone the repository and install it in editable mode.

git clone https://github.com/thequantumchemist/overtone.git
cd overtone
pip install -e ".[test]"
pytest

Minimal example

from ase.build import molecule
from ase.optimize import BFGS
from tblite.ase import TBLite
from overtone import calculate_anharmonics

def setup_calculator():
    return TBLite(method="GFN2-xTB", verbosity=0, accuracy=0.01)

atoms = molecule("H2O")
atoms.calc = setup_calculator()
BFGS(atoms).run(fmax=1e-4)

result = calculate_anharmonics(atoms, setup_calculator, "water",
                               derivative_source="forces", intensities=True, max_quanta=3)
result.transitions_table()
result.plot_spectrum(log=True)

Use dry_run=True to see the number of single points before starting a large calculation, and recompute_vpt2(directory, method=...) to repeat only the VPT2 step of a finished run with another method.

Important settings

Parameter Default Meaning
method "gvpt2" VPT2 variant ("standard", "deperturbed", "dcpt2", "gvpt2")
derivative_source "energy" differentiate energies or analytic forces (fewer points)
anharmonic_delta 0.2 step in dimensionless normal coordinates, not in Angstrom
stencil 1 finite-difference stencil (0 to 3)
coupling 3 3 includes all cubic three-mode couplings
harmonic_delta 0.005 Cartesian step for the Hessian in Angstrom
intensities False compute IR intensities (needs dipoles)
max_quanta 2 highest total number of quanta in the band list

Finite differences amplify numerical noise of the energies. Converge SCF calculations tightly (e.g. ORCA VeryTightSCF). The docstring of calculate_anharmonics describes every parameter.

Manual

The manual (PDF) describes the installation and every function, class and parameter of OVERTONE with its default value.

Tutorial

The tutorials folder contains six examples, from a one-call workflow with GFN2-xTB to Fermi resonances, hybrid schemes and a comparison with the experimental near-IR spectrum of water. The paper folder contains all calculations of the publication.

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

Citation

Please cite the OVERTONE paper (in preparation) when using the code.

Metadata

Release files for overtone-vpt2 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for overtone-vpt2 0.1.0
File Size Uploaded Provenance Actions
overtone_vpt2-0.1.0.tar.gz 81.9 kB Without provenance Details for overtone_vpt2-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for overtone-vpt2 0.1.0
File Interpreter ABI Platform Actions
overtone_vpt2-0.1.0-py3-none-any.whl Python 3 none any Details for overtone_vpt2-0.1.0-py3-none-any.whl

Total release size: 160.4 kB

Release files / overtone_vpt2-0.1.0.tar.gz

Download URL overtone_vpt2-0.1.0.tar.gz
Size 81.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5dd619da85165e960c37f2b1f144c403e1efb80334ef3964e5d97c0bcd427beb
BLAKE2b-256 checksum
How to use checksums
9708f500f9a79a928e059d965c81bc41e0ee356acaafbc09b4690a012d59a9ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / overtone_vpt2-0.1.0-py3-none-any.whl

Download URL overtone_vpt2-0.1.0-py3-none-any.whl
Size 78.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f06a3a0525c43e26ed52c7dd88179f6321b958700bcb5152f1cf18b25804df4
BLAKE2b-256 checksum
How to use checksums
23cfd23230bc4acb2ae895d1435f7df90d91555866b860a9576d44002c6a856e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for overtone-vpt2 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page