Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
antidot Class Reference

A class to perform transport calculations on a graphene antidot (i.e., a hollow in a ribbon). Obsolete class, for real calculations a creation of a new class is recommended. More...

Inheritance diagram for antidot:
Inheritance graph
[legend]

Public Member Functions

function antidot (varargin)
 Constructor of the class. More...
 
function ApplyPotentialInScatter (CreateH, scatterPotential)
 Applies the potential in the scattering region. More...
 
function CalcFiniteGreensFunction (varargin)
 Calculates the Green operator of the scattering region by the fast way (see PRB 90, 125428 (2014)). More...
 
function CalcFiniteGreensFunctionFromHamiltonian (varargin)
 transforming the Hamiltonians by SVD if necessary More...
 
function CalcSpectralFunction (Energy, varargin)
 Calculates the spectral density and the Green operator. More...
 
function CalcWavefnc (Energy, closefigure, varargin)
 Calculates the energies and wave functions of the bound states. More...
 
function create_hole_Hamiltonian (varargin)
 Creates the Hamiltonian for the antidot/dot. More...
 
function create_scatter_GreensFunction ()
 Calculates the surface Greens function of the antidot. Sets the attributes #gfin and #gfininv to the calculated results. More...
 
function CreateClone ()
 Hamiltoninans of the interface region. More...
 
function CreateHandlesForMagneticField ()
 Creates function handles of the vector potentials and apply the magnetic filed in the ribbon Hamiltonians. More...
 
function CreateInterface (idx, varargin)
 Trukkos sajatertek. More...
 
function CreateInterface (idx)
 Creates the Hamiltonians for the interface regions between the leads and scattering center. More...
 
function CreateRibbon (varargin)
 apply magnetic field in scatter for finite q More...
 
function CreateScatter ()
 Initializes class CreateHamiltonians for storing and manipulate the Hamiltonian of the the scattering region. The created object is stored in attribute CreateH. More...
 
function CustomDysonFunc (varargin)
 Custom Dyson function for a two terminal arrangement on a two dimensional lattice. More...
 
function DecimationFunction (kulso_szabfokok, ginv, varargin)
 calculate the inverse Greens function More...
 
function diagInv (A)
 Calculates the diagonal part of the inverse of a sparse matrix. More...
 
function display (message, nosilent)
 Displays output messages on the screen. More...
 
function eig (A, B)
 Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions. More...
 
function getCoordinates ()
 Gets the coordinates of the central region. More...
 
function getEnergy ()
 Retrives the energy value (attribute E) used in the calculations. More...
 
function getFermiEnergy ()
 Retrives the Fermi level (attribute EF) used in the calculations. More...
 
function GetFiniteGreensFunction ()
 Query fo the calculated Green operator of the scattering center. More...
 
function getHolePoints ()
 Determines the sites that should be cut off from the ribbon in order to create the hole. More...
 
function getOpt ()
 Retrives the structure containing the calculation parameters. More...
 
function getParam ()
 Retrives a copy of the structure param used in the current calculations. More...
 
function getProgramName ()
 Gets the name of the package. More...
 
function getProgramShortName ()
 Gets the short name of the package. More...
 
function getTransverseMomentum ()
 Retrives the value of the transverse momentum quantum number. More...
 
function getVersion ()
 Gets the current version of the package. More...
 
function IsDeployedMKL ()
 Checks whether the MKL component is deployed. More...
 
function partialInv (A, sizeInv)
 Calculates a partial inverse of a sparse matrix. More...
 
function setEnergy (Energy)
 Sets the energy for the calculations. More...
 
function setHandlesForMagneticField (varargin)
 Sets the function handles of the vector potential and gauge transformation. More...
 
function setInterfaceRegions (Interface_Regions)
 Replaces the attribute Interface_Region with the given value. More...
 
function setParam (param)
 cloning the individual attributes More...
 
function ShiftCoordinates (shift)
 Shifts the coordinates of the sites in the ribbon by an integer multiple of the lattice vector. More...
 
function Transport (Energy, varargin)
 Calculates the transport through the two terminal setup on two dimensional lattices. More...
 
function Transport (Energy)
 Calculates the conductance of an antidot connected to the leads in the "contact/scattering center/contact" arrangement. More...
 
function xmlread (filename)
 Function to load XML files (based on xerces libraries), providing octave compatibility. More...
 
function xmlwrite (filename, DOM)
 Function to export XML files (based on xerces libraries), providing octave compatibility. More...
 

Static Public Member Functions

