PAOFLOW.transport.calculators.green#
Functions#
|
Construct the surface or bulk Green's function using the transfer matrices. |
|
Construct the retarded Green's function for the conductor region. |
Module Contents#
- PAOFLOW.transport.calculators.green.compute_surface_green_function(h_eff, s_eff, t_coupling, transfer_matrix, transfer_matrix_conj, igreen, delta=1e-05)[source]#
Construct the surface or bulk Green’s function using the transfer matrices.
- Parameters:
h_eff (np.ndarray) – Hamiltonian block H_00 of shape (dim, dim).
s_eff (np.ndarray) – Overlap matrix S_00 of shape (dim, dim).
t_coupling (np.ndarray) – Coupling matrix H_01 of shape (dim, dim).
transfer_matrix (np.ndarray) – Right-going transfer matrix T of shape (dim, dim).
transfer_matrix_conj (np.ndarray) – Left-going transfer matrix T† of shape (dim, dim).
igreen ({-1, 0, 1}) – Green’s function type:
-1for left surface,0for bulk,1for right surface.delta (float) – Small imaginary shift to stabilize inversion.
- Returns:
`green` – The computed Green’s function matrix G(E) of shape (dim, dim).
- Return type:
np.ndarray
Notes
Implements the iterative method of Lopez Sancho et al. (J. Phys. F: Met. Phys., 14, 1205, 1984) to compute the transfer matrices T and T† for semi-infinite leads.
The Green’s function is stabilized using a small imaginary part delta: G = [E⋅S - H + i⋅delta⋅S - Σ]⁻¹ T and T† are constructed iteratively to capture surface coupling.
- PAOFLOW.transport.calculators.green.compute_conductor_green_function(blc_00C, sigma_l, sigma_r=None, smearing_type='lorentzian', delta=1e-05, delta_ratio=0.005, g_smear=None, xgrid=None, calc='inverse', surface=False)[source]#
Construct the retarded Green’s function for the conductor region.
- Parameters:
sigma_l (np.ndarray) – Self-energy from the left lead.
sigma_r (np.ndarray, optional) – Self-energy from the right lead. Not used if surface=True.
smearing_type (str) – Smearing method: ‘lorentzian’, ‘none’, or ‘numerical’.
delta (float) – Imaginary broadening parameter.
delta_ratio (float) – Delta scaling used for ‘none’ smearing.
g_smear (np.ndarray, optional) – Precomputed smeared Green’s function values on xgrid (for numerical smearing).
xgrid (np.ndarray, optional) – Energy grid corresponding to g_smear.
calc ({'direct', 'inverse'}) – Whether to compute G or G⁻¹ for subtraction.
surface (bool) – Whether to compute projected surface bandstructure using only left lead.
- Returns:
`g_c` – Green’s function of the conductor region.
- Return type:
np.ndarray
Notes
Computes:
G_C = [ ω·S_C − H_C − Σ_L − Σ_R ]⁻¹
or for surface projection:
G_C = [ ω·S_C − H_C − Σ_L ]⁻¹