antidot

  Copyright (C) 2009-2015 Peter Rakyta, Ph.D.
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see http://www.gnu.org/licenses/.

Description

An object to perform transport calculations on a graphene antidot (i.e., a hollow in a ribbon).

Usage Examples

Class references

Syntax

object = antidot(varargin)

Parameters
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • width

    Integer. Gives the number of the atomic sites in the cross section of the ribbon.
  • height

    Integer. Gives the height of the ribbon in units of the lattice vector.
  • B

    The strength of the magnetic field in the units of Tesla.
  • hole

    An instance of structure hole.
  • scatterers

    An instance of structure scatterers.
  • radius

    The radius of the hole in units of lattice constant. (Obsolete)
  • filenameIn

    Input filename for the xml input structure.
  • filenameOut

    Output filename for the xml input structure.
  • transversepotential

    A function handle $$pot=f( coordinates )$$ to calculate the transverse potential in the cross section of the ribbon.
  • silent

    Set true for suppress the displaying of the output messages.

Attributes (protected)

  • a1

    A lattice vector in the hexagonal lattice.
  • a2

    A lattice vector in the hexagonal lattice.
  • ribbon

    An instance of the interface Ribbon.
  • gfin

    The Greens function of the scattering region.
  • gfininv

    The inverse of the Greens function of the scattering region.
  • waveFncDirnameFull

    Directory name to export the plotted wave functions.
  • waveFncSubDirname

    The name of the subdirectory to export the plotted wave functions.

Attributes (public)

  • hole

    An instance of structure hole
  • scatterers

    an instance of structures scatterers.
  • B

    The strength of the magnetic field in Tesla.
  • coordinates

    An instance of structure coordinates
  • antidot_edge_points

    the sites at the edge of the antidot.
  • flux_of_hole

    flux in the hole in units of \phi_0.

Methods

antidot::Transport

Calculates the conductance of an antidot connected to the leads in the "contact/scattering center/contact" arrangement.

Syntax

[Conductance,ny,DeltaC] = object.Transport(Energy)

Parameters
Energy The energy to be used in the calculations.

Return
Conductance The calculated conductance in the units of $$2h/e$$.
ny The number of the open channels in the leads.
DeltaC The standard deviation of the calculated transmission probabilities.



antidot::CalcWavefnc

Calculates the energies and wave functions of the bound states for antidot and dot systems.

Syntax

ret = object.CalcWavefnc(Energy, closefigure, varargin)

Parameters
Energy The energy to be used in the calculations.
closefigure If true, the created figure is closed at the end of the calculations.
varargin Optional parameters given by a sequance ...'name', value,... . Possible parameters are the following:
  • toPlot

    Set true (default) for plotting the wave function, or false otherwise.
  • Einhomegac

    Set true if the Energy is given in units of $$\hbar\omega_c$$, or false (default) otherwise.
  • filterHole

    Set true (default) for separating antidot bound states from the edge states, or false otherwise.
  • db

    The number of the calculated energy eigenvalues. Default is $$db=30$$.
  • infinitemass

    Set true for using the infinite mass boundary condition, or false (default) otherwise.
  • dotCalc

    Set true for a dot, or false (default) otherwise.
  • delta

    Every $$db$$th point of the wave function becomes plotted. Default is $$db=4$$.
  • smoothedge

    Set true for using a smooth edge in the calculations, or false (default) otherwise.

Return
ret A structure containing the calculated results. The fields of the structure are the following:
  • eigvals

    The list of the calculated energy eigenvalues.
  • eigvecs

    The list of the calculated wave functions.
  • xcoords

    The meshgrid of the $$x$$ coordinates.
  • ycoords

    The meshgrid of the $$y$$ coordinates.



antidot::create_hole_Hamiltonian

Creates the Hamiltonian for the antidot/dot.

Syntax

[Hscatter, wavefunction_indexes] = object.create_hole_Hamiltonian( varargin )

Parameters
varargin Optional parameters given by a sequance ...'name', value,... . Possible parameters are the following:
  • infinitemass

    Set true for using the infinite mass boundary condition, or false (default) otherwise.
  • dotCalc

    Set true for a dot, or false (default) otherwise.
  • smoothedge

    Set true for using a smooth edge in the calculations, or false (default) otherwise.

Return
Hscatter The matrix representation of the created Hamiltonian.
wavefunction_indexes The list of the sites included in the antidot/dot system.



antidot::CreateHandlesForMagneticField

Creates function handles of the vector potentials and apply the magnetic filed in the ribbon Hamiltonians.

Syntax

object.CreateHandlesForMagneticField()




antidot::getHolePoints

Determines the sites that should be cut off from the ribbon in order to create the hole. The hole_edge_points attribute hole_edge_points is also set to the calculated output.

Syntax

hole_edge_points = object.getHolePoints()

Return
hole_edge_points A matrix with culomns $$z$$ (slab index), $$zpoints_min$$, $$zpoints_max$$ (lower and upper bounds of the sites in the slab $$z$$).



antidot::create_scatter_GreensFunction

Calculates the surface Greens function of the antidot. Sets the attributes gfin and gfininv to the calculated results.

Syntax

object.create_scatter_GreensFunction()




antidot::GetWorkspace

Return a class handle ws_antidot of the workspace of the interface antidot. Changes in fields of the workspace are not always safe, since the reinitialization of the interface is not performed.

Syntax

object.GetWorkspace( )

Return
ret An instance of class handle ws_antidot.