static function BadInputType (variable, type)
 Throws a "bad input type" warning, with using the default value. More...
 
static function BadInputTypeNoDefault (variable, type)
 Throws a "bad input type" warning without setting it to default. More...
 
static function checkMEXfile (fncname)
 Checks the presence of a given MEX file. More...
 
static function ExceedIteration ()
 Throws an "iteration exceeded" warning. More...
 
static function inv_SVD (A)
 Inverts badly conditioned matrix A with SVD regularization. More...
 
static function isOctave ()
 Checks whether the running environment is matlab or octave. More...
 
static function SimphsonInt (y, h)
 Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h. More...
 

Public Attributes

Property antidot_edge_points
 the sites at the edge of the antidot More...
 
Property B
 The strength of the magnetic field in Tesla. More...
 
Property cCustom_Hamiltonians
 An instance of class Custom_Hamiltonians to load the Hamiltonians from external source. More...
 
Property coordinates
 an instance of structure structures More...
 
Property CreateH
 An instance of class CreateHamiltonians or its subclass to manipulate the Hamiltonian of the scattering region. More...
 
Property filenameIn
 Input filename containing the computational parameters. (Obsolete) More...
 
Property filenameOut
 Output filename to export the computational parameters. More...
 
Property FL_handles
 An instance of class Transport_Interface (or its subclass) for transport calculations. More...
 
Property flux_of_hole
 flux in the hole in units of \phi_0 More...
 
Property gauge_field
 Function handle S = f( x,y) of the gauge transformation in the scattering center. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.) More...
 
Property h
 Planck contant. More...
 
Property height
 height (length) of the scattering region (number of unit cells) More...
 
Property hole
 An instance of structure hole. More...
 
Property Interface_Regions
 A cell array of classes InterfaceRegion to describe the interface region between the leads and the scattering region. More...
 
Property interfacemodel
 function handle for individual physical model of the interface regions More...
 
Property leadmodel
 function handle for individual physical model of the leads More...
 
Property PeierlsTransform_Leads
 An instance of class Peierls object to describe the peirls substitution in the leads. More...
 
Property PeierlsTransform_Scatter
 An instance of class Peierls object to describe the peirls substitution in the scattering region. More...
 
Property qe
 The charge of the electron. More...
 
Property rCC
 atom-atom distance More...
 
Property Scatter_UC
 An instance of class Lead (or its subclass) describing the unit cell of the scattering region. More...
 
Property scatterers
 an instance of structures scatterers More...
 
Property shift
 the shift of the coordinates of the sites (two component vector) More...
 
Property silent
 if true, no output messages are print More...
 
Property transversepotential
 A function handle pot = f( #coordinates ) or pot=f( CreateLeadHamiltonians, Energy) of the transverse potential applied in the lead. (Instead of CreateLeadHamiltonians can be used its derived class) More...
 
Property width
 width of the scattering region (number of the nonsingular atomic sites in the cross section) More...
 
Property WorkingDir
 A string of the working directory. More...
 

Protected Member Functions

function ApplyTransversePotential (Scatter_UC)
 applying transverse potential More...
 
function calculate_lead_attach_points ()
 Determines the site indexes at which the leads are connected to the scattering center. More...
 
function CreateHandles ()
 Initializes the attributes of the class. More...
 
function CreateNTerminalHamiltonians ()
 calculating the potential if the scattering potential has one input arguments obtaining coordinates of the scattering region More...
 
function createShape ()
 Creates the geometry data of the ribbon shaped scattering region. More...
 
function createSurface_sc (idx)
 Creates the copuling Hamiltonians between the scattering and interface region. More...
 
function createVectorPotential (B)
 creates handle for vector potential More...
 
function generate_geometry ()
 creates geometry data of the hole in the ribbon More...
 
function InputParsing (varargin)
 Parses the optional parameters for the class constructor. More...
 
function setFermiEnergy ()
 Sets the Fermi energy on the atomic sites for the calculations (use the same units as the elements of the Hamiltonian). More...
 

Protected Attributes

Property a1
 A lattice vector in the hexagonal lattice. More...
 
Property a2
 A lattice vector in the hexagonal lattice. More...
 
Property CustomHamiltoniansHandle
 Function handle to create custom Hamiltonians. Has the same inputs ans outputs as Custom_Hamiltonians.LoadHamiltonians. More...
 
Property DeployedMKL
 True if MKL component is built, false otherwise. More...
 
Property E
 The energy used in the calculations. More...
 
Property EF
 The Fermi energy. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit.) More...
 
