Eötvös Quantum Utilities
v4.9.146
Providing the Horsepowers in the Quantum Realm
|
Class to create and store Hamiltonian of the translational invariant leads. More...
Public Member Functions | |
function | AddPotential (V) |
Adds on-site potential to the Hamiltonian H0. More... | |
function | ApplyOverlapMatrices (E) |
Applies the overlap matrices to the Hamiltonians: K = H-ES. More... | |
function | CalcSpektrum (varargin) |
Calculates the band structure of the lead. More... | |
function | Clear (MemberName) |
Clears the value of an attribute in the interface. More... | |
function | CreateClone (varargin) |
Creates a clone of the present class. More... | |
function | CreateHamiltonians (varargin) |
Creates the Hamiltonians H_0 and H_1 of the lead. More... | |
function | CreateLeadHamiltonians (Opt, param, varargin) |
Constructor of the class. More... | |
function | display (message, nosilent) |
Displays output messages on the screen. More... | |
function | getOpt () |
Retrives the structure containing the calculation parameters. More... | |
function | isSuperconducting () |
Test, whether the lead is in the superconducting phase or not. More... | |
function | MomentumDependentHamiltonian (k, q) |
Construct a momentum dependent (Fourier-transformed) Hamiltonian. More... | |
function | Read (MemberName) |
Query for the value of an attribute in the interface. More... | |
function | Reset () |
Resets all elements in the object. More... | |
function | saveLeads () |
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'. More... | |
function | ShiftCoordinates (shift) |
Shifts the coordinates of the sites by an integer multiple of the lattice vector Coordinates.a. More... | |
function | ShiftLead (Energy) |
Shifts the on-site energies in the leads by a given energy. More... | |
function | Transform2BdG () |
Transforms the Hamiltonians and the overlap matrices into the BdG model in the Nambu space representation according to New Journal of Physics 9 (2007) 278. More... | |
function | Transform2Spin () |
Transforms the Hamiltonians and the overlap matrices to include electron spin. More... | |
function | Write (MemberName, input) |
Sets the value of an attribute in the interface. 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 properties. More... | |
function | InputParsing (varargin) |
Parses the optional parameters for the class constructor. More... | |
function | setM () |
Updates the number of sites in the cross section. More... | |
Protected Attributes | |
Property | coordinates |
An instance of the structure coordinates. More... | |
Property | fazis_mtx_H0 |
The matrix of the Peierls phases in the unit cell. More... | |
Property | fazis_mtx_H1 |
The matrix of the Peierls phases in the coupling matrix between the unit cells. More... | |
Property | fazis_mtx_H1t |
The matrix of the Peierls phases in the transverse coupling matrix between the unit cells. More... | |
Property | GaugeTransformationApplied |
A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise. More... | |
Property | H0 |
The Hamiltonian of a unit cell. More... | |
Property | H00 |
Obsolete. More... | |
Property | H1 |
The coupling Hamiltonian between the unit cells. More... | |
Property | H1_skew_left |
The skew coupling (in the positive direction) between Hamiltonians H0 for transverse calculations. More... | |
Property | H1_skew_right |
The skew upward (in the negative direction) coupling between Hamiltonians H0 for transverse calculations. More... | |
Property | H1_transverse |
The transverse coupling between the slabs for transverse calculations. More... | |
Property | H1adj |
The coupling Hamiltonian between the unit cells in the opposite direction as H1. (For complex energies they differ from each other.) More... | |
Property | HamiltoniansCreated |
A logical value. True if the Hamiltonians were created, false otherwise. More... | |
Property | HamiltoniansDecimated |
A logical value. True if the Hamiltonians were decimated, false otherwise. More... | |
Property | Hanyadik_Lead |
The id number of the current lead. More... | |
Property | K0 |
K0=H0-E*S0, see Eq (4) of PRB 78, 035407. More... | |
Property | K1 |
K1=H1-E*S1, see Eq (4) of PRB 78, 035407. More... | |
Property | K1_transverse |
K1_transverse=H1_transverse-E*S1_transverse. More... | |
Property | K1adj |
K1adj=H1adj-E*S1', see Eq (4) of PRB 78, 035407. More... | |
Property | kulso_szabfokok |
List of sites in the unit cell that should be kept after decimation. More... | |
Property | Lead_Orientation |
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. More... | |
Property | M |
The number of the sites in the cross section. More... | |
Property | MagneticFieldApplied |
A logical value. True if magnetic field was applied in the Hamiltonians, false otherwise. More... | |
Property | Opt |
An instance of structure Opt. More... | |
Property | OverlapApplied |
A logical value. True if the overlap integrals were applied, false otherwise. More... | |
Property | param |
An instance of the structure param. More... | |
Property | params |
An instance of the structure lead_param. More... | |
Property | q |
The tranverse momentum for transverse computations. More... | |
Property | S0 |
The overlap integrals of a unit cell. More... | |
Property | S1 |
The overlap integrals between the unit cells. More... | |
Property | S1_transverse |
The overlap integrals between the slabs for transverse calculations. More... | |
Property | S1adj |
The adjungate of the overlap integrals between the unit cells. More... | |
Property | varargin |
list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details) More... | |
Class to create and store Hamiltonian of the translational invariant leads.
The notations and the structure of the Hamiltonian is defined accroding to the following image:
EQuUs v4.8 or later
Definition at line 29 of file CreateLeadHamiltonians.m.
Constructor of the class.
Opt | An instance of the structure Opt. |
param | An instance of structure param. |
varargin | Cell array of optional parameters. See InputParsing for details. |
function CreateLeadHamiltonians::AddPotential | ( | V | ) |
Adds on-site potential to the Hamiltonian H0.
V | The potential calculated on the sites. |
function CreateLeadHamiltonians::ApplyOverlapMatrices | ( | E | ) |
Applies the overlap matrices to the Hamiltonians: K = H-ES.
E | The energy value. |
|
staticinherited |
Throws a "bad input type" warning, with using the default value.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
|
staticinherited |
Throws a "bad input type" warning without setting it to default.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
Calculates the band structure of the lead.
varargin | Cell array of optional parameters: |
'toPlot' | Set 1 in order to plot the calculated spectrum, 0 (default) otherwise |
'ka_min' | The lower bound of the wave numbers. (Default is -pi.) |
'ka_max' | The upper bound of the wave numbers. (Default is pi.) |
'ka_num' | The number of wave number points involved in the calculations. (Default is 300.) |
'ka_vec' | One dimensional array of the k-pints. (Overrides previous attributes related to the k-vector array.) |
'center' | The calculated energy eigenvalues are centered around this value. (Default is 0.001.) |
'db' | The number of the calculated eigenvalues. |
'offset' | Offset value to shift the spectrum along the energy axis. |
'calcWaveFnc' | Logical value. Set true to calculate also the wave functions, or false (default) otherwise. |
function CreateLeadHamiltonians::Clear | ( | MemberName | ) |
Clears the value of an attribute in the interface.
MemberName | The name of the attribute to be cleared. |
Creates a clone of the present class.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'empty' | Set true to create an empty clone, or false (default) to clone all atributes. |
Creates the Hamiltonians H_0 and H_1 of the lead.
The created Hamiltonians are stored by within the object.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'toSave' | Logical value. If true, the created Hamiltonians are saved into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'. |
'CustomHamiltonian' | An instance of class Custom_Hamiltonians describing external source of Hamiltonians. |
|
inherited |
Displays output messages on the screen.
message | String containing the message to be displayed |
nosilent | Set true to override the silent option given in Opt.Silent. |
|
staticinherited |
Throws an "iteration exceeded" warning.
|
inherited |
Retrives the structure containing the calculation parameters.
|
protected |
Initializes object properties.
Parses the optional parameters for the class constructor.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'Hanyadik_Lead' | The ID number of the current lead. Set to empty (default) for using parameters of the scatter region. |
'Lead_Orientation' | Orientation of the lead. Set +1 (default) is the "incoming" direction of the propagating states is defined in the +x or +y direction, and "-1" otherwise. |
'q' | The transverse momentum. Set to empty (default) for computations without transverse momentums. |
function CreateLeadHamiltonians::isSuperconducting | ( | ) |
Test, whether the lead is in the superconducting phase or not.
Construct a momentum dependent (Fourier-transformed) Hamiltonian.
k | The longitudinal momentum times the lattice constant. |
q | The transverse momentum times the lattice constant. |
function CreateLeadHamiltonians::Read | ( | MemberName | ) |
Query for the value of an attribute in the interface.
MemberName | The name of the attribute to be set. |
function CreateLeadHamiltonians::Reset | ( | ) |
Resets all elements in the object.
function CreateLeadHamiltonians::saveLeads | ( | ) |
Save Lead Hamiltonians into a file 'Hamiltoni_Lead_' + num2str(Hanyadik_Lead) + '.mat'.
|
protected |
Updates the number of sites in the cross section.
function CreateLeadHamiltonians::ShiftCoordinates | ( | shift | ) |
Shifts the coordinates of the sites by an integer multiple of the lattice vector Coordinates.a.
shift | Integer by which the coordinates are shifted. |
function CreateLeadHamiltonians::ShiftLead | ( | Energy | ) |
Shifts the on-site energies in the leads by a given energy.
Energy | The enrgy value. |
function CreateLeadHamiltonians::Transform2BdG | ( | ) |
Transforms the Hamiltonians and the overlap matrices into the BdG model in the Nambu space representation according to New Journal of Physics 9 (2007) 278.
It is assumed, that the Hamiltonian is already transfromed to the grand canonical operator:
function CreateLeadHamiltonians::Transform2Spin | ( | ) |
Transforms the Hamiltonians and the overlap matrices to include electron spin.
function CreateLeadHamiltonians::Write | ( | MemberName | , |
input | |||
) |
Sets the value of an attribute in the interface.
MemberName | The name of the attribute to be set. |
input | The value to be set. |
|
protected |
An instance of the structure coordinates.
Definition at line 58 of file CreateLeadHamiltonians.m.
|
protected |
The matrix of the Peierls phases in the unit cell.
Definition at line 106 of file CreateLeadHamiltonians.m.
|
protected |
The matrix of the Peierls phases in the coupling matrix between the unit cells.
Definition at line 109 of file CreateLeadHamiltonians.m.
|
protected |
The matrix of the Peierls phases in the transverse coupling matrix between the unit cells.
Definition at line 112 of file CreateLeadHamiltonians.m.
|
protected |
A logical value. True if a gauge transformation was incorporated into the Hamiltonians or false otherwise.
Definition at line 127 of file CreateLeadHamiltonians.m.
|
protected |
The Hamiltonian of a unit cell.
Definition at line 73 of file CreateLeadHamiltonians.m.
|
protected |
Obsolete.
Definition at line 82 of file CreateLeadHamiltonians.m.
|
protected |
The coupling Hamiltonian between the unit cells.
Definition at line 76 of file CreateLeadHamiltonians.m.
|
protected |
The skew coupling (in the positive direction) between Hamiltonians H0 for transverse calculations.
Definition at line 91 of file CreateLeadHamiltonians.m.
|
protected |
The skew upward (in the negative direction) coupling between Hamiltonians H0 for transverse calculations.
Definition at line 88 of file CreateLeadHamiltonians.m.
|
protected |
The transverse coupling between the slabs for transverse calculations.
Definition at line 85 of file CreateLeadHamiltonians.m.
|
protected |
The coupling Hamiltonian between the unit cells in the opposite direction as H1. (For complex energies they differ from each other.)
Definition at line 79 of file CreateLeadHamiltonians.m.
|
protected |
A logical value. True if the Hamiltonians were created, false otherwise.
Definition at line 115 of file CreateLeadHamiltonians.m.
|
protected |
A logical value. True if the Hamiltonians were decimated, false otherwise.
Definition at line 118 of file CreateLeadHamiltonians.m.
|
protected |
The id number of the current lead.
Definition at line 43 of file CreateLeadHamiltonians.m.
|
protected |
K0=H0-E*S0, see Eq (4) of PRB 78, 035407.
Definition at line 61 of file CreateLeadHamiltonians.m.
|
protected |
K1=H1-E*S1, see Eq (4) of PRB 78, 035407.
Definition at line 64 of file CreateLeadHamiltonians.m.
|
protected |
K1_transverse=H1_transverse-E*S1_transverse.
Definition at line 70 of file CreateLeadHamiltonians.m.
|
protected |
K1adj=H1adj-E*S1', see Eq (4) of PRB 78, 035407.
Definition at line 67 of file CreateLeadHamiltonians.m.
|
protected |
List of sites in the unit cell that should be kept after decimation.
Definition at line 55 of file CreateLeadHamiltonians.m.
|
protected |
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.
Definition at line 40 of file CreateLeadHamiltonians.m.
|
protected |
The number of the sites in the cross section.
Definition at line 46 of file CreateLeadHamiltonians.m.
|
protected |
A logical value. True if magnetic field was applied in the Hamiltonians, false otherwise.
Definition at line 124 of file CreateLeadHamiltonians.m.
|
protectedinherited |
An instance of structure Opt.
Definition at line 31 of file Messages.m.
|
protected |
A logical value. True if the overlap integrals were applied, false otherwise.
Definition at line 121 of file CreateLeadHamiltonians.m.
|
protected |
An instance of the structure param.
Definition at line 37 of file CreateLeadHamiltonians.m.
|
protected |
An instance of the structure lead_param.
Definition at line 49 of file CreateLeadHamiltonians.m.
|
protected |
The tranverse momentum for transverse computations.
Definition at line 52 of file CreateLeadHamiltonians.m.
|
protected |
The overlap integrals of a unit cell.
Definition at line 94 of file CreateLeadHamiltonians.m.
|
protected |
The overlap integrals between the unit cells.
Definition at line 97 of file CreateLeadHamiltonians.m.
|
protected |
The overlap integrals between the slabs for transverse calculations.
Definition at line 103 of file CreateLeadHamiltonians.m.
|
protected |
The adjungate of the overlap integrals between the unit cells.
Definition at line 100 of file CreateLeadHamiltonians.m.
|
protected |
list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details)
Definition at line 130 of file CreateLeadHamiltonians.m.