CombineRibbons
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/.
An object for combining multiple ribbon parts of equal width and from the same material in a two terminal setup.
- Calculates the DC Josephson current through an SSH chain including a topological band inversion.
- Calculates transport through an SSH chain including a topological band inversion.
object = CombineRibbons(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are the following:
|
Ribbons
Cell array of classes Ribbon.Surface_interfaces
Cell array of classes Surface_Greens_Function describing the coupling between the ribbon parts.
coordinates
An instance of structure coordinates containing the surface points of the scattering center.
- Transport
- getCoordinates
- setEnergy
- CalcFiniteGreensFunction
- CalcFiniteGreensFunctionFromHamiltonian
- setHandlesForMagneticField
- CreateClone
- getTotalHeight
- addRibbon
CombineRibbons::Transport
Calculates the transport through the two terminal setup. Use for development pupose only.
[Conductance,ny,DeltaC,S] = object.Transport(Energy)
Parameters | |
---|---|
Energy | The energy to be used in the calculations. |
Return | |
---|---|
Conductance | The calculated conductance in the units of $$2h/e$$. |
ny | The number of the open channels in the leads. |
DeltaC | The standard deviation of the calculated transmission probabilities. |
S | The scattering matrix. |
CombineRibbons::getCoordinates
Gets the coordinates of the surface sites of the scattering reigon.
[coordinates, coordinates_interface] = object.getCoordinates( shift )
Return | |
---|---|
coordinates | An instance of the structure coordinates containing the coordinates of the scattering center. |
coordinates_interface | A list of two structures coordinates containing the coordinates of the surface sites of the interface regions between the leads and the scattering center. |
CombineRibbons::setEnergy
Sets the energy to be used in the calculations.
object.setEnergy( Energy )
Parameters | |
---|---|
Energy | Energy The value of the energy in the same units as the Hamiltonian. |
CombineRibbons::CalcFiniteGreensFunction
Calculates the surface Green operator of the scattering center. The calculated Green operator is stored in the G attribute.
object.CalcFiniteGreensFunction( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
CombineRibbons::CalcFiniteGreensFunctionFromHamiltonian
Calculates the surface Greens function of the scattering region from the whole Hamiltonian. Useful for calculations with transverse momentum, and for systems where the unit cells are not translational invariant. The calculated Green operator is stored in the G attribute.
object.CalcFiniteGreensFunctionFromHamiltonian( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
CombineRibbons::setHandlesForMagneticField
Sets the function handles of the vector potentials and gauge fields for applying the magnetic field in the Hamiltonians.
object.setHandlesForMagneticField( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
CombineRibbons::CreateClone
Creates a clone of the current object.
object = object.CreateClone()
Return | |
---|---|
object | The created clone of the present object. |
CombineRibbons::getTotalHeight
Gets the total height of the ribbon structure.
ret = ret = object.getTotalHeight()
Return | |
---|---|
ret | Returns with the total height (length) of the scattering region in units of the lattice vector. |
CombineRibbons::addRibbon
Adds a Ribbon part to the system.
ret = object.addRibbon( ribbon2add, varargin )
Parameters | |
---|---|
ribbon2add | An instance of the class Ribbon. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
CombineRibbons::getHeights
Gets the total height of the ribbon structure.
ret = ret = object.getHeights()
Return | |
---|---|
ret | An array containing the heights (lengths) of the ribbon parts. |
CombineRibbons::attachRibbon
Attach the next ribbon to the ribbon sequence for the calculation of the surface Greens function.
object.attachRibbon( ribbon_tmp, varargin )
Parameters | |
---|---|
ribbon_tmp | An instance of the class Ribbon. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
CombineRibbons::createInterfaceRegions
Creates instances of class Surface_Green_function describing an interface region between the leads and the ribbon parts. The created interface is stored within the attribute Surface_interfaces.
ret = object.createInterfaceRegions()
CombineRibbons::checkwidth
Checks the width of the added ribbon.
ret = object.checkwidth( ribbon_tmp, varargin )
Parameters | |
---|---|
ribbon_tmp | An instance of the class Ribbon. |
Parameters | |
---|---|
ret | Returns with true if the width of the added ribbon is consitent with the previous ones, or false otherwise. |
CombineRibbons::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