Property G
 Green operator of the scattering region. More...
 
Property Ginv
 The inverse of the Green operator G. More...
 
Property MaxSize
 Maximal size of full matrixes to be handled. More...
 
Property Opt
 An instance of structure Opt. More...
 
Property param
 An instance of strucutre param. More...
 
Property ProgramName
 Name of the package. More...
 
Property ProgramShortName
 Short name of the package. More...
 
Property q
 The transverse momentum quantum number. More...
 
Property version
 The current version of the package. More...
 
Property waveFncDirnameFull
 Directory name to export the plotted wave functions. More...
 
Property waveFncSubDirname
 The name of the subdirectory to export the plotted wave functions. More...
 

Private Member Functions

function convert_site_indexes ()
 the first two and last two slabs are added manualy at the end More...
 

Detailed Description

A class to perform transport calculations on a graphene antidot (i.e., a hollow in a ribbon). Obsolete class, for real calculations a creation of a new class is recommended.

Definition at line 24 of file antidot.m.

Constructor & Destructor Documentation

◆ antidot()

function antidot::antidot ( varargin  )

Constructor of the class.

Parameters
OptAn instance of the structure Opt.
interpqAn array of transverse momentum points at which fhandle is calculated via interpolation.
vararginCell array of optional parameters. For details see InputParsing.
Returns
An instance of the class

Member Function Documentation

◆ ApplyPotentialInScatter()

function NTerminal::ApplyPotentialInScatter ( CreateH  ,
scatterPotential   
)
inherited

Applies the potential in the scattering region.

Parameters
CreateHAn instance of class CreateHamiltonians containing the Hamiltonian of the scattering center.
scatterPotentialA function handle pot=f( coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true).

◆ ApplyTransversePotential()

function Ribbon::ApplyTransversePotential ( Scatter_UC  )
protectedinherited

applying transverse potential

applying magnetic field In superconducting lead one must not include nonzero magnetic field. Hamiltonians in transverse computations must remain traslational invariant. Apply the tranvesre potential in the Hamiltonians

Parameters
Scatter_UCAn instance of class Lead containing the Hamiltonians.

◆ BadInputType()

static function Messages::BadInputType ( variable  ,
type   
)
staticinherited

Throws a "bad input type" warning, with using the default value.

Parameters
variableA string conatining the name of the variable.
typeA string describing the desired type.

◆ BadInputTypeNoDefault()

static function Messages::BadInputTypeNoDefault ( variable  ,
type   
)
staticinherited

Throws a "bad input type" warning without setting it to default.

Parameters
variableA string conatining the name of the variable.
typeA string describing the desired type.

◆ CalcFiniteGreensFunction()

function Ribbon::CalcFiniteGreensFunction ( varargin  )
inherited

Calculates the Green operator of the scattering region by the fast way (see PRB 90, 125428 (2014)).

Parameters
vararginCell array of optional parameters identical to NTerminal.CalcFiniteGreensFunction.

◆ CalcFiniteGreensFunctionFromHamiltonian()

function Ribbon::CalcFiniteGreensFunctionFromHamiltonian ( varargin  )
inherited

transforming the Hamiltonians by SVD if necessary

the first two and last two slabs are added manualy at the end adding to the scattering region the first set of transition layers terminate the scattering region by the first and last slabs and transform back to the normal space from the SVD representation adding the first and last slab to gauge transformation of the vector potential in the effective Hamiltonians gauge transformation on the inverse Green's function Calculates the Green operator of the scattering region from the whole Hamiltonian.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'gauge_trans'Logical value. Set true to perform gauge transformation on the Green operator and on the Hamiltonians.
'onlyGinv'Logical value. Set true to calculate only the inverse of the surface Greens function Ginv, or false (default) to calculate G as well. In the latter case the attribute Ginv is set to empty at the end.
'PotInScatter'Obsolete parameter. Use 'scatterPotential' instead.
'scatterPotential'A function handle pot=f( coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true).

◆ CalcSpectralFunction()

function NTerminal::CalcSpectralFunction ( Energy  ,
varargin   
)
inherited

Calculates the spectral density and the Green operator.

