kwant.wraparound.
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)[source]¶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
off using kwant.plotter.spectrum
.
kwant.system.FiniteSystem
A 2D system that was finalized from a Builder produced by
kwant.wraparound.wraparound
. Note that this must be a finite
system; so kwant.wraparound.wraparound
should have been called with
keep=None
.
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.
Dictionary of parameter names and their values, not including the momentum parameters.
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.
Amount by which to extend the region over which the band structure is
plotted, expressed as a proportion of the Brillouin zone bounding box
length. i.e. extend_bbox=0.1
will extend the region by 10% (in all
directions).
The output file. If None, output will be shown instead.
Whether matplotlib.pyplot.show()
is to be called, and the output is
to be shown immediately. Defaults to True.
Number of pixels per inch. If not set the matplotlib
default is
used.
Figure size (width, height) in inches. If not set, the default
matplotlib
value is used.
matplotlib.axes.Axes
instance, optionalIf 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.
A figure with the output if ax is not set, else None.
See also
Notes
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.