calculateSelfEnergy¶
- calculateSelfEnergy(device_configuration, energy=PhysicalQuantity(0.0, eV), kpoint=None, spin=None, contribution=<class 'NL.ComputerScienceUtilities.NLFlag._NLFlag.Left'>, eta=PhysicalQuantity(1e-06, Hartree), self_energy_calculator=None)¶
Calculate the self energy as a numpy array.
- Parameters:
device_configuration (
DeviceConfiguration
|SurfaceConfiguration
) – The configuration to use for the calculation.energy (PhysicalQuantity of type energy) – Absolute energy for self energy calculation. Default:
0.0 * eV
kpoint (tuple of floats) – The kpoint as three floats representing fractional reciprocal space coordinates. Default: The Gamma point
(0.0, 0.0, 0.0)
spin (
Spin.Up
|Spin.Down
|Spin.All
) – The spin component for which to perform the calculation. Default:Spin.All
contribution (
Left
|Right
) – Which electrode (side) should be considered. Only theLeft
contribution is allowed for aSurfaceConfiguration
. Default:Left
eta (PhysicalQuantity of type energy) – Complex energy for electrode transform matrices, imaginary part. Default:
1.0e-6 * Hartree
self_energy_calculator (
RecursionSelfEnergy
|DirectSelfEnergy
|KrylovSelfEnergy
|SparseRecursionSelfEnergy
) – The self energy evaluation strategy to use. Default: A defaultRecursionSelfEnergy
instance.
- Returns:
The self energy as an array.
- Return type:
PhysicalQuantity of type energy
Usage Examples¶
Evaluate the self energy of a DeviceConfiguration:
self_energy = calculateSelfEnergy(device_configuration)
Notes¶
Evaluate the Fourier transformed self energy of an electrode in a DeviceConfiguration.
The calculator assigned to the device must be density matrix-based for this function to perform successfully.
Consider Spin for details on how to handle the spin parameter.