pyscf.eph package#
Submodules#
pyscf.eph.eph_fd module#
electron-phonon matrix from finite difference
- pyscf.eph.eph_fd.gen_moles(mol, disp)[source]#
From the given equilibrium molecule, generate 3N molecules with a shift on + displacement(mol_a) and - displacement(mol_s) on each Cartesian coordinates
pyscf.eph.rhf module#
Analytical electron-phonon matrix for restricted hartree fock
- class pyscf.eph.rhf.EPH(scf_method, cutoff_frequency=80, keep_imag_frequency=False)[source]#
Bases:
Hessian
EPH for restricted Hartree Fock
- Attributes:
- cutoff_frequencyfloat or int
cutoff frequency in cm-1. Default is 80
- keep_imag_frequencybool
Whether to keep imaginary frequencies in the output. Default is False
Saved results
- omeganumpy.ndarray
Vibrational frequencies in au.
- vecnumpy.ndarray
Polarization vectors of the vibration modes
- ephnumpy.ndarray
Electron phonon matrix eph[j,a,b] (j in nmodes, a,b in norbs)
- get_eph(mo1, omega, vec, mo_rep)#
- get_mode(mol=None, de=None)#
- kernel(mo_energy=None, mo_coeff=None, mo_occ=None, mo_rep=False)#
Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).
- vnuc_generator(mol)#
pyscf.eph.rks module#
Analytical electron-phonon matrix for restricted kohm sham
- class pyscf.eph.rks.EPH(scf_method, cutoff_frequency=80, keep_imag_frequency=False)[source]#
Bases:
Hessian
EPH for restricted DFT
- Attributes:
- cutoff_frequencyfloat or int
cutoff frequency in cm-1. Default is 80
- keep_imag_frequencybool
Whether to keep imaginary frequencies in the output. Default is False
Saved results
- omeganumpy.ndarray
Vibrational frequencies in au.
- vecnumpy.ndarray
Polarization vectors of the vibration modes
- ephnumpy.ndarray
Electron phonon matrix eph[j,a,b] (j in nmodes, a,b in norbs)
- get_eph(mo1, omega, vec, mo_rep)#
- get_mode(mol=None, de=None)#
- kernel(mo_energy=None, mo_coeff=None, mo_occ=None, mo_rep=False)#
Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).
- vnuc_generator(mol)#
pyscf.eph.uhf module#
Analytical electron-phonon matrix for unrestricted hartree fock
- class pyscf.eph.uhf.EPH(scf_method, cutoff_frequency=80, keep_imag_frequency=False)[source]#
Bases:
Hessian
EPH for unrestricted Hartree Fock
- Attributes:
- cutoff_frequencyfloat or int
cutoff frequency in cm-1. Default is 80
- keep_imag_frequencybool
Whether to keep imaginary frequencies in the output. Default is False
Saved results
- omeganumpy.ndarray
Vibrational frequencies in au.
- vecnumpy.ndarray
Polarization vectors of the vibration modes
- ephnumpy.ndarray
Electron phonon matrix eph[spin,j,a,b] (j in nmodes, a,b in norbs)
- get_eph(mo1, omega, vec, mo_rep)#
- get_mode(mol=None, de=None)#
- kernel(mo_energy=None, mo_coeff=None, mo_occ=None, mo_rep=False)#
Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).
- vnuc_generator(mol)#
pyscf.eph.uks module#
Analytical electron-phonon matrix for unrestricted kohn sham
- class pyscf.eph.uks.EPH(scf_method, cutoff_frequency=80, keep_imag_frequency=False)[source]#
Bases:
Hessian
EPH for unrestricted DFT
- Attributes:
- cutoff_frequencyfloat or int
cutoff frequency in cm-1. Default is 80
- keep_imag_frequencybool
Whether to keep imaginary frequencies in the output. Default is False
Saved results
- omeganumpy.ndarray
Vibrational frequencies in au.
- vecnumpy.ndarray
Polarization vectors of the vibration modes
- ephnumpy.ndarray
Electron phonon matrix eph[spin,j,a,b] (j in nmodes, a,b in norbs)
- get_eph(mo1, omega, vec, mo_rep)#
- get_mode(mol=None, de=None)#
- kernel(mo_energy=None, mo_coeff=None, mo_occ=None, mo_rep=False)#
Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).
- vnuc_generator(mol)#
Module contents#
First order electron phonon matrix#
- Simple usage::
>>> from pyscf import gto, dft, eph >>> mol = gto.M(atom='N 0 0 0; N 0 0 2.100825', basis='def2-svp', verbose=4, unit="bohr") >>> mf = dft.RKS(mol, xc='pbe,pbe') >>> mf.run() >>> myeph = eph.EPH(mf) >>> mat, omega = myeph.kernel()