Transport_Interface
Copyright (C) 2009-2015 Peter Rakyta, Ph.D.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
Description
Returns an interface to evaluate the Dyson equation and to calculate the scattering matrix.
Syntax
interface = Transport_Interface(E, Opt, param, varargin)
Parameters |
E
|
The energy to be used in the calculations.
|
Opt
|
Structure containing the computational parameters. See more details about the data structure here.
|
varargin
|
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are:
ForcedDecimation overrides the decimation algorithm given by parameter Opt.Decimation
|
Attributes
Methods
Transport_Interface::SurfaceGreenFunctionCalculator
Create an instance of the interface Surface_Green_function.
Syntax
interface.SurfaceGreenFunctionCalculator(idx, varargin)
Parameters |
idx
|
The ordinal number of the considered lead.
|
varargin
|
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
createCore Set 1 for creating Hamiltonians without any further calculations.
shiftLead A real number. If given, the on-site potentials of the sites in the lead are shifted by this value.
coordinates_shift An integer. If given, the coordinates of the sites in the lead are shifted by coordinates_shift*lattice vector.
usingDualModes set 1 (default) to use the dual modes for the calculations, or 0 otherwise.
potential A vector of real numbers. If given, the on-site potentials of the sites in the lead are shifted by the corresponding component of this vector.
Surface_tmp An interface Surface_Green_function. If given, the surface Greens function is calculated within this interface.
gauge_field A function handle to perform gauge transformation on the Hamiltonians of the lead.
|
Transport_Interface::ScatterCalc
Calculates the effective (decimated) Hamiltonian of the scattering region.
Syntax
interface.ScatterCalc()
Transport_Interface::LeadCalc
Invokes the function SurfaceGreenFunctionCalculator for each lead.
Syntax
Surface = interface.LeadCalc(varargin)
Parameters |
varargin
|
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
shiftLead A real number. If given, the on-site potentials of the sites in the lead are shifted by this value.
coordinates_shift An integer. If given, the coordinates of the sites in the lead are shifted by coordinates_shift*lattice vector.
potential A vector of real numbers. If given, the on-site potentials of the sites in the lead are shifted by the corresponding component of this vector.
gauge_field A function handle to perform gauge transformation on the Hamiltonians of the lead.
|
Transport_Interface::LeadSave
Saves the Hamiltonians of each lead.
Syntax
interface.LeadSave()
Transport_Interface::SmatrixCalc
Create an instance of the interface Surface_Green_function.
Syntax
[S,M] = interface.SmatrixCalc(idx, varargin)
Return |
S
|
The scattering matrix.
|
M
|
A vector containing the opened channels in each lead.
|
Transport_Interface::Conduktance
Calculates the conductance matrix from the scattering matrix.
Syntax
C = interface.Conduktance()
Return |
C
|
The conduction matrix.
|
Transport_Interface::DysonEq
Invokes the Dyson equation.
Syntax
Gret = interface.DysonEq(varargin)
Parameters |
varargin
|
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
CustomDyson A function handle of the Dyson equation to be evaluated. If not given, the function handle given at the previous call is used instead.
|
Return |
G
|
The calculated Greens function.
|
Transport_Interface::MemberRead
Invokes the Dyson equation.
Syntax
ret = interface.MemberRead( MemberName )
Parameters |
MemberName
|
The name of the attribute.
|
Return |
ret
|
The value of the attribute.
|
Transport_Interface::setEnergy
Set the energy to be used in the calculations.
Syntax
interface.setEnergy( Energy )
Parameters |
Energy
|
The energy. (can be a complex number)
|
Transport_Interface::replaceLead
Adds/replaces a lead to/in the system.
Syntax
interface.replaceLead( Surface_tmp, idx )
Parameters |
Surface_tmp
|
An instance of the interface Surface_Green_function.
|
idx
|
The ordinal number of the lead to be added/replaced.
|
|