Parameters
EnergyThe energy value.
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'constant_channels'Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise.
'gfininvfromHamiltonian'Logical value. Set true calculate the surface Greens function of the scattering region from the Hamiltonaian of the scattering region, or false (default) to calculate it by the fast way (see Phys. Rev. B 90, 125428 (2014) for details).
'decimateDyson'Logical value. Set true (default) to decimate the sites of the scattering region in the Dyson equation.
'PotInScatter'Obsolete parameter. Use 'scatterPotential' instead.
'scatterPotential'A function handle pot=f( coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true).
'selfEnergy'Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead.
Returns
[1] The spectral density.
[2] The Green operator.

◆ calculate_lead_attach_points()

function Ribbon::calculate_lead_attach_points ( )
protectedinherited

Determines the site indexes at which the leads are connected to the scattering center.

◆ CalcWavefnc()

function antidot::CalcWavefnc ( Energy  ,
closefigure  ,
varargin   
)

Calculates the energies and wave functions of the bound states.

Parameters
EnergyThe energy value.
closefigureIf true, the created figure is closed at the end of the calculations.
vararginCell array of optional parameters:
'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 delta-th point of the wave function becomes plotted. Default is delta=4.
'smoothedge'Set true for using a smooth edge in the calculations, or false (default) otherwise.
Returns
ret A structure containing the calculated results.

◆ checkMEXfile()

static function CommonFunctions::checkMEXfile ( fncname  )
staticinherited

Checks the presence of a given MEX file.

Parameters
fncnameThe name of the function.
Returns
Returns true if the MEX file is present, false otherwise.

◆ convert_site_indexes()

function antidot::convert_site_indexes ( )
private

the first two and last two slabs are added manualy at the end

Converets site indexes into coordinates

◆ create_hole_Hamiltonian()

function antidot::create_hole_Hamiltonian ( varargin  )

Creates the Hamiltonian for the antidot/dot.

Parameters
vararginCell array of optional parameters:
'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.
Returns
Hscatter The matrix representation of the created Hamiltonian.
wavefunction_indexes The list of the sites included in the antidot/dot system.

◆ create_scatter_GreensFunction()

function antidot::create_scatter_GreensFunction ( )

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

◆ CreateClone()

function Ribbon::CreateClone ( )
inherited

Hamiltoninans of the interface region.

coupling between the interface and the scattering region Creates a clone of the present object.

Returns
Returns with the cloned object.

◆ CreateHandles()

function Ribbon::CreateHandles ( )
protectedinherited

Initializes the attributes of the class.

◆ CreateHandlesForMagneticField()

function antidot::CreateHandlesForMagneticField ( )

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

◆ CreateInterface() [1/2]

function Ribbon::CreateInterface ( idx  ,
varargin   
)
inherited

Trukkos sajatertek.

group velocity Creates the Hamiltonians for the interface regions between the leads and scattering center.

Parameters
idxIdentification number of the interface region.
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'UseHamiltonian'Logical value. Set true if the interface region should be created to match to the whole Hamiltonian of the scattering center, false (default) if only the surface Green operator of the scattering center is used in the calculations.

◆ CreateInterface() [2/2]

function NTerminal::CreateInterface ( idx  )
inherited

Creates the Hamiltonians for the interface regions between the leads and scattering center.

Parameters
idxIdentification number of the interface region.

◆ CreateNTerminalHamiltonians()

function NTerminal::CreateNTerminalHamiltonians ( )
protectedinherited

calculating the potential if the scattering potential has one input arguments obtaining coordinates of the scattering region

calculating the potential from the coordinates calculating the potential if the scattering potential has two input arguments obtaining coordinates of the scattering region that might have been changed inside the scatterPotential function Extracts the Hamiltonians from the external source.

◆ CreateRibbon()

function Ribbon::CreateRibbon ( varargin  )
inherited

apply magnetic field in scatter for finite q

apply custom potential in the scattering center gauge transformation of the vector potential in the effective Hamiltonians gauge transformation on the inverse Green's function Creates the Hamiltonians for the ribbon shaped scattering region.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'justHamiltonians'Logical value. Set true to create the Hamiltonian of the unit cell without performing any further calculations. (default value is 'false')

◆ CreateScatter()

function Ribbon::CreateScatter ( )
inherited

Initializes class CreateHamiltonians for storing and manipulate the Hamiltonian of the the scattering region. The created object is stored in attribute CreateH.

◆ createShape()

function Ribbon::createShape ( )
protectedinherited

Creates the geometry data of the ribbon shaped scattering region.

◆ createSurface_sc()

function Ribbon::createSurface_sc ( idx  )
protectedinherited

Creates the copuling Hamiltonians between the scattering and interface region.

Parameters
idxThe identification number of the interface region. (Integer value.)
Returns
An instance of class Lead describing the copuling between the scattering and interface region

