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.eph_fd.get_mode(mf, cutoff_frequency=80, keep_imag_frequency=False)[source]
pyscf.eph.eph_fd.get_vmat(mf, mfset, disp)[source]
pyscf.eph.eph_fd.kernel(mf, disp=0.0001, mo_rep=False, cutoff_frequency=80, keep_imag_frequency=False)[source]
pyscf.eph.eph_fd.run_mfs(mf, mols_a, mols_b)[source]

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.rhf.get_eph(ephobj, mo1, omega, vec, mo_rep)[source]
pyscf.eph.rhf.get_mode(ephobj, mol=None, de=None)[source]
pyscf.eph.rhf.kernel(ephobj, mo_energy=None, mo_coeff=None, mo_occ=None, mo_rep=False)[source]
pyscf.eph.rhf.rhf_deriv_generator(mf, mo_coeff, mo_occ)[source]
pyscf.eph.rhf.solve_hmat(mol, hmat, cutoff_frequency=80, keep_imag_frequency=False)[source]
pyscf.eph.rhf.vnuc_generator(ephobj, mol)[source]

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.rks.get_eph(ephobj, mo1, omega, vec, mo_rep)[source]

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.uhf.get_eph(ephobj, mo1, omega, vec, mo_rep)[source]
pyscf.eph.uhf.uhf_deriv_generator(mf, mo_coeff, mo_occ)[source]

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)
pyscf.eph.uks.get_eph(ephobj, mo1, omega, vec, mo_rep)[source]

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()
pyscf.eph.EPH(mf, **kwargs)[source]