Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pyscf-vscf

A coupled two-coordinate potential-energy surface

pyscf-vscf provides reduced-dimensional vibrational calculations with a PySCF electronic-structure backend. It includes:

  • state-specific VSCF for n-mode Hamiltonians with one-mode potentials and explicit two-mode coupling corrections;
  • 1D and 2D sinc-DVR solvers;
  • frozen local-bond, normal-coordinate, and constrained relaxed scans;
  • harmonic analysis and geometry optimization;
  • assigned transition frequencies and axis-projected and isotropic intensities; and
  • provenance-checked PES/DMS caches.

The package does not implement VCI, a full-dimensional PES generator, or general curvilinear kinetic-energy operators.

Install

pip install pyscf-vscf

PySCF and geomeTRIC are installed with the package. PySCF does not support native Windows, so Windows users should install it under WSL.

For development:

git clone https://github.com/diogovalada/pyscf-vscf.git
cd pyscf-vscf
uv sync --extra dev

VSCF Example

Run the PySCF-free example included in the wheel:

python -m pyscf_vscf.examples.vscf_two_mode

The corresponding API is:

from pyscf_vscf import NModePotential, VSCFSettings, vscf_spectrum

NModePotential represents

H = sum_i [T_i + V_i(q_i)] + sum_{i<j} V_ij(q_i, q_j)

Each V_ij is a coupling correction, not a complete pair potential. Coordinates are uniform grids in Angstrom.

PySCF Workflows

The command-line interface accepts XYZ and Midas MMOL geometries:

pyscf-vscf --xyz molecule.xyz --task harmonic
pyscf-vscf --xyz molecule.xyz --task 1d --bond 0-1 --npts 41
pyscf-vscf --help

The built-in backend supports Hartree-Fock (--method hf) and PySCF DFT exchange-correlation specifications. Scan functions also accept an injected energy/dipole evaluator through the Python API; there is not yet a packaged adapter for another electronic-structure program. Custom evaluators return Hartree energies and Cartesian Debye dipoles in the geometry frame. Use a stable custom backend_identity when writing and loading their caches.

Charge and spin are not reliably encoded in XYZ or MMOL files. Pass --charge and --spin for ions and open-shell systems.

Results And Caches

variational_1d and variational_2d return immutable TransitionRecord objects. Every record contains both the polarized-axis and isotropically averaged intensity conventions. Use record.as_dict() for JSON output.

Schema-v3 grid caches separate the causal cache identity from recorded provenance. Electronic method, basis, geometry, charge, spin, and scan grid control reuse; isotope masses, labels, runtime versions, and vibrational analysis policy do not invalidate the same Born-Oppenheimer surface. Array checksums are always verified.

See the intensity conventions, installation guide, and validation guide for details.

Validation

uv run ruff check src tests scripts
uv run ruff format --check src tests scripts
uv run pytest -q
uv run python scripts/validate_archived_grids.py --output /tmp/water-report.json
uv run python scripts/validate_nh3_three_mode.py --output /tmp/nh3-report.json

The test suite includes analytic numerical checks, tiny PySCF smoke tests, and archived H2O/HDO/D2O and NH3 molecular validations. The archives test solver correctness and convergence on stated reduced-dimensional Hamiltonians; they do not establish general spectroscopic accuracy.

License

MIT

Metadata

Release files for pyscf-vscf 0.1.0a7

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

Source distribution (sdist)

Source distribution for pyscf-vscf 0.1.0a7
File Size Uploaded
pyscf_vscf-0.1.0a7.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyscf-vscf 0.1.0a7
File Interpreter ABI Platform
pyscf_vscf-0.1.0a7-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / pyscf_vscf-0.1.0a7.tar.gz

Download URL pyscf_vscf-0.1.0a7.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
6252371ac034f2e78ae4b940f923413570ee1aa584ccfe6262c74f55669c6f29
BLAKE2b-256 checksum
How to use checksums
7f48a44fedbea03639718abff507f79fa1ff31692d29d60e4b1f7117da68305f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.

Transparency log

Release files / pyscf_vscf-0.1.0a7-py3-none-any.whl

Download URL pyscf_vscf-0.1.0a7-py3-none-any.whl
Size 66.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b85494b9133b4a804b1d87550f371afd0fce09ab099b1ecaeb042d416dc654b7
BLAKE2b-256 checksum
How to use checksums
b063ffea037a5825853acdf2ecc1484fc069958eeb7a3423f18a5a8cfad96477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.

Transparency log
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