CreateLeadHamiltonians
Copyright (C) 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/.
Class to create and store Hamiltonian of the translational invariant leads.
EQuUs v4.8 or later
interface = CreateLeadHamiltonians(Opt, param, varargin)
Parameters | |
---|---|
Opt | An instance of the structure Opt. |
param | An instance of structure param. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
- An instance of structure param.
- The orientation of the lead. Set +1 is the "incoming" direction of the propagating states is defined in the +x or +y direction, and "-1" otherwise.
- The id number of the current lead.
- The type of the end of the ribbon in case of hexagonal lattice ('A' for armchair or 'Z' for zigzag type end)
- The number of the sites in the cross section.
- An instance of the structure lead_param.
- The tranverse momentum quantum number for transverse computations.
- List of sites in the unit cell that should be kept after decimation.
- An instance of the structure coordinates.
- The Hamiltonian of a unit cell.
- The coupling Hamiltonian between the unit cells.
- The coupling Hamiltonian between the unit cells in the opposite direction as H1. (For complex energies they differ from each other.)
- Obsolete
- The transverse coupling between the slabs for transverse calculations.
- The overlap integrals of a unit cell.
- The overlap integrals between the unit cells.
- The overlap integrals between the slabs for transverse calculations.
- The matrix of the Peierls phases in the unit cell.
- The matrix of the Peierls phases in the coupling matrix between the unit cells.
- The matrix of the Peierls phases in the transverse coupling matrix between the unit cells.
- A logical value. True if the Hamiltonians were created, false otherwise.
- A logical value. True if the overlap integrals were applied, false otherwise.
- A logical value. True if magnetic field was applied in the Hamiltonians, false otherwise.
- A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise.
- list of optional parameters (see here for details).
- ApplyOverlapMatrices
- CreateHamiltonians
- Transform2BdG
- CalcSpektrum
- saveLeads
- ShiftCoordinates
- ShiftLead
- AddPotential
- isSuperconducting
- CreateClone
- Reset
- Write
- Read
- Clear
CreateLeadHamiltonians::ApplyOverlapMatrices
Applies the overlap matrices to the Hamiltonians: K = H-ES
object.ApplyOverlapMatrices( E )
Parameters | |
---|---|
E | The energy value. |
CreateLeadHamiltonians::CreateHamiltonians
Creates the Hamiltonians H_0 and H_1 of the lead. The created Hamiltonians are stored by within the object.
object.CreateHamiltonians( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
CreateLeadHamiltonians::Transform2BdG
Transforms the Hamiltonians and the overlap matrices into the BdG model.
object.Transform2BdG()
CreateLeadHamiltonians::CreateHamiltonians
Creates the Hamiltonians H_0 and H_1 of the lead. The created Hamiltonians are stored by within the object.
object.CreateHamiltonians( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
CreateLeadHamiltonians::CalcSpektrum
Calculates the band structure of the lead.
spectrum = object.CalcSpektrum( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
Return | |
---|---|
spectrum | A matrix containing the calculated spectrum with the wave numbers in the first and with the energy eigenvalues in the second column. |
CreateLeadHamiltonians::saveLeads
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'.
object.saveLeads()
CreateLeadHamiltonians::ShiftCoordinates
Shifts the coordinates of the sites by an integer multiple of the lattice vector.
object.ShiftCoordinates( shift )
Parameters | |
---|---|
shift | An integer to multiply the lattice vector in order to shift the coordinates. |
CreateLeadHamiltonians::ShiftLead
Shifts the on-site energies in the leads by a given energy.
object.ShiftLead( E )
Parameters | |
---|---|
Energy | The energy value. |
CreateLeadHamiltonians::AddPotential
Adds on-site potential to the Hamiltonian H0.
object.AddPotential( V )
Parameters | |
---|---|
V | A vector containing the on-site potentials to be added to H0. Must be of the same length as the diagonal of H0. |
CreateLeadHamiltonians::isSuperconducting
Test, whether the lead is in the superconducting phase or not.
ret = object.isSuperconducting()
Return | |
---|---|
ret | true if the lead is in the superconducting phase, 0 otherwise. |
CreateLeadHamiltonians::CreateClone
Creates a clone of the current object.
Surface_tmp = object.CreateClone( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
Return | |
---|---|
ret | An instance of interface CreateLeadHamiltonians. |
CreateLeadHamiltonians::Reset
Resets all attributes in the object.
object.Reset()
CreateLeadHamiltonians::Write
Sets the value of an attribute in the object.
object.Write(MemberName, input)
Parameters | |
---|---|
MemberName | The name of the attribute to be set. |
input | The value to be set. |
CreateLeadHamiltonians::Read
Query for the value of an attribute in the object.
ret = object.Read(MemberName)
Parameters | |
---|---|
MemberName | The name of the attribute. |
Return | |
---|---|
ret | The value of the attribute. |
CreateLeadHamiltonians::Clear
Clears the value of an attribute in the object.
object.Clear(MemberName)
Parameters | |
---|---|
MemberName | The name of the attribute. |
CreateLeadHamiltonians::setM
Updates the number of sites in the cross section.
object.setM()
CreateLeadHamiltonians::Initialize
Initializes object properties
object.Initialize()
CreateLeadHamiltonians::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