momentGW.pbc.uhf.tda
Construct TDA moments with periodic boundary conditions and unrestricted references.
Module Contents
- class momentGW.pbc.uhf.tda.dTDA(gw, nmom_max, integrals, mo_energy=None, mo_occ=None)
Bases:
momentGW.pbc.tda.dTDA,momentGW.uhf.tda.dTDACompute the self-energy moments using dTDA and numerical integration with periodic boundary conditions and unrestricted references.
- Parameters:
gw (BaseKUGW) – GW object.
nmom_max (int) – Maximum moment number to calculate.
integrals (KUIntegrals) – Integrals object.
mo_energy (dict, optional) – Molecular orbital energies at each k-point for each spin channel. Keys are “g” and “w” for the Green’s function and screened Coulomb interaction, respectively. If None, use gw.mo_energy for both. Default value is None.
mo_occ (dict, optional) – Molecular orbital occupancies at each k-point for each spin channel. Keys are “g” and “w” for the Green’s function and screened Coulomb interaction, respectively. If None, use gw.mo_occ for both. Default value is None.
- property nov
Number of ov states in the screened Coulomb interaction.
- property kpts
Get the k-points.
- property nkpts
Get the number of k-points.
- property nmo
Get the number of MOs.
- property naux
Get the number of auxiliaries.
- build_dd_moments()
Build the moments of the density-density response.
- Returns:
moments – Moments of the density-density response at each k-point for each spin channel.
- Return type:
numpy.ndarray
- kernel(exact=False)
Run the polarizability calculation to compute moments of the self-energy.
- Parameters:
exact (bool, optional) – Has no effect and is only present for compatibility with dRPA. Default value is False.
- Returns:
moments_occ (numpy.ndarray) – Moments of the occupied self-energy at each k-point for each spin channel.
moments_vir (numpy.ndarray) – Moments of the virtual self-energy at each k-point for each spin channel.
- convolve(eta, mo_energy_g=None, mo_occ_g=None)
Handle the convolution of the moments of the Green’s function and screened Coulomb interaction.
- Parameters:
eta (numpy.ndarray) – Moments of the density-density response partly transformed into moments of the screened Coulomb interaction, at each k-point for each spin channel.
mo_energy_g (numpy.ndarray, optional) – Energies of the Green’s function at each k-point for each spin channel. If None, use self.mo_energy_g. Default value is None.
mo_occ_g (numpy.ndarray, optional) – Occupancies of the Green’s function at each k-point for each spin channel. If None, use self.mo_occ_g. Default value is None.
- Returns:
moments_occ (numpy.ndarray) – Moments of the occupied self-energy at each k-point for each spin channel.
moments_vir (numpy.ndarray) – Moments of the virtual self-energy at each k-point for each spin channel.
- build_se_moments(moments_dd)
Build the moments of the self-energy via convolution.
- Parameters:
moments_dd (numpy.ndarray) – Moments of the density-density response at each k-point.
- Returns:
moments_occ (numpy.ndarray) – Moments of the occupied self-energy at each k-point for each spin channel.
moments_vir (numpy.ndarray) – Moments of the virtual self-energy at each k-point for each spin channel.
- build_dp_moments()
Build the moments of the dynamic polarizability for optical spectra calculations.
- Returns:
moments – Moments of the dynamic polarizability.
- Return type:
numpy.ndarray
- build_dd_moment_inv()
Build the first inverse (n=-1) moment of the density-density response.
- Returns:
moment – First inverse (n=-1) moment of the density-density response.
- Return type:
numpy.ndarray
Notes
This is not the full n=-1 moment, which is
\[\begin{split}D^{-1} - D^{-1} V^\dagger (I + V D^{-1} V^\dagger)^{-1} \\ V D^{-1}\end{split}\]but rather
\[(I + V D^{-1} V^\dagger)^{-1} V D^{-1}\]which ensures that the function scales properly. The final contractions are done when constructing the matrix-vector product.