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), …)