Derivative Couplings
Compute the nonadiabatic coupling using different methods.
The available methods are:
3-point numerical differentiation <https://doi.org/10.1063/1.4738960>
levine <dx.doi.org/10.1021/jz5009449>
Phase correction is also available.
Index
|
Calculate the non-adiabatic interaction matrix using 3 geometries. |
|
Compute coupling using the Levine approximation. |
|
Compute the Overlap matrices used to compute the couplings. |
|
Correct the phases for all the overlaps. |
API
- nanoqm.integrals.nonAdiabaticCoupling.calculate_couplings_3points(dt: float, mtx_sji_t0: ndarray, mtx_sij_t0: ndarray, mtx_sji_t1: ndarray, mtx_sij_t1: ndarray) ndarray [source]
Calculate the non-adiabatic interaction matrix using 3 geometries.
see: https://aip.scitation.org/doi/10.1063/1.467455 the contracted Gaussian functions for the atoms and molecular orbitals coefficients are read from a HDF5 File.
- Parameters:
dt – Integration step (atomic units)
mtx_sji_t0 – Sji Overlap matrix at time t0
mtx_sij_t0 – SiJ Overlap matrix at time t0
mtx_sji_t1 – Sji Overlap matrix at time t1
mtx_sij_t1 – SiJ Overlap matrix at time t1
- Returns:
Coupling matrix
- Return type:
np.ndarray
- nanoqm.integrals.nonAdiabaticCoupling.calculate_couplings_levine(dt: float, w_jk: ndarray, w_kj: ndarray) ndarray [source]
Compute coupling using the Levine approximation.
Compute the non-adiabatic coupling according to: Evaluation of the Time-Derivative Coupling for Accurate Electronic State Transition Probabilities from Numerical Simulations. Garrett A. Meek and Benjamin G. Levine. dx.doi.org/10.1021/jz5009449 | J. Phys. Chem. Lett. 2014, 5, 2351−2356
Notes
In numpy sinc is defined as sin(pi * x) / (pi * x)
- Parameters:
dt – Integration step (atomic units)
w_jk – Overlap matrix
mtx_sij_t0 – Overlap matrix
- Returns:
Coupling matrix
- Return type:
np.ndarray
- nanoqm.integrals.nonAdiabaticCoupling.compute_overlaps_for_coupling(config: _data.GeneralOptions, pair_molecules: tuple[MolXYZ, MolXYZ], coefficients: tuple[Matrix, Matrix]) Matrix [source]
Compute the Overlap matrices used to compute the couplings.
- Parameters:
config – Configuration of the current task
pair_molecule – Molecule to compute the overlap
coefficients – Molecular orbital coefficients for each molecule
- Returns:
containing the overlaps at different times
- Return type:
Matrix