PAOFLOW.transport.smearing.smearing_T#

Classes#

SmearingData

Encapsulates smearing grid data and computes its memory usage.

Functions#

initialize_smearing_grid(smearing_type, delta, ...)

Initialize the numerical smearing grid and compute g_smear values using FFT-based convolution.

Module Contents#

PAOFLOW.transport.smearing.smearing_T.initialize_smearing_grid(smearing_type, delta, delta_ratio, xmax, *, smearing_func)[source]#

Initialize the numerical smearing grid and compute g_smear values using FFT-based convolution.

Parameters:
  • smearing_func (callable) – A function f(x, type) returning the smearing function evaluated at x for a given type.

  • smearing_type (str) – Type of smearing function, e.g., ‘lorentzian’, ‘gaussian’, etc.

  • delta (float) – Broadening parameter used in FFT smearing.

  • delta_ratio (float) – Ratio to determine resolution of numerical grid.

  • xmax (float) – Half-width of the energy window.

Returns:

  • `xgrid` (np.ndarray) – Energy grid points.

  • `g_smear` (np.ndarray) – Smeared Green’s function values over the grid.

Notes

This function constructs a numerically smeared Green’s function g_smear(x) over an energy grid xgrid using FFT-based convolution:

g_smear(x) = [1 / (x + i·δ_ratio)] ⋆ f_smear(x / δ)

where: - f_smear is the chosen smearing function (e.g. Lorentzian, Gaussian) - denotes convolution (implemented via FFT) - delta determines the width of the smearing function - delta_ratio controls the pole width for the convolution kernel - The final result is stored on an energy grid xgrid ∈ [−xmax, xmax]

This is used only in the ‘numerical’ smearing mode for computing Green’s functions.

class PAOFLOW.transport.smearing.smearing_T.SmearingData(smearing_func)[source]#

Encapsulates smearing grid data and computes its memory usage.

xgrid: numpy.ndarray | None = None[source]#
g_smear: numpy.ndarray | None = None[source]#
smearing_func[source]#
initialize(smearing_type, delta, delta_ratio, xmax)[source]#

Initialize the smearing grid and compute g_smear values.

memory_usage()[source]#

Compute memory usage in MB, following Fortran logic.