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
Ribbon Class Reference

A class for calculations on a ribbon of finite width for equilibrium calculations mostly in the zero temperature limit. More...

Inheritance diagram for Ribbon:
Inheritance graph
[legend]

Public Member Functions

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 CreateClone ()
 Hamiltoninans of the interface region. 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 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 Ribbon (varargin)
 Constructor of the class. 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 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 cCustom_Hamiltonians
 An instance of class Custom_Hamiltonians to load the Hamiltonians from external source. 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 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 height
 height (length) of the scattering region (number of unit cells) 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 Scatter_UC
 An instance of class Lead (or its subclass) describing the unit cell of the scattering region. 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 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 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...
 

Detailed Description

A class for calculations on a ribbon of finite width for equilibrium calculations mostly in the zero temperature limit.

Structure described by the class

Ribbon_structure.jpg

The drawing represents a two-terminal structure made of two leads, of a scattering region and of two interface regions between the leads and scattering center. Each rectangle describes a unit cell including singular and non-singular sites. The scattering center is also described by a set of identical unit cells, but arbitrary potential can be used. Arrows indicate the hopping direction stored by the attributes in the corresponding classes (see attributes CreateLeadHamiltonians.H1 and InterfaceRegion.Hcoupling for details). The orientation of the lead is +1 if the lead is terminated by the interface region in the positive direction, and -1 if the lead is terminated by the interface region in the negative direction. (see attribute CreateLeadHamiltonians.Lead_Orientation for details)

Definition at line 34 of file Ribbon.m.

Constructor & Destructor Documentation

◆ Ribbon()

function Ribbon::Ribbon ( varargin  )

Constructor of the class.

Parameters
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  )
protected

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  )

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  )

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 ( )
protected

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

◆ 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.

◆ CreateClone()

function Ribbon::CreateClone ( )

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 ( )
protected

Initializes the attributes of the class.

◆ CreateInterface() [1/2]

function Ribbon::CreateInterface ( idx  ,
varargin   
)

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  )

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 ( )

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 ( )
protected

Creates the geometry data of the ribbon shaped scattering region.

◆ createSurface_sc()

function Ribbon::createSurface_sc ( idx  )
protected

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

◆ CustomDysonFunc()

function Ribbon::CustomDysonFunc ( varargin  )

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.

◆ getCoordinates()

function Ribbon::getCoordinates ( )

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.

◆ 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 Ribbon::InputParsing ( varargin  )
protected

Parses the optional parameters for the class constructor.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'width'Integer. The number of the nonsingular atomic sites in the cross section of the ribbon.
'height'Integer. The height of the ribbon in units of the lattice vector.
'filenameIn'The input filename containing the computational parameters. (Use parameters 'Op' and 'param' instead)
'filenameOut'The output filename to export the computational parameters.
'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. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit. Overrides the one comming from the external source)
'silent'Set true to suppress output messages.
'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)
'leadmodel'A function handle Lead=f( idx, E, varargin ) of the alternative lead model with equivalent inputs and return values as Transport_Interface.SurfaceGreenFunctionCalculator 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. For example see @InterfaceModel)
'Opt'An instance of the structure Opt.
'param'An instance of the structure param.
'q'The transverse momentum quantum number.

◆ 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  )

Sets the energy for the calculations.

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

◆ setFermiEnergy()

function Ribbon::setFermiEnergy ( )
protected

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  )

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()

function Ribbon::Transport ( Energy  ,
varargin   
)

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.

◆ 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

◆ 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.

◆ 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.

◆ 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.

◆ height

Property Ribbon::height

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

Definition at line 51 of file Ribbon.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.

◆ Scatter_UC

Property Ribbon::Scatter_UC

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

Definition at line 42 of file Ribbon.m.

◆ shift

Property Ribbon::shift

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

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.

◆ width

Property Ribbon::width

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: