PAOFLOW.transport.conductor_kpoint#

Functions#

compute_kpoint_self_energies(*, blc_blocks, ik, ie_g, ...)

Compute lead self-energies at one (E, k) point.

compute_kpoint_green(*, blc_00C, sigma_L, sigma_R, ...)

Compute the conductor retarded Green's function at one k-point.

Module Contents#

PAOFLOW.transport.conductor_kpoint.compute_kpoint_self_energies(*, blc_blocks, ik, ie_g, egrid, delta, shift_L, shift_C, shift_R, shift_corr, leads_are_identical, niterx, transfer_thr, nfailx, surface)[source]#

Compute lead self-energies at one (E, k) point.

This is the single per-point self-energy kernel shared by the full-grid energy loop and the staged conductor API.

Parameters:
  • blc_blocks (Mapping[str, Any]) – Block-operator dictionary. Required keys include blc_00R, blc_01R, blc_00L, blc_01L, blc_CR, and blc_LC.

  • ik (int) – Local k-point index.

  • ie_g (int) – Global energy index into egrid.

  • egrid (NDArray[np.float64]) – Energy grid in eV, shape (ne,).

  • delta (float) – Positive infinitesimal broadening.

  • shift_L (float) – Rigid on-site energy shifts (eV) for the left-lead, conductor, and right-lead blocks.

  • shift_C (float) – Rigid on-site energy shifts (eV) for the left-lead, conductor, and right-lead blocks.

  • shift_R (float) – Rigid on-site energy shifts (eV) for the left-lead, conductor, and right-lead blocks.

  • shift_corr (float) – On-site energy shift (eV) applied to the correlation self-energy.

  • leads_are_identical (bool) – If True, the left self-energy reuses the right transfer matrices and its iteration count is excluded from the returned sum.

  • niterx (int) – Maximum number of transfer-matrix iterations.

  • transfer_thr (float) – Convergence threshold for the transfer-matrix iteration.

  • nfailx (int) – Maximum number of allowed convergence failures.

  • surface (bool) – Surface-mode flag (unused here; retained for signature symmetry with compute_kpoint_green()).

Returns:

(sigma_L, sigma_R, niter_sum), where self-energies have shape (dimC, dimC) and niter_sum is the total Sancho-Rubio iteration count used to converge the transfer matrices.

Return type:

tuple[NDArray[np.complex128], NDArray[np.complex128], int]

Notes

The sequence is:

  1. Update k-resolved Hamiltonian blocks at the selected energy via hamiltonian_setup().

  2. Build lead self-energies from block couplings.

PAOFLOW.transport.conductor_kpoint.compute_kpoint_green(*, blc_00C, sigma_L, sigma_R, delta, surface)[source]#

Compute the conductor retarded Green’s function at one k-point.

This is the single per-point Green’s-function kernel shared by the full-grid energy loop and the staged conductor API.

Parameters:
  • blc_00C (Any) – Conductor on-site block operator evaluated at the target k-point (blc_blocks['blc_00C'].at_k(ik)).

  • sigma_L (NDArray[np.complex128]) – Left lead self-energy, shape (dimC, dimC).

  • sigma_R (NDArray[np.complex128] or None) – Right lead self-energy, shape (dimC, dimC). Ignored when surface is True.

  • delta (float) – Positive infinitesimal broadening added to the retarded denominator.

  • surface (bool) – If True, compute the surface Green’s function (right self-energy excluded).

Returns:

Retarded conductor Green’s function, shape (dimC, dimC).

Return type:

NDArray[np.complex128]

Notes

\[G_C^r = \left[\left(E + i\delta\right)I - H_C - \Sigma_L - \Sigma_R\right]^{-1}.\]