◆ createVectorPotential()

function antidot::createVectorPotential ( B  )
protected

creates handle for vector potential

◆ CustomDysonFunc()

function Ribbon::CustomDysonFunc ( varargin  )
inherited

Custom Dyson function for a two terminal arrangement on a two dimensional lattice.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'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 constant the number of the open channels in the leads for each energy value, or false otherwise.
'onlyGinverz'Logical value. Set true to calculate only the inverse of the total Green operator, or false (default) to calculate G as well.
'recalculateSurface'A vector of the identification numbers of the lead surfaces to be recalculated.
'decimate'Logical value. Set true (default) to eliminate all inner sites in the Greens function and keep only the selected sites. Set false to omit the decimation procedure.
'kulso_szabfokok'Array of sites to be kept after the decimation procedure. (Use parameter 'keep_sites' instead)
'selfEnergy'Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead.
'keep_sites'Name of sites to be kept in the resulted Green function (Possible values are: 'scatter', 'interface', 'lead').
'UseHamiltonian'Set true if the interface region is matched to the whole Hamiltonian of the scattering center, or false (default) if the surface Green operator of the scattering center is used in the calculations.
Returns
[1] The calculated Greens function.
[2] The inverse of the Green operator.
[3] An instance of structure junction_sites describing the sites in the calculated Green operator.

◆ DecimationFunction()

function NTerminal::DecimationFunction ( kulso_szabfokok  ,
ginv  ,
varargin   
)
inherited

calculate the inverse Greens function

getting dimensions Performs the decimation procedure on the inverse Green operator.

Parameters
kulso_szabfokokArray of sites to be kept after the decimation.
ginvThe inverse of the Green operator.
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'coordinates'An instance of the structure coordinates containing the coordinates of the sites.
Returns
[1] The matrix of the decimated inverse Greens operator.
[2] An instance of structure coordinates containing the sites remained after the decimation.

◆ diagInv()

function CommonFunctions::diagInv ( )
inherited

Calculates the diagonal part of the inverse of a sparse matrix.

If MKL component is advised to build.

Parameters
AA sparse matrix to be inverted
Returns
Returns the diagonal elements of the inverse

◆ display()

function Messages::display ( message  ,
nosilent   
)
inherited

Displays output messages on the screen.

Parameters
messageString containing the message to be displayed
nosilentSet true to override the silent option given in Opt.Silent.

◆ eig()

function CommonFunctions::eig ( ,
 
)
inherited

Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions.

Parameters
AA square matrix on the left side.
BA square matrix on the right side.
Returns
Returns the calculated generalized eigenvalues and the right and left sided eigenvectors.

◆ ExceedIteration()

static function Messages::ExceedIteration ( )
staticinherited

Throws an "iteration exceeded" warning.

◆ generate_geometry()

function antidot::generate_geometry ( )
protected

creates geometry data of the hole in the ribbon

◆ getCoordinates()

function Ribbon::getCoordinates ( )
inherited

Gets the coordinates of the central region.

Returns
[1] Coordinates of the central region.
[2] Coordinates of the interface region.

◆ getEnergy()

function NTerminal::getEnergy ( )
inherited

Retrives the energy value (attribute E) used in the calculations.

Returns
The energy value

◆ getFermiEnergy()

function NTerminal::getFermiEnergy ( )
inherited

Retrives the Fermi level (attribute EF) used in the calculations.

Returns
The Femi level

◆ GetFiniteGreensFunction()

function NTerminal::GetFiniteGreensFunction ( )
inherited

Query fo the calculated Green operator of the scattering center.

Returns
[1] The Green operator.
[2] The inverse Green operator.

◆ getHolePoints()

function antidot::getHolePoints ( )

Determines the sites that should be cut off from the ribbon in order to create the hole.

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

◆ getOpt()

function Messages::getOpt ( )
inherited

Retrives the structure containing the calculation parameters.

Returns
Return an instance of structure Opt.

◆ getParam()

function NTerminal::getParam ( )
inherited

Retrives a copy of the structure param used in the current calculations.

Returns
param An instance of structure param.

◆ getProgramName()

function CommonFunctions::getProgramName ( )
inherited

Gets the name of the package.

Returns
Returns the name of the package.

◆ getProgramShortName()

function CommonFunctions::getProgramShortName ( )
inherited

Gets the short name of the package.

Returns
Returns the short name of the package.

◆ getTransverseMomentum()

