pyscf.pbc.prop.polarizability package

Submodules

pyscf.pbc.prop.polarizability.rhf module

Non-relativistic static/dynamic polarizability and hyper-polarizability

class pyscf.pbc.prop.polarizability.rhf.Polarizability(mf, kpts=array([[0., 0., 0.]]))[source]

Bases: pyscf.prop.polarizability.rhf.Polarizability

dip_moment()
gen_vind(mf, mo_coeff, mo_occ, hermi=1, vo_only=False)[source]

Induced potential

hyper_polarizability(with_cphf=True)
polarizability(with_cphf=True)
polarizability_with_freq(freq=None)
pyscf.pbc.prop.polarizability.rhf.check_k_grids(cell, mat, kpts, fft_tol=1e-06)[source]
pyscf.pbc.prop.polarizability.rhf.cphf_with_freq(mf, mo_energy, mo_occ, h1, freq=0, max_cycle=20, tol=1e-06, hermi=False, verbose=2)[source]
pyscf.pbc.prop.polarizability.rhf.dip_moment(polobj)[source]
pyscf.pbc.prop.polarizability.rhf.fft(cell, fg, kpts, Ls)[source]
pyscf.pbc.prop.polarizability.rhf.fft_k_deriv(cell, fg, kpts, Ls)[source]
pyscf.pbc.prop.polarizability.rhf.fft_k_deriv2(cell, fg, kpts, Ls)[source]
pyscf.pbc.prop.polarizability.rhf.get_h1(polobj, Zao=None, Rao=None, Kao=None, charge_center=None, vo_only=False)[source]

Computes h1 for CPHF equations in MO basis, \((\psi_p(k)|h^1|\psi_i(k))\). if vo_only is True, h1 has shape (nmo, nocc); otherwise, h1 has shape (nvir, nocc).

pyscf.pbc.prop.polarizability.rhf.get_k_deriv(cell, mat, kpts, deriv=1, check_k=False, fft_tol=1e-06)[source]
pyscf.pbc.prop.polarizability.rhf.get_z(polobj, Zao=None, Rao=None, Kao=None, charge_center=None)[source]

Computes the periodic version of the dipole matrix in MO basis, then transformed back to AO basis.

Note this function differs from get_z_ao() in that it contains the k derivative of the MO coefficients.

\[\begin{split}\Omega_{pq}(k) = (\psi_{p}(k)|i e^{ikr} \nabla_{k} e^{-ikr}|\psi_{q}(k)) \\ \Omega_{\mu\nu}(k) = S_{\mu\lambda}(k) C_{\lambda p}(k) \Omega_{pq}(k) C_{\sigma q}(k) S_{\sigma\nu}(k)\end{split}\]
Args:

polobj : instance of Polarizability class

Kwargs:
Zaolist of (3, nao, nao) array

regular dipole matrix \((\mu(k)| \|r-R\| |\nu(k))\)

Raolist of (3, nao, nao) array

1st order k derivative of overlap matrix

Kaolist of (3, nao, nao) array

1st order k derivative of Fock matrix

charge_centerlist or tuple (3,)

nuclear charge center

Returns:
Omegalist of (3, nao, nao) array

\(\Omega_{\mu\nu}(k)\)

Qjilist of (3, nmo, nmo) array

response of the MO coefficients

pyscf.pbc.prop.polarizability.rhf.get_z_ao(cell, kpts=array([[0., 0., 0.]]), charge_center=None)[source]

Computes the periodic version of the dipole matrix in AO basis.

\[\Omega_{\mu\nu}(k) = (\mu(k)|i e^{ikr} \nabla_{k} e^{-ikr}|\nu(k))\]
Args:

cell : instance of Cell class

Kwargs:

kpts : (nkpts, 3) array charge_center : list or tuple

nuclear charge center

Return:

(nkpts, 3, nao, nao) array

pyscf.pbc.prop.polarizability.rhf.hyper_polarizability(polobj, with_cphf=True)[source]
pyscf.pbc.prop.polarizability.rhf.ifft(cell, fk, kpts, Ls)[source]
pyscf.pbc.prop.polarizability.rhf.polarizability(polobj, with_cphf=True)[source]
pyscf.pbc.prop.polarizability.rhf.polarizability_with_freq(polobj, freq=None)[source]

pyscf.pbc.prop.polarizability.rks module

Module contents