Name

RecursionSelfEnergy — Class for representing a self energy calculation using the recursion method.

Synopsis

Namespace: NanoLanguage
RecursionSelfEnergy(
save_self_energies,
tolerance,
maximum_iteration
)

Description

Constructor for a self-energy calculator based on the Recursion method. The Recursion is an iterative scheme for getting self energies, with convergence O(2^N)

RecursionSelfEnergy Arguments

save_self_energies

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

Type: Boolean (True/False)

Default: True
tolerance

The tolerance of convergence of the self energies before termination of the recursion.

Type: Strictly positive float.

Default: 1e-13
maximum_iteration

The maximum number of recursion steps allowed before termination.

Type: Positive integer.

Default: 400

RecursionSelfEnergy Methods

A RecursionSelfEnergy object provides the following methods:

  • maximumIteration(): Query method for getting the maximum iteration

  • 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

  • tolerance(): Query method for getting the tolerance

Usage Examples

Define that the self energy on the complex contour is calculated with the recursion method, and the self energies are not saved.

 calculator=DeviceHuckelCalculator(
    self_energy_calculator_complex=RecursionSelfEnergy(
          save_self_energies=false) )

Notes

The RecusionSelfEnergy uses the iterative scheme by Lopez, Lopez and Rubio[12] for calculating the self energy matrix.