Favago Transport Programming Interface

Introduction

Interfaces

root/

root/utils

Data structures

Examples







Ribbon

  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

Returns an interface to perform transport calculations on a finite ribbon.

Syntax

interface = Ribbon(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.
  • filenameIn

    Input filename for the xml input structure.
  • filenameOut

    Output filename for the xml input structure.
  • E

    The energy used in the calculations.
  • EF

    The Fermi energy in eV.
  • phi

    A vector of pair potential phases in the left (1st) and right (2nd) superconductor
  • silent

    Set true for suppress the displaying of the output messages.
  • PNpotential

    The height of the pn potential across the ribbon.
  • PNeta

    The width of the pn potential step in units of the total width of the ribbon. ($$0 less PNeta less 1$$)

Attributes

  • WS

    An instance of class handle ws_Ribbon.
  • Opt

    An instance of the structure Opt
  • param

    An instance of the structure param
  • G

    The Greens function of the scattering region.

Methods

Ribbon::Transport

Calculates the conductance of a finite ribbon connected to the leads in the "contact/scattering center/contact" arrangement. Use for development purpose only.

Syntax

[Conductivity,aspect_ratio,Conductance,ny,DeltaC] = interface.Transport(Energy)

Parameters
Energy The energy to be used in the calculations.

Return
Conductivity The calculated conductivity ($$Conductivity = Conductance/aspect_ratio$$).
aspect_ratio The aspect_ratio of the scattering region ($$aspect_ratio = width/height$$).
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.






Ribbon::CreateScatter

Creates an instance of the interface CreateHamiltoninans for the scattering region.

Syntax

interface.CreateScatter()







Ribbon::ShiftLeads

Shifts the on-site potential in the leads.

Syntax

interface.ShiftLeads( Energy )

Parameters
Energy The energy to shift the on-site potential in the leads.






Ribbon::setEnergy

Sets the energy to be used in the calculations.

Syntax

interface.setEnergy( Energy )

Parameters
Energy The energy to be used in the calculations.






Ribbon::CustomDysonFunc

Custom Dyson function for connecting the leads to the scattering region in the "contact/scattering center/contact" arrangement.

Syntax

Gret = interface.CustomDysonFunc( varargin )

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

    The inverse of the Greens function of the scattering region. For default the inverse of the attribute G is used.
  • constant_channels

    Logical value. Set true (default) to keep constatnt the number of the open channels for each energy value, or false otherwise.

Return
Gret The calculated Greens function.






Ribbon::CalcFiniteGreensFunction

Calculates the surface Greens function of a finite ribbon. The calculated Greens function is stored in the G attribute.

Syntax

interface.CalcFiniteGreensFunction( varargin )

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

    Logical value. Set true to perform gauge transformation on the Green's function and on the Hamiltonians.






Ribbon::CreateRibbon

Creates an instance of the interface Surface_Green_function describing the unit cell in the ribbon. The created interface is stored in the attribute ws_ribbon.Surface_tmp. On hexagonal lattice a list ws_ribbon.Surface_interface containing of instances of Surface_Green_function is also created. The members of the list are to be used as the interface regions between the leads and the scattering region.

Syntax

interface.CreateRibbon( vavargin )

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

    Logical value. Set true to create the Hamiltonian of the unit cell without performing any further calculations.






Ribbon::ApplyMagneticField

Applies the magnetic filed in the Hamiltonian of the unit cell.

Syntax

interface.ApplyMagneticField()







Ribbon::DecimateInterface

Decimates the Hamiltonians of the interface regions stored in ws_ribbon.Surface_interface (needed in hexagonal lattice).

Syntax

interface.DecimateInterface( idx )

Parameters
idx The ordinal number of the instance of the interface Surface_Green_function in the list ws_ribbon.Surface_interface.






Ribbon::setHandlesForMagneticField

Sets the function handles of the vector potentials and gauge fields for applying the magnetic field in the Hamiltonians.

Syntax

interface.setHandlesForMagneticField( varargin )

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

    Function handle of the vector potential to be used in the scattering region.
  • lead

    Function handle of the vector potential to be used in the leads.
  • gauge_field

    Function handle of the gauge transformation.






Ribbon::AddPNPotential

Adds the p-n potential to the ribbon Hamiltonian.

Syntax

interface.AddPNPotential( Surface_tmp )

Parameters
Surface_tmp An instance of interface Surface_Green_function.







Ribbon::createPNpotential

Creates the p-n potential to be applied in the Hamiltonians.

Syntax

pot = interface.createPNpotential()

Return
pot The vector of the created p-n potential on each site in the cross section.






Ribbon::DecimationFunction

Performs the decimation procedure on the inverse Green's Function.

Syntax

ret = interface.DecimationFunction( kulso_szabfokok, ginv )

Parameters
kulso-szabfokok The vector of the sites to be kept after the decimation.
ginv The matrix of the inverse Greens function to be decimated.

Return
ret The matrix of the decimated inverse Greens function.






Ribbon::GetWorkspace

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

Syntax

interface.GetWorkspace( )

Return
ret An instance of handle class ws_ribbon.