function NTerminal::getTransverseMomentum ( )
inherited

Retrives the value of the transverse momentum quantum number.

Returns
q The transverse momentum quantum number.

◆ getVersion()

function CommonFunctions::getVersion ( )
inherited

Gets the current version of the package.

Returns
Returns the current version of the package.

◆ InputParsing()

function antidot::InputParsing ( varargin  )
protected

Parses the optional parameters for the class constructor.

Parameters
vararginCell array of optional parameters:
'width'Integer. The number of the atomic sites in the cross section of the ribbon.
'height'Integer. 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.
'WorkingDir'The absolute path to the working directoy.
'E'The energy value used in the calculations (in the same units as the Hamiltonian).
'EF'The Fermi energy in the same units as the Hamiltonian. (overrides the one comming from the external source)
'silent'Set true for suppress the output messages.
'transversepotential'A function handle pot=f( coordinates coords) to calculate the transverse potential in the cross section of the ribbon.
'leadmodel'A function handle Lead clead=f( idx, E, varargin ) of the alternative lead model with equivalent inputs and return values as class Lead and with E standing for the energy.
'interfacemodel'A function handle f( InterfaceRegion ) to manually adjus the interface regions. (Usefull when 'leadmodel' is also given.)
'Opt'An instance of the structure Opt. (Overrides data in the input file if given)
'param'An instance of the structure param. (Overrides data in the input file if given)
'q'The transverse momentum quantum number.
'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.
'rCC'The atomic distance.

◆ inv_SVD()

static function CommonFunctions::inv_SVD ( )
staticinherited

Inverts badly conditioned matrix A with SVD regularization.

Parameters
AA square matrix to be inverted.
Returns
Returns the calculated inverse.

◆ IsDeployedMKL()

function CommonFunctions::IsDeployedMKL ( )
inherited

Checks whether the MKL component is deployed.

Returns
Returns with true if MKL component is deployed, false otherwise.

◆ isOctave()

static function CommonFunctions::isOctave ( )
staticinherited

Checks whether the running environment is matlab or octave.

Returns
Returns true if running environment is octave, false otherwise.

◆ partialInv()

function CommonFunctions::partialInv ( ,
sizeInv   
)
inherited

Calculates a partial inverse of a sparse matrix.

If MKL component is not developed, the backslash operator is used insted.

Parameters
AA sparse matrix to be inverted
sizeInvThe size of partial inverse to be calculated.
Returns
Returns the calculated partial inverse

◆ setEnergy()

function Ribbon::setEnergy ( Energy  )
inherited

Sets the energy for the calculations.

Parameters
EnergyThe value of the energy in the same units as the Hamiltonian.

◆ setFermiEnergy()

function Ribbon::setFermiEnergy ( )
protectedinherited

Sets the Fermi energy on the atomic sites for the calculations (use the same units as the elements of the Hamiltonian).

◆ setHandlesForMagneticField()

function NTerminal::setHandlesForMagneticField ( varargin  )
inherited

Sets the function handles of the vector potential and gauge transformation.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'scatter'Function handle A = f( x,y) of the vector potential to be used in the scattering region (A is a N x 2 vector, where N is the number of the points given by the x and y coordinates.)
'lead'Function handle A = f( x,y) of the vector potential to be used in the leads. (A is a N x 2 vector, where N is the number of the points given by the x and y coordinates.)
'gauge_field'Function handle S = f( x,y) of the gauge transformation. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.)

◆ setInterfaceRegions()

function NTerminal::setInterfaceRegions ( Interface_Regions  )
inherited

Replaces the attribute Interface_Region with the given value.

Parameters
Interface_RegionsA two component array of classes InterfaceRegion

◆ setParam()

function NTerminal::setParam ( param  )
inherited

cloning the individual attributes

setting the gauge field Sets the structure param in the attributes.

Parameters
paramAn instance of structure param.

◆ ShiftCoordinates()

function Ribbon::ShiftCoordinates ( shift  )
inherited

Shifts the coordinates of the sites in the ribbon by an integer multiple of the lattice vector.

The coordinates of the Leads are automatically adjusted later

Parameters
shiftAn integer value.

◆ SimphsonInt()

static function CommonFunctions::SimphsonInt ( ,
 
)
staticinherited

Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h.

Parameters
yFunction values to be integrated
hIncrement between the x_i points.

◆ Transport() [1/2]

function Ribbon::Transport ( Energy  ,
varargin   
)
inherited

Calculates the transport through the two terminal setup on two dimensional lattices.

