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 | Protected Member Functions | Protected Attributes
Transport_Interface Class Reference

A class to evaluate the Dyson equation and to calculate the scattering matrix for equilibrium processes. More...

Inheritance diagram for Transport_Interface:
Inheritance graph
[legend]

Public Member Functions

function Clear (MemberName)
 Clears the value of an attribute in the class. More...
 
function Conductance2 ()
 Conductance calculated by Eq (19) in PRB 73 085414. More...
 
function Conduktance ()
 Calculates the conductance matrix from the scattering matrix. More...
 
function CreateClone ()
 Creates a clone of the present class. More...
 
function Determine_Open_Channels ()
 Determines the open channels in the leads. The data are storen within the attribute open_channels. More...
 
function display (message, nosilent)
 Displays output messages on the screen. More...
 
function DysonEq (varargin)
 Invokes the function handle of the Dyson equation, and stores the calculated values in attributes G and junction_sites. More...
 
function Get_Neff ()
 Gets the size of the effective Hamiltonians of the leads. More...
 
function GetM ()
 Gets the width of the leads (see attribute CreateLeadHamiltonians.M). More...
 
function getOpt ()
 Retrives the structure containing the calculation parameters. More...
 
function LeadCalc (varargin)
 Invokes the function SurfaceGreenFunctionCalculator for each lead. More...
 
function LeadSave ()
 Saves the Hamiltonians of each lead. More...
 
function Read (MemberName)
 Query for the value of an attribute in the class. More...
 
function replaceLead (Lead_tmp, idx)
 Adds/replaces a lead to/in the system. More...
 
function Reset ()
 Resets all elements in the class. More...
 
function ScatterCalc ()
 Calculates the effective (decimated) Hamiltonian of the scattering region. (Obsolete) More...
 
function setEnergy (Energy)
 Sets the energy to be used in the calculations and resets the calculated attributes. More...
 
function SmatrixCalc ()
 Calculates the scattering matrix. More...
 
function SurfaceGreenFunctionCalculator (idx, varargin)
 Calculates the surface Green's function or the self energy of a Lead. More...
 
function Transport_Interface (E, Opt, param, varargin)
 Constructor of the class. More...
 
function Write (MemberName, input)
 Sets the value of an attribute in the class. 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 ExceedIteration ()
 Throws an "iteration exceeded" warning. More...
 

Protected Member Functions

function Initialize ()
 Initializes object attributes. More...
 
function InputParsing (varargin)
 Parses the optional parameters for the class constructor. More...
 

Protected Attributes

Property Conductance_Matrix
 The matrix of the calculated conductance. More...
 
Property CreateH
 An instance of class CreateHamiltonians or its subclass. More...
 
Property Dysonfunc
 A function handle of the Dyson equation. More...
 
Property E
 The energy to be used in the calculations. More...
 
Property G
 The calculated Greens function. More...
 
Property junction_sites
 an instance of junction_sites describing the sites in the calculated Green operator More...
 
Property Leads
 An array of classes Lead (or its subclasses) More...
 
Property nyitott_csatornak
 Numbers of the open channels in the leads. More...
 
Property open_channels
 Array ofstructures open_channels. More...
 
Property Opt
 An instance of structure Opt. More...
 
Property param
 An instance of the structure param. More...
 
Property PeierlsTransform
 An instance of class Peierls. More...
 
Property Smatrix
 The calculated scattering matrix. More...
 
Property varargin
 list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details) More...
 

Detailed Description

A class to evaluate the Dyson equation and to calculate the scattering matrix for equilibrium processes.

Definition at line 24 of file Transport_Interface.m.

Constructor & Destructor Documentation

◆ Transport_Interface()

function Transport_Interface::Transport_Interface ( E  ,
Opt  ,
param  ,
varargin   
)

Constructor of the class.

Parameters
OptAn instance of the structure Opt.
paramAn instance of the structure param.
vararginCell array of optional parameters. For details see InputParsing.
Returns
An instance of the class

Member Function Documentation

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

◆ Clear()

function Transport_Interface::Clear ( MemberName  )

Clears the value of an attribute in the class.

Parameters
MemberNameThe name of the attribute to be cleared.

◆ Conductance2()

function Transport_Interface::Conductance2 ( )

Conductance calculated by Eq (19) in PRB 73 085414.

Returns
Returns with the calculated conductance.

◆ Conduktance()

function Transport_Interface::Conduktance ( )

Calculates the conductance matrix from the scattering matrix.

Returns
Returns with the calculated conductance matrix.

◆ CreateClone()

function Transport_Interface::CreateClone ( )

Creates a clone of the present class.

Returns
Returns with the cloned object.

◆ Determine_Open_Channels()

function Transport_Interface::Determine_Open_Channels ( )

Determines the open channels in the leads. The data are storen within the attribute open_channels.

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

◆ DysonEq()

function Transport_Interface::DysonEq ( varargin  )

Invokes the function handle of the Dyson equation, and stores the calculated values in attributes G and junction_sites.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'CustomDyson'A function handle [G, Ginverz, junction_sites] = CustomDyson() of the Dyson equation to be evaluated. If not given, the function handle given by the present class is used instead.
Returns
[1] Returns with the calculated Green operator.
[2] With the attribute junction_sites.

◆ ExceedIteration()

static function Messages::ExceedIteration ( )
staticinherited

Throws an "iteration exceeded" warning.

◆ Get_Neff()

function Transport_Interface::Get_Neff ( )

Gets the size of the effective Hamiltonians of the leads.

Returns
Returns with an array of integers;

◆ GetM()

function Transport_Interface::GetM ( )

Gets the width of the leads (see attribute CreateLeadHamiltonians.M).

Returns
Returns with an array of the lead widths

◆ getOpt()

function Messages::getOpt ( )
inherited

Retrives the structure containing the calculation parameters.

Returns
Return an instance of structure Opt.

◆ Initialize()

function Transport_Interface::Initialize ( )
protected

Initializes object attributes.

◆ InputParsing()

function Transport_Interface::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):
'CreateH'An instance of class CreateHamiltonians or its subclass storing the Hamiltonian of the scattering center.
'PeierlsTransform'An instance of class Peierls for the Peierls transformations.

◆ LeadCalc()

function Transport_Interface::LeadCalc ( varargin  )

Invokes the function SurfaceGreenFunctionCalculator for each lead.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'shiftLeads'A real number. If given, the on-site potentials of the sites in the lead are shifted by this value.
'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)
'coordinates_shift'An integer. If given, the coordinates of the sites in the lead are shifted by coordinates_shift*lattice vector.
'gauge_field'Function handle S = f( x,y) of the gauge transformation on the Hamiltonians of the leads. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.)
'createCore'Set 1 for creating the class instances Lead but omitting any further calculations, or false (default) to continue with the calculations.
'SelfEnergy'Logical value. Set true to calculate the self energies of the leads. (default is false)
'SurfaceGreensFunction'Logical value. Set true to calculate the surface Green functions of the leads. (default is true)
'leads'Array of lead identification numbers for which the calculations should be performed. (Default is a list of all leads)
'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.
'CustomHamiltonian'An instance of class Custom_Hamiltonians or its derived class to create custom Hamiltonians in the leads.
'Just_Create_Hamiltonians'Logical value. Set true to create the Hamiltonians of the leads, but stop further calculations. Default value is false.
'q'The tranverse momentum for transverse computations.
Returns
Returns with an array of the created Lead instances.

◆ LeadSave()

function Transport_Interface::LeadSave ( )

Saves the Hamiltonians of each lead.

◆ Read()

function Transport_Interface::Read ( MemberName  )

Query for the value of an attribute in the class.

Parameters
MemberNameThe name of the attribute.
Returns
Returns with the value of the attribute.

◆ replaceLead()

function Transport_Interface::replaceLead ( Lead_tmp  ,
idx   
)

Adds/replaces a lead to/in the system.

Parameters
Lead_tmpAn instance of class Lead
idxIdentification number of the lead. (see attribute CreateLeadHamiltonians.Hanyadik_Lead).

◆ Reset()

function Transport_Interface::Reset ( )

Resets all elements in the class.

◆ ScatterCalc()

function Transport_Interface::ScatterCalc ( )

Calculates the effective (decimated) Hamiltonian of the scattering region. (Obsolete)

◆ setEnergy()

function Transport_Interface::setEnergy ( Energy  )

Sets the energy to be used in the calculations and resets the calculated attributes.

Parameters
EnergyThe energy value

◆ SmatrixCalc()

function Transport_Interface::SmatrixCalc ( )

Calculates the scattering matrix.

Returns
[1] The scattering matrix
[2] An array containing the number of openchannels in the leads. Obsolete, use attribute open_channels istead.

◆ SurfaceGreenFunctionCalculator()

function Transport_Interface::SurfaceGreenFunctionCalculator ( idx  ,
varargin   
)

Calculates the surface Green's function or the self energy of a Lead.

Parameters
idxthe identification number of the lead in the attribute Leads (see attribute CreateLeadHamiltonians.Hanyadik_Lead).
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'shiftLeads'A real number. If given, the on-site potentials of the sites in the lead are shifted by this value.
'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)
'Lead'An instance of class Lead (or its subclass) that is intended to be used in the calculations.
'coordinates_shift'An integer. If given, the coordinates of the sites in the lead are shifted by coordinates_shift*lattice vector.
'gauge_field'Function handle S = f( x,y) of the gauge transformation on the Hamiltonians of the leads. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.)
'createCore'Set 1 for creating the class instances Lead but omitting any further calculations, or false (default) to continue with the calculations.
'SelfEnergy'Logical value. Set true to calculate the self energies of the leads. (default is false)
'SurfaceGreensFunction'Logical value. Set true to calculate the surface Green functions of the leads. (default is true)
'leads'Array of lead identification numbers for which the calculations should be performed. (Default is a list of all leads)
'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.
'CustomHamiltonian'An instance of class Custom_Hamiltonians or its derived class to create custom Hamiltonians in the leads.
'Just_Create_Hamiltonians'Logical value. Set true to create the Hamiltonians of the leads, but stop further calculations. Default value is false.
'q'The tranverse momentum for transverse computations.
Returns
Returns with the created Lead instance.

◆ Write()

function Transport_Interface::Write ( MemberName  ,
input   
)

Sets the value of an attribute in the class.

Parameters
MemberNameThe name of the attribute to be set.
inputThe value to be set.

Member Data Documentation

◆ Conductance_Matrix

Property Transport_Interface::Conductance_Matrix
protected

The matrix of the calculated conductance.

Definition at line 53 of file Transport_Interface.m.

◆ CreateH

Property Transport_Interface::CreateH
protected

An instance of class CreateHamiltonians or its subclass.

Definition at line 59 of file Transport_Interface.m.

◆ Dysonfunc

Property Transport_Interface::Dysonfunc
protected

A function handle of the Dyson equation.

Definition at line 56 of file Transport_Interface.m.

◆ E

Property Transport_Interface::E
protected

The energy to be used in the calculations.

Definition at line 32 of file Transport_Interface.m.

◆ G

Property Transport_Interface::G
protected

The calculated Greens function.

Definition at line 38 of file Transport_Interface.m.

◆ junction_sites

Property Transport_Interface::junction_sites
protected

an instance of junction_sites describing the sites in the calculated Green operator

Definition at line 41 of file Transport_Interface.m.

◆ Leads

Property Transport_Interface::Leads
protected

An array of classes Lead (or its subclasses)

Definition at line 65 of file Transport_Interface.m.

◆ nyitott_csatornak

Property Transport_Interface::nyitott_csatornak
protected

Numbers of the open channels in the leads.

Definition at line 47 of file Transport_Interface.m.

◆ open_channels

Property Transport_Interface::open_channels
protected

Array ofstructures open_channels.

Definition at line 50 of file Transport_Interface.m.

◆ Opt

Property Messages::Opt
protectedinherited

An instance of structure Opt.

Definition at line 31 of file Messages.m.

◆ param

Property Transport_Interface::param
protected

An instance of the structure param.

Definition at line 35 of file Transport_Interface.m.

◆ PeierlsTransform

Property Transport_Interface::PeierlsTransform
protected

An instance of class Peierls.

Definition at line 62 of file Transport_Interface.m.

◆ Smatrix

Property Transport_Interface::Smatrix
protected

The calculated scattering matrix.

Definition at line 44 of file Transport_Interface.m.

◆ varargin

Property Transport_Interface::varargin
protected

list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details)

Definition at line 68 of file Transport_Interface.m.


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