Skip to content

Electron

Options for the electronic subsystem solver.

solver#

solver: SolverConfig

Parameters concerning the system solver.

obc#

obc: OBCConfig

Parameters concerning the open boundary conditions.

eta_obc#

eta_obc: NonNegativeFloat = 0

Small imaginary value to add to the energy when computing the OBCs.

Including this small broadening can help stabilize the convergence of the iterative sancho-rubio OBC solver near van Hove singularities.

eta#

eta: NonNegativeFloat = 1e-12

Small imaginary value to add to the energy when computing the Green's functions.

left_contact#

left_contact: ContactConfig | None = None

Configuration for the left contact.

This must be provided for any "negf" simulation.

Note

In "wf" simulations, the left and right contacts are not used.

right_contact#

right_contact: ContactConfig | None = None

Configuration for the right contact.

This must be provided for any "negf" simulation.

Note

In "wf" simulations, the left and right contacts are not used.

band_edge_tracking#

band_edge_tracking: bool = False

Whether to track the band edges during the SCBA iterations.

This is setting is only useful if the considered interactions result in energy renormalization in the electronic subsystem, which is primarily the screened Coulomb interaction.

If set to True, the band edges are tracked during the SCBA iterations by computing the eigenvalues of the Hamiltonian renormalized with the current self-energy.

The Fermi levels are then set to be a fixed distance from the band edges, which is determined by the initial Fermi level and band edges. For example, if the initial Fermi level is 0.5 eV above the conduction band edge, the Fermi level is always set to be 0.5 eV above the conduction band edge during all SCBA iterations.

energy_window_min#

energy_window_min: float | None = None

The minimum energy of the energy grid used for electronic quantities.

energy_window_max#

energy_window_max: float | None = None

The maximum energy of the energy grid used for electronic quantities.

energy_window_num#

energy_window_num: PositiveInt | None = None

The number of energy points in the energy grid used for electronic quantities.

Either energy_window_num or energy_window_num_per_rank can be set to determine the total number of energy points.

energy_window_num_per_rank#

energy_window_num_per_rank: PositiveInt | None = None

The number of energy points per rank in the energy grid used for electronic quantities.

Either energy_window_num or energy_window_num_per_rank) can be set to determine the total number of energy points.

flatband#

flatband: bool | None = None

Whether the system is in flatband conditions.

If not set, it is automatically determined from the left and right Fermi levels. If the Fermi levels are equal, it is assumed to be in flatband conditions.

dos_peak_limit#

dos_peak_limit: PositiveFloat = 100.0

The maximum derivative of the density of states (DOS) with respect to energy.

At energy points where the DOS derivative exceeds this value, the electronic quantities are set to zero to stabilize the convergence of the SCBA iterations.

This is especially a problem during the first few SCBA iterations when the self-energies are not yet fully developed and can lead to very sharp features in the DOS.

filtering_iteration_limit#

filtering_iteration_limit: PositiveInt = 1

The maximum number of SCBA iterations during which the DOS peak filtering is applied.

This is because the DOS peak filtering is mainly needed during the first few SCBA iterations when the self-energies are not yet fully developed and can lead to very sharp features in the DOS.

max_batch_size#

max_batch_size: PositiveInt | None = None

The maximum number of energies to batch together in the solution of the electronic subsystem.

This controls how many energies are treated together when computing boundary conditions and electron Green's functions. If not set, all energies are computed at once.

This can help mitigate memory bottlenecks.