Sinc DVR Class
Discrete Variable Representation (DVR) Method
This module contains the Discrete Variable Representation (DVR) Method. The DVR method is used to calculate the vibrational frequencies and dipole matrix elements for a 1D potential. The potential is fit to a polynomial and the dipole is fit to a polynomial. The vibrational frequencies and dipole matrix elements are calculated using the eigenvalues and eigenvectors of the Hamiltonian matrix.
For more information on Discrete Variable Representations, Check out the following paper:
- Colber, Miller, A novel discrete variable representation for quantum mechanical
reactive scattering via the S-matrix Kohn method, Journal of Chemical Physics, 96, pp. 1982-1991 (1992).
To Do:
Set up for other grid types [if necessary]
- class empmap.sincdvr.DVR(pot1d, emax=0.7, xmax=1.4, mass1=1.0, mass2=1.0, reduced_mass=None, num_grid_per_broglie=4)
Class for the Discrete Variable Representation (DVR) Method
This class is used to calculate the vibrational frequencies and dipole matrix elements for a 1D potential using the DVR method. The potential is fit to a polynomial and the dipole is fit to a polynomial. The vibrational frequencies and dipole matrix elements are calculated using the eigenvalues and eigenvectors of the Hamiltonian matrix.
For more information on Discrete Variable Representations, Check out the following paper:
- Colber, Miller, A novel discrete variable representation for quantum mechanical
reactive scattering via the S-matrix Kohn method, Journal of Chemical Physics, 96, pp. 1982-1991 (1992).
Attributes:
constants (ConstantsManagement): The constants management class reduced_mass (float): The reduced mass (g/mol) emax (float): The energy cutoff (au) xmax (float): The maximum position (au) pot1d (Potential1D): The 1D potential object ke_pref (float): The kinetic energy prefactor hamiltonian (np.array): The Hamiltonian matrix evals (np.array): The eigenvalues evecs (np.array): The eigenvectors w01 (float): The 0-1 vibrational frequency (cm^-1) w12 (float): The 1-2 vibrational frequency (cm^-1) mu01 (float): The 0-1 dipole matrix element mu12 (float): The 1-2 dipole matrix element x01 (float): The 0-1 position matrix element x12 (float): The 1-2 position matrix element delr (float): The grid spacing (au) xraw (np.array): The raw grid vraw (np.array): The raw potential xgrid (np.array): The refined grid vgrid (np.array): The refined potential ngrid (int): The number of grid points _mask_grid (np.array): The mask for the grid
- static calculate_reduced_mass(m1, m2)
Calculate the reduced mass
Notes:
This method calculates the reduced mass of two particles.
The formula is:
mu = m1*m2/(m1+m2)
Parameters:
- m1float
The mass of the first particle (mass units)
- m2float
The mass of the second particle (mass units)
- Returns:
float: The reduced mass (mass units)
- do_calculation()