Name

DirectSelfEnergy — Class for representing a self energy calculation using direct diagonalization.

Synopsis

Namespace: NanoLanguage
DirectSelfEnergy(save_self_energies)

Description

Constructor for a self-energy calculator based on the direct method. The direct method use direct diagonalization for getting all the electrode modes.

DirectSelfEnergy Arguments

save_self_energies

If True, the self energies are stored between iterations for maximum speed.

Type: Boolean (True/False)

Default: True

DirectSelfEnergy Methods

A DirectSelfEnergy object provides the following methods:

  • saveSelfEnergies(): Query method for getting the Boolean telling if the self energies should be saved or not

  • setSaveSelfEnergies(): Set method for setting the Boolean telling if the self energies should be saved or not

Usage Examples

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

 calculator=DeviceHuckelCalculator(
    self_energy_calculator_real=DirectSelfEnergy() )

Notes

The DirectSelfEnergy use a diagonalization scheme to find all propagating and decaying modes of the electrodes. The self energy matrix is then determined from the modes[15].

  • The direct method implementation in ATK is stable towards a sparse electrode Hamiltonian with null spaces. The implementation uses projection operators which removes any null spaces which could be problematic.