Vibronic spectrum simulation package
In general, there are a several steps to simulate a vibronic spectrum:
- Expand the diabatic electronic Hamiltonian in polynomials of normal modes (this is diabatz's job)
- Generate a vibrational basis with
tools/vibration
- Generate a seed vector with
tools/seed
- Run
vibronics
to tridiagonalize the vibronic Hamiltonian - Process the tridiagonal matrix with
tools/eig
for the spectrum - (optional) Perturbatively add spin-orbit coupling with
tools/soc
For details and theories of each module, see into each directories
The time-independent approach to simulate vibronic spectrum is to diagonalize the vibronic Hamiltonian
This program adopts diabatic electronic state and harmonic oscillator direct product vibrational basis, under which framework the vibronic Hamiltonian is written as
H^vibronic = H^harmonic + H^anharmonic
so that H^harmonic
is diagonal with harmonic oscillator eigenvalues, while H^anharmonic
can be very sparse in usual applications
For integral purpose, the dependency of H^anharmonic
on molecular geometry is fitted as a polynomial of normal modes. In usual cases where the polynomial order is low (2nd order + few higher order terms), H^anharmonic
is almost a band matrix, making Lanczos algorithm extremely efficient