# DirectSelfEnergy¶

class DirectSelfEnergy(save_self_energies=None, lambda_min=None, sparse_threshold=None, storage_strategy=None)

Self-energy calculator based on the direct method. The direct method uses direct diagonalization to get all the electrode modes.

Parameters: storage_strategy (SaveInMemory | StoreOnDisk | NoStorage) – The way self energies are stored between iterations. Default: SaveInMemory() sparse_threshold (float > 0) – Self energies (in Hartree) smaller than this value are treated as 0 when storing as sparse matrix. Default: 1.e-12 save_self_energies – Deprecated since version 2017.0: Use storage_strategy instead. lambda_min – Deprecated since version 12.2.
lambdaMin()

Deprecated since version 12.2.

saveSelfEnergies()

Deprecated since version 2017.0.

sparseThreshold()
Returns: Values treated as 0. float
storageStrategy()
Returns: The way self energies are stored between iterations. SaveInMemory | StoreOnDisk | NoStorage

## Usage Examples¶

Define that the self energy on the real contour is calculated with direct diagonalization.

device_algorithm_parameters = DeviceAlgorithmParameters(
self_energy_calculator_real=DirectSelfEnergy()
)


Examples on how to use the storage_strategy parameter can be found in the Usage Examples of RecursionSelfEnergy.

## Notes¶

• DirectSelfEnergy uses a diagonalization scheme to find all propagating and decaying modes of the electrodes. The self energy matrix is then determined from the modes [tSLJB99].
• The direct method implementation in QuantumATK is stable towards a sparse electrode Hamiltonian with null spaces. The implementation uses projection operators which removes any null spaces which could be problematic.

## Reference¶

 [tSLJB99] S. Sanvito, C. J. Lambert, J. H. Jefferson, and A. M. Bratkovsky. General green’s-function formalism for transport calculations with spd hamiltonians and giant magnetoresistance in co- and ni-based magnetic multilayers. Phys. Rev. B, 59:11936–11948, May 1999. doi:10.1103/PhysRevB.59.11936.