Use for development pupose only.

Parameters
EnergyThe energy value.
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'constant_channels'Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise.
'gfininvfromHamiltonian'Logical value. Set true calculate the surface Greens function of the scattering region from the Hamiltonaian of the scattering region, or false (default) to calculate it by the fast way (see Phys. Rev. B 90, 125428 (2014) for details).
'decimateDyson'Logical value. Set true (default) to decimate the sites of the scattering region in the Dyson equation.
'PotInScatter'Obsolete parameter. Use 'scatterPotential' instead.
'scatterPotential'A function handle pot=f( coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true).
'selfEnergy'Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead.
'Smatrix'Set true (default) to calculate the conductance by using the scattering matrix via Transport_Interface.Conduktance, or false to use function Transport_Interface.Conductance2. (The latter one also works with complex energies.)
Returns
[1] Conductivity The calculated conductivity.
[2] aspect_ratio The aspect ratio W/L of the junction.
[3] Conductance The conductance tensor
[4] ny Array of the open channel in the leads.
[5] DeltaC Error of the unitarity.
[6] S The scattering matrix.

◆ Transport() [2/2]

function antidot::Transport ( Energy  )

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

Parameters
EnergyThe energy value.
Returns
C The calculated conductivity
ny Array of the open channel in the leads.
DeltaC Error of the unitarity.

◆ xmlread()

function CommonFunctions::xmlread ( filename  )
inherited

Function to load XML files (based on xerces libraries), providing octave compatibility.

Parameters
filenameAbsolute path to the file to be opened. (In matlab relative path is sufficient)
Returns
The loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.)

◆ xmlwrite()

function CommonFunctions::xmlwrite ( filename  ,
DOM   
)
inherited

Function to export XML files (based on xerces libraries), providing octave compatibility.

Parameters
filenameAbsolute path to the file to be opened. (In matlab relative path is sufficient)
DOMThe loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.)

Member Data Documentation

◆ a1

Property antidot::a1
protected

A lattice vector in the hexagonal lattice.

Definition at line 31 of file antidot.m.

◆ a2

Property antidot::a2
protected

A lattice vector in the hexagonal lattice.

Definition at line 34 of file antidot.m.

◆ antidot_edge_points

Property antidot::antidot_edge_points

the sites at the edge of the antidot

Definition at line 58 of file antidot.m.

◆ B

Property antidot::B

The strength of the magnetic field in Tesla.

Definition at line 52 of file antidot.m.

◆ cCustom_Hamiltonians

Property NTerminal::cCustom_Hamiltonians
inherited

An instance of class Custom_Hamiltonians to load the Hamiltonians from external source.

Definition at line 104 of file NTerminal.m.

◆ coordinates

Property antidot::coordinates

an instance of structure structures

Definition at line 55 of file antidot.m.

◆ CreateH

Property NTerminal::CreateH
inherited

An instance of class CreateHamiltonians or its subclass to manipulate the Hamiltonian of the scattering region.

Definition at line 71 of file NTerminal.m.

◆ CustomHamiltoniansHandle

Property NTerminal::CustomHamiltoniansHandle
protectedinherited

Function handle to create custom Hamiltonians. Has the same inputs ans outputs as Custom_Hamiltonians.LoadHamiltonians.

Definition at line 64 of file NTerminal.m.

◆ DeployedMKL

Property CommonFunctions::DeployedMKL
protectedinherited

True if MKL component is built, false otherwise.

Definition at line 32 of file CommonFunctions.m.

◆ E

Property NTerminal::E
protectedinherited

The energy used in the calculations.

Definition at line 55 of file NTerminal.m.

◆ EF

Property NTerminal::EF
protectedinherited

The Fermi energy. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit.)

Definition at line 58 of file NTerminal.m.

◆ filenameIn

Property NTerminal::filenameIn
inherited

Input filename containing the computational parameters. (Obsolete)

Definition at line 95 of file NTerminal.m.

◆ filenameOut

Property NTerminal::filenameOut
inherited

Output filename to export the computational parameters.

Definition at line 98 of file NTerminal.m.

◆ FL_handles

Property NTerminal::FL_handles
inherited

An instance of class Transport_Interface (or its subclass) for transport calculations.

Definition at line 74 of file NTerminal.m.

◆ flux_of_hole

Property antidot::flux_of_hole

flux in the hole in units of \phi_0

Definition at line 61 of file antidot.m.

◆ G

Property NTerminal::G
protectedinherited

Green operator of the scattering region.

