Electron Transfer, Diabatic Couplings, and Vibronic Energy Gaps in a Phase Space Framework
PhaseSpaceChem is a Python library designed to calculate electronic states and vibronic energy gaps using a novel Phase Space (PS) framework. By treating the electronic system as dependent on both the position (
- Shin-Metiu Model Generator: Flexible 1D 1-electron, 3-ion Hamiltonian matrix generation.
-
Phase Space Hamiltonian: Construction of
$\hat{H}_{W,el}^{PS}(R, P)$ directly in phase space. - Diabatization Engine: Generalized Mulliken-Hush (GMH) diabatization optimized for phase space adiabatic states ($U(R, P)$).
- Inverse Weyl Transform: Re-quantization of phase space operators back into Hilbert space.
- Momentum Conservation: Inherently respects conservation laws often violated by truncated ad-hoc corrections.
You can install phase_space_chem directly from source:
git clone https://github.com/username/phase_space_chem.git
cd phase_space_chem
pip install .For development (editable install):
pip install -e .[dev]Here is a basic example of how to initialize the grids and compute a Shin-Metiu potential:
import numpy as np
import matplotlib.pyplot as plt
from phase_space_chem import grids, potentials
# 1. Define Grid Parameters
n_r = 151 # Electronic points
n_R = 151 # Nuclear points
n_P = 151 # Momentum points
# 2. Generate Grids
R_grid, r_grid = grids.generate_position_grids(
num_nuclear_points=n_R,
num_electronic_points=n_r
)
P_grid = grids.generate_momentum_grid(R_grid, n_P)
# 3. Compute Potential
# Parameters: Fixed Separation=20.0, Mobile Screening=5.0, Fixed Screening=4.0
V_rR = potentials.compute_shin_metiu_potential(
electronic_position_grid=r_grid,
nuclear_position_grid=R_grid,
fixed_ion_separation=20.0,
mobile_ion_screening=5.0,
fixed_ion_screening=4.0
)
print(f"Potential Shape: {V_rR.shape}")This project incorporates research from the following paper:
- Electron Transfer, Diabatic Couplings and Vibronic Energy Gaps in a Phase Space Framework Zain Zaidi, Xuezhi Bian, Joseph E. Subotnik arXiv:2601.16209