kwant.plotter.interpolate_density

kwant.plotter.interpolate_density(syst, density, relwidth=None, abswidth=None, n=9, mask=True)[source]

Interpolate density in a system onto a regular grid.

The system sites together with a scalar for each site defines a “discrete” density field where the density is non-zero only at the site positions.

To make this vector field easier to visualize and interpret at different length scales, it is smoothed by convoluting it with the bell-shaped bump function f(r) = max(1 - (2*r / width)**2, 0)**2. The bump width is determined by the relwidth and abswidth parameters.

This routine samples the smoothed field on a regular (square or cubic) grid.

Parameters:

syst : A finalized system

The system on which we are going to calculate the field.

density : 1D array of float

Must contain the intensity on each site in the same order that they appear in syst.sites.

relwidth : float, optional

Relative width of the bumps used to smooth the field, as a fraction of the length of the longest side of the bounding box. This argument is only used if abswidth is not given.

abswidth : float, optional

Absolute width of the bumps used to smooth the field. Takes precedence over relwidth. If neither is given, the bump width is set to four times the length of the shortest hopping.

n : int

Number of points the grid must have over the width of the bump.

mask : Bool

If True, this function returns a masked array that masks positions that are too far away from any sites. This is useful for showing an approximate outline of the system when the field is plotted.

Returns:

field : n-d arraylike of float

n-d array of n-d vectors.

box : sequence of 2-sequences of float

the extents of field: ((x0, x1), (y0, y1), …)

Previous topic

kwant.plotter.interpolate_current

Next topic

kwant.plotter.sys_leads_sites

This Page