plot_2d_bands(syst, k_x=31, k_y=31, params=None, mask_brillouin_zone=False, extend_bbox=0, file=None, show=True, dpi=None, fig_size=None, ax=None)¶
Plot 2D band structure of a wrapped around system.
This function is primarily useful for systems that have translational symmetry vectors that are non-orthogonal (e.g. graphene). This function will properly plot the band structure in an orthonormal basis in k-space, as opposed to in the basis of reciprocal lattice vectors (which would produce a “skewed” Brillouin zone).
If your system has orthogonal lattice vectors, you are probably better
kwant.system.FiniteSystem) – A 2D system that was finalized from a Builder produced by
kwant.wraparound.wraparound. Note that this must be a finite
kwant.wraparound.wraparound should have been called with
k_x (int or sequence of float, default: 31) – Either a number of sampling points, or a sequence of points at which the band structure is to be evaluated, in units of inverse length.
k_y (int or sequence of float, default: 31) – Either a number of sampling points, or a sequence of points at which the band structure is to be evaluated, in units of inverse length.
params (dict, optional) – Dictionary of parameter names and their values, not including the momentum parameters.
mask_brillouin_zone (bool, default: False) – If True, then the band structure will only be plotted over the first Brillouin zone. By default the band structure is plotted over a rectangular bounding box that contains the Brillouin zone.
extend_bbox (float, default: 0) – Amount by which to extend the region over which the band structure is
plotted, expressed as a proportion of the Brillouin zone bounding box
extend_bbox=0.1 will extend the region by 10% (in all
file (string or file object, optional) – The output file. If None, output will be shown instead.
show (bool, default: False) – Whether
matplotlib.pyplot.show() is to be called, and the output is
to be shown immediately. Defaults to True.
dpi (float, optional) – Number of pixels per inch. If not set the
matplotlib default is
fig_size (tuple, optional) – Figure size (width, height) in inches. If not set, the default
matplotlib value is used.
matplotlib.axes.Axes instance, optional) – If ax is not None, no new figure is created, but the plot is done
within the existing Axes ax. in this case, file, show, dpi
and fig_size are ignored.
fig – A figure with the output if ax is not set, else None.
This function produces plots where the units of momentum are inverse
length. This is contrary to
kwant.plotter.bands, where the units
of momentum are inverse lattice constant.
If the lattice vectors for the symmetry of
syst are not orthogonal,
then part of the plotted band structure will be outside the first Brillouin
zone (inside the bounding box of the brillouin zone). Setting
mask_brillouin_zone=True will cause the plot to be truncated outside of
the first Brillouin zone.