Definition at line 49 of file NTerminal.m.

◆ gauge_field

Property NTerminal::gauge_field
inherited

Function handle S = f( x,y) of the gauge transformation in the scattering center. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.)

Definition at line 86 of file NTerminal.m.

◆ Ginv

Property NTerminal::Ginv
protectedinherited

The inverse of the Green operator G.

Definition at line 52 of file NTerminal.m.

◆ h

Property antidot::h

Planck contant.

Definition at line 67 of file antidot.m.

◆ height

Property Ribbon::height
inherited

height (length) of the scattering region (number of unit cells)

Definition at line 51 of file Ribbon.m.

◆ hole

Property antidot::hole

An instance of structure hole.

Definition at line 46 of file antidot.m.

◆ Interface_Regions

Property NTerminal::Interface_Regions
inherited

A cell array of classes InterfaceRegion to describe the interface region between the leads and the scattering region.

Definition at line 77 of file NTerminal.m.

◆ interfacemodel

Property NTerminal::interfacemodel
inherited

function handle for individual physical model of the interface regions

Definition at line 92 of file NTerminal.m.

◆ leadmodel

Property NTerminal::leadmodel
inherited

function handle for individual physical model of the leads

Definition at line 89 of file NTerminal.m.

◆ MaxSize

Property CommonFunctions::MaxSize
protectedinherited

Maximal size of full matrixes to be handled.

Definition at line 44 of file CommonFunctions.m.

◆ Opt

Property Messages::Opt
protectedinherited

An instance of structure Opt.

Definition at line 31 of file Messages.m.

◆ param

Property NTerminal::param
protectedinherited

An instance of strucutre param.

Definition at line 46 of file NTerminal.m.

◆ PeierlsTransform_Leads

Property NTerminal::PeierlsTransform_Leads
inherited

An instance of class Peierls object to describe the peirls substitution in the leads.

Definition at line 83 of file NTerminal.m.

◆ PeierlsTransform_Scatter

Property NTerminal::PeierlsTransform_Scatter
inherited

An instance of class Peierls object to describe the peirls substitution in the scattering region.

Definition at line 80 of file NTerminal.m.

◆ ProgramName

Property CommonFunctions::ProgramName
protectedinherited

Name of the package.

Definition at line 38 of file CommonFunctions.m.

◆ ProgramShortName

Property CommonFunctions::ProgramShortName
protectedinherited

Short name of the package.

Definition at line 41 of file CommonFunctions.m.

◆ q

Property NTerminal::q
protectedinherited

The transverse momentum quantum number.

Definition at line 61 of file NTerminal.m.

◆ qe

Property antidot::qe

The charge of the electron.

Definition at line 70 of file antidot.m.

◆ rCC

Property antidot::rCC

atom-atom distance

Definition at line 64 of file antidot.m.

◆ Scatter_UC

Property Ribbon::Scatter_UC
inherited

An instance of class Lead (or its subclass) describing the unit cell of the scattering region.

Definition at line 42 of file Ribbon.m.

◆ scatterers

Property antidot::scatterers

an instance of structures scatterers

Definition at line 49 of file antidot.m.

◆ shift

Property Ribbon::shift
inherited

the shift of the coordinates of the sites (two component vector)

Definition at line 54 of file Ribbon.m.

◆ silent

Property NTerminal::silent
inherited

if true, no output messages are print

Definition at line 107 of file NTerminal.m.

◆ transversepotential

Property Ribbon::transversepotential
inherited

A function handle pot = f( coordinates ) or pot=f( CreateLeadHamiltonians, Energy) of the transverse potential applied in the lead. (Instead of CreateLeadHamiltonians can be used its derived class)

Definition at line 45 of file Ribbon.m.

◆ version

Property CommonFunctions::version
protectedinherited

The current version of the package.

Definition at line 35 of file CommonFunctions.m.

◆ waveFncDirnameFull

Property antidot::waveFncDirnameFull
protected

Directory name to export the plotted wave functions.

Definition at line 37 of file antidot.m.

◆ waveFncSubDirname

Property antidot::waveFncSubDirname
protected

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

Definition at line 40 of file antidot.m.

◆ width

Property Ribbon::width
inherited

width of the scattering region (number of the nonsingular atomic sites in the cross section)

Definition at line 48 of file Ribbon.m.

◆ WorkingDir

Property NTerminal::WorkingDir
inherited

A string of the working directory.

Definition at line 101 of file NTerminal.m.


The documentation for this class was generated from the following file: