Transport Interface
Copyright (C) 2009-2016 Peter Rakyta, Ph.D.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
A class to evaluate the Dyson equation and to calculate the scattering matrix.
object = Transport_Interface(E, Opt, param, varargin)
Parameters | |
---|---|
E | The energy to be used in the calculations. |
Opt | An instance of structure Opt. |
param | An instance of structure param. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are:
|
- The calculated Green's function.
- The calculated scattering matrix.
- Array of the numbers of the open channels in the leads --- OBSOLETE.
- A list of structures open_channels describing the open channels in the leads.
- The matrix of the calculated conductance between the leads.
- A function handle of the Dyson equation.
- An instance of class CreateHamiltonians.
- An instance of class Peierls.
- A list of Lead instances describing the leads.
- The energy to be used in the calculations.
- An instance of the structure param
- ScatterCalc
- LeadCalc
- DysonEq
- Conduktance2
- Conduktance
- SmatrixCalc
- SurfaceGreenFunctionCalculator
- setEnergy
- Read
- replaceLead
- LeadSave
- CreateClone
- GetM
- Get_Neff
- setLeadParams
- setScatterParams
Transport_Interface::ScatterCalc
Calculates the effective (decimated) Hamiltonian of the scattering region. (Obsolete)
object.ScatterCalc()
Transport_Interface::LeadCalc
Invokes the function SurfaceGreenFunctionCalculator for each lead.
Surface = object.LeadCalc(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
Return | |
---|---|
Surface | A list of the created Surface_Green_function instances. |
Transport_Interface::DysonEq
Invokes the function handle of the Dyson equation.
Gret = object.DysonEq(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
Return | |
---|---|
Gret | The calculated Green's operator. The calculated Green's operator is also stored within the class in attribute G |
Transport_Interface::Conduktance2
Calculates the conductance using Eq (19) in PRB 73 085414
C = object.Conduktance2()
Return | |
---|---|
C | The conductance. |
Transport_Interface::Conduktance
Calculates the conductance matrix from the scattering matrix.
C = object.Conduktance()
Return | |
---|---|
C | The conductance matrix. |
Transport_Interface::SmatrixCalc
Calculates the scattering matrix.
[S,M] = object.SmatrixCalc()
Return | |
---|---|
S | The scattering matrix. |
M | A vector containing the open channels in each lead. |
Transport_Interface::SurfaceGreenFunctionCalculator
Create an instance of the class Surface_Green_function and calculates the surface Green's function or the self energy.
object.SurfaceGreenFunctionCalculator(idx, varargin)
Parameters | |
---|---|
idx | The ordinal number of the considered lead in the attribute Surface |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
Return | |
---|---|
Surface_tmp | An instance of the class Surface_Green_function. |
Transport_Interface::setEnergy
Set the energy to be used in the calculations.
object.setEnergy( Energy )
Parameters | |
---|---|
Energy | The energy. (can be a complex number) |
Transport_Interface::Read
Query for the value of an attribute in the interface.
ret = object.Read( MemberName )
Parameters | |
---|---|
MemberName | The name of the attribute. |
Return | |
---|---|
ret | The value of the attribute. |
Transport_Interface::replaceLead
Adds/replaces a lead to/in the system.
object.replaceLead( Surface_tmp, idx )
Parameters | |
---|---|
Surface_tmp | An instance of the class Surface_Green_function. |
idx | The Identification number of the lead to be added/replaced. |
Transport_Interface::LeadSave
Saves the Hamiltonians of each lead.
object.LeadSave()
Transport_Interface::CreateClone
Creates a clone of the current object.
object = object.CreateClone()
Return | |
---|---|
object | A cloned instance of the present class. |
Transport_Interface::GetM
Gets the width of the leads
M = object.GetM()
Return | |
---|---|
M | Returns with an array of the lead widths. |
Transport_Interface::GetM
Gets the width of the leads
M = object.GetM()
Return | |
---|---|
M | Returns with an array of the lead widths. |
Transport_Interface::Get_Neff
Gets the size of the effective Hamiltonians of the leads
Neffs = object.Get_Neff()
Return | |
---|---|
Neffs | An array of size of the effective Hamiltonians of the leads |
Transport_Interface::setLeadParams
Sets the lead_param structrure in a given lead
object.setLeadParams( params, leadnum)
Parameters | |
---|---|
params | An instance of structure lead_param. |
leadnum | Id number of the lead to be adjusted. |
Transport_Interface::setScatterParams
Sets the lead_param structrure in a given lead
object.setScatterParams( params)
Parameters | |
---|---|
params | An instance of structure scatter_param. |
Transport_Interface::InputParsing
Parses the optional parameters for the class constructor.
object.InputParsing(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
- Log in to post comments