leads

Lead interface for scattering models

The only way to create leads is using the Model.attach_lead() method. The classes represented here are the final product of that process, listed in Model.leads.

Classes

Lead(impl, index, lattice)

Describes a single lead connected to a Model

Leads(impl, lattice)

Functions

_center(pos, shift)

Return the 2D center position of pos + shift

class Lead(impl: Lead, index: int, lattice: Lattice)

Describes a single lead connected to a Model

Leads can only be created using Model.attach_lead() and accessed using Model.leads.

calc_bands(start: float = -3.141592653589793, end: float = 3.141592653589793, step: float = 0.05) Bands

Calculate the band structure of an infinite lead

Parameters:
start, endfloat

Points in reciprocal space which form the path for the band calculation.

stepfloat

Calculation step length in reciprocal space units. Lower step values will return more detailed results.

Returns:
Bands
plot(lead_length: int = 6, ax: Axes | None = None, **kwargs) None

Plot the sites, hoppings and periodic boundaries of the lead

Parameters:
lead_lengthint

Number of times to repeat the lead’s periodic boundaries.

axOptional[plt.Axes]

The axis to plot on.

**kwargs

Additional plot arguments as specified in structure_plot_properties().

plot_bands(start: float = -3.141592653589793, end: float = 3.141592653589793, step: float = 0.05, **kwargs) None

Plot the band structure of an infinite lead

Parameters:
start, endfloat

Points in reciprocal space which form the path for the band calculation.

stepfloat

Calculation step length in reciprocal space units. Lower step values will return more detailed results.

**kwargs

Forwarded to Bands.plot().

plot_contact(line_width: float = 1.6, arrow_length: float = 0.5, shade_width: float = 0.3, shade_color: str = '#d40a0c', ax: Axes | None = None) None

Plot the shape and direction of the lead contact region

Parameters:
line_widthfloat

Width of the line representing the lead contact.

arrow_lengthfloat

Size of the direction arrow as a fraction of the contact line length.

shade_widthfloat

Width of the shaded area as a fraction of the arrow length.

shade_colorstr

Color of the shaded area.

axOptional[plt.Axes]

The axis to plot the contact.

property h0: csr_matrix

Unit cell Hamiltonian as csr_matrix

property h1: csr_matrix

Hamiltonian which connects who unit cells, csr_matrix

property indices: ndarray

Main system indices (1d array) to which this lead is connected

property system: System

Structural information, see System