Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
Triangle_Lead_Hamiltonians.m
Go to the documentation of this file.
1 %% Eotvos Quantum Transport Utilities - Triangle_Lead_Hamiltonians
2 % Copyright (C) 2018 Peter Rakyta, Ph.D.
3 %
4 % This program is free software: you can redistribute it and/or modify
5 % it under the terms of the GNU General Public License as published by
6 % the Free Software Foundation, either version 3 of the License, or
7 % (at your option) any later version.
8 %
9 % This program is distributed in the hope that it will be useful,
10 % but WITHOUT ANY WARRANTY; without even the implied warranty of
11 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 % GNU General Public License for more details.
13 %
14 % You should have received a copy of the GNU General Public License
15 % along with this program. If not, see http://www.gnu.org/licenses/.
16 %
17 %> @addtogroup lattices Lattices
18 %> @{
20 %> @brief Class to create the Hamiltonian of one unit cell in a translational invariant lead made of Triangle lattice structure.
21 %> @}
22 %> @brief Class to create the Hamiltonian of one unit cell in a translational invariant lead made of Triangle lattice structure.
23 %%
25 
26 
27 methods (Access = public, Static = true)
28 %% Triangle_Hamiltonians
29 %> @brief Creates Hamiltonians related to triangular lattice structure
30 %> @image html lattice_triangle.jpg
31 %> @image latex lattice_triangle.jpg
32 %> @param lead_param An instance of structure #Lattice_Triangle (or its subclass) containing the physical parameters.
33 %> @param M Number of sites in the cross section of the lead.
34 %> @return [1] The Hamiltonian of one slab in the ribbon.
35 %> @return [2] The coupling between the slabs.
36 %> @return [3] The transverse coupling between the slabs for transverse calculations.
37 %> @return [4] The skew coupling between unit cells in the left direction.
38 %> @return [5] A structure Coordinates containing the coordinates of the sites.
39  function [H0, H1, H1_transverse, H1_skew_left, cCoordinates] = Triangle_Hamiltonians( lead_param, M )
40 
41  % check the structure containing the physical parameters
42  supClasses = superclasses(lead_param);
43  if sum( strcmp( supClasses, 'Lattice_Triangle' ) ) == 0
44  error(['EQuUs:Lattices:Triangle_Lead_Hamiltonians:TriangleLattice_Lead_Hamiltonians'], 'Invalid type of the input parameter');
45  end
46 
47  if isempty(M)
48  error(['EQuUs:Triangle_Lead_Hamiltonians:TriangleLattice_Lead_Hamiltonians'], 'The input parameter M is empty')
49  end
50 
51  epsilon = lead_param.epsilon;
52  vargamma = lead_param.vargamma;
53 
54  H0 = sparse( 1:M, 1:M, epsilon, M, M) + ... on-site terms
55  sparse( 2:M, 1:M-1, vargamma, M, M) + ... hopping term
56  sparse( 1:M-1, 2:M, vargamma, M, M); ... hopping term
57 
58  H1 = sparse( 1:M, 1:M, vargamma, M, M) + ... horizontal hopping terms
59  sparse( 1:M-1, 2:M, vargamma, M, M);
60 
61  % creating coordinates
62  cCoordinates = structures('coordinates');
63  cCoordinates.LatticeConstant = 1;
64  cCoordinates.a = [1; 0];
65  cCoordinates.b = [-0.5; sqrt(3)/2 ]*M;
66 
67  cCoordinates.x = cCoordinates.b(1)*(1:M);
68  cCoordinates.y = cCoordinates.b(2)*(1:M);
69 
70  % Transverse coupling
71  H1_transverse = sparse( M, 1, vargamma, M, M);
72 
73  % skew coupling in the left direction
74  H1_skew_left = sparse( M, 1, vargamma, M, M);
75 
76  end
77 
78 
79 end % end static methods
80 
81 
82 
83 end
Class to create the Hamiltonian of one unit cell in a translational invariant lead made of Triangle l...
function Transport(Energy, B)
Calculates the conductance at a given energy value.
function Hamiltonians(varargin)
Function to create the custom Hamiltonians for the 1D chain.
Class containing physical parameters of the triangle lattice.
Structure param contains data structures describing the physical parameters of the scattering center ...
Definition: structures.m:45
Structure sites contains data to identify the individual sites in a matrix.
Definition: structures.m:187
Structure containing the coordinates and other quantum number identifiers of the sites in the Hamilto...
Definition: Coordinates.m:24
function structures(name)