2 % Copyright (C) 2009-2015 Peter Rakyta, Ph.D.
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.
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.
14 % You should have received a copy of the GNU General Public License
15 % along with
this program. If not, see http:
17 % This
function creates a data structure used by EQuUs. (since EQuUs v4.5)
21 if strcmp( name,
'hole')
23 ret =
struct( ... name:
hole 26 ... %> The radius of the
hole in the units of the lattice constant.
32 elseif strcmp( name,
'circle')
33 %> Structure
circle contains data describing a
circle shaped area positioned in a two-dimensional space
37 ... %> The radius of the
circle .
43 elseif strcmp( name,
'param')
44 %> Structure
param contains data
structures describing the physical parameters of the scattering center and the leads.
46 ... %> An instance of the structure @scatter_param containing the physical parameters
for the scattering region.
47 'scatter',[], ...type: scatter_param
48 ... %> A list of
structures @lead_param containing the physical parameters
for the scattering region.
49 'Leads',[] ... type: lead_param
52 elseif strcmp( name,
'scatter_param') %NEW vargamma2
55 elseif strcmp( name,
'lead_param')
58 elseif strcmp( name, '
Opt')
59 %> Structure
Opt contains the basic computational parameters used in EQuUs
60 ret = struct( ... name:
Opt 61 ... %> Set 1 in order to supress output messages.
63 ... %> Set 1 to use the Bogoliubov de Gennes model, 0 (default) for normal systems.
65 ... %> Obsolete parameter
66 'Just_Create_Hamiltonians',[],...
67 ... %> Set true if a magnetic field is involved in the calculations, false (default) otherwise.
68 'magnetic_field',[],...
69 ... %> Set true (default) if a magnetic field is translational invariant along the scattering center, or false otherwise.
70 'magnetic_field_trans_invariant',[],...
71 ... %> String containining a bult-in vector potential. Possible values are: 'LandauX', 'LandauY'
73 ... %> Scalar value representing the strength of the bult-in vector potential: \f$ \eta = ea^2
B/\hbar \f$ with \f$a\f$ standing for the atom-atom distance.
75 ... %> Set 1 to use linear interpolation for the vector potential between the atomic
sites to calculate the
Peierls phases. Useful when dealing with a homogeneous magnetic field.
76 'Linear_Regression_in_B',[],...
77 ... %> Set 1 if a simple analytical surface greens
function computational method is about to be used, 0 otherwise (Only for square lattice without magnetic field).
78 'Simple_Green_Function',[],...
79 ... %> String describing the preprogrammed lattice type. See the documentation of lattice types for details
80 'Lattice_Type',[], ...
81 ... %> Number of leads attached to the scattering region.
83 ... %> Obsolete parameter
84 'Decimate_only_Dyson',[],...
85 ... %> The maximal number of the
sites to be decimated at once.
86 'Decimation_block',[],...
87 ... %> Option for using decimation algorith. (see more details at the documenatation of class
Decimation)
89 ... %> Set 1 to use dual modes in the calculations, or 0 to use the left and right sided eigenvectors instead.
90 'usingDualModes',[], ...
91 ... %> Set 1 to export debug informations into the debug.txt file, or 0 otherwise.
93 ... %> Number of workers in the parallel pool.
96 'custom_Hamiltonians', [],...
97 ... %> Set 1 to use 1/2 spin degree of freedom in the
Hamiltonians, or 0 otherwise.
104 elseif strcmp( name, '
shape')
105 %> Structure
shape contains data about the geometry of the scattering region.
107 ... %> The number of
sites in the cross section.
109 ... %> Number of unit cells along the logitudinal direction in the scattering region.
114 %> Structure
scatterers contains data on the scattering impurities used in class
antidot 116 ... %> A vector of slab indexes in the ribbon.
118 ... %> A vector of site indexes in the slabs.
120 ... %> A vector of the on-site potentials.
122 ... %> A vector of the site indexes
124 ... %> Set true if the given
sites are about to remove from the lattice.
129 %> Structure
BandWidth describes the bandwidth in the lead and in the scattering center.
133 ... %> An instance of the structure @
BandWidthLimits for the scattering region.
140 ... %> The minimal value of the energy band.
142 ... %> The maximal value of the energy band.
146 elseif strcmp( name, '
Atom')
147 %> Structure
Atom contains the atomic identifiers of the
sites.
149 ... %> Identification number of the principal layer containing the atom.
151 ... %> Identification number of the atom.
158 %> Structure
open_channels describes the open channel in the individual leads.
160 ... %> Number of open channels.
162 ... %> Logical indexes of incoming electron-like channels.
163 'BdG_u_incoming', [],...
164 ... %> Logical indexes of outgoing electron-like channels.
165 'BdG_u_outgoing', [],...
166 ... %> true of the system is superconducting, false otherwise.
167 'isSuperconducting', [],...
168 ... %> Logical indexes of ingoing channels.
169 'open_channels_p', [],...
170 ... %> Logical indexes of outgoing channels.
171 'open_channels_m', []...
175 %> Structure
junction_sites contains data to identify the individual
sites of the leads, the interface regions and the scattering region in a matrix.
177 ... %> Structure @
sites describing the geometry of the leads.
179 ... %> Structure @
sites describing the geometry of the scattering region.
181 ... %> Structure @
sites describing the geometry of the interface regions.
185 elseif strcmp( name, '
sites')
186 %> Structure
sites contains data to identify the individual
sites in a matrix.
188 ... %> An instance of structure @
coordinates describing the geometry.
190 ... %> An array containing the site indexes of the given system part.
191 'site_indexes', []...
194 elseif strcmp( name, '
DOS')
195 %> Structure containg the energy resolved density of states
196 ret = struct( ... name:
DOS 197 ... %> Array of the density of states values
199 ... %> Array of the enrgy points
204 %> Structure containg the local density of states at a given energy point
206 ... %> Array of the density of states values
210 ... %> The energy point
214 elseif strcmp( name, '
WaveFnc')
215 %> Structure containg datat on the calculated eigenstate in a translational invariant lead.
217 ... %> Cell array containing the individual wave functions.
219 ... %> Cell array containing the individual k-pints.
220 'ka', cell(length(ka_vec),1), ...
221 ... %> Cell array containing the individual energies.
222 '
E', cell(length(ka_vec),1) ...
226 err = MException('structure:name', 'Unrecognized structure name');
227 save('structure.mat');
Structure Atom contains the atomic identifiers of the sites.
Structure hole contains the data about the antidot used in class antidot.
Structure circle contains data describing a circle shaped area positioned in a two-dimensional space.
Structure Opt contains the basic computational parameters used in EQuUs.
Structure open_channels describes the open channel in the individual leads.
Structure shape contains data about the geometry of the scattering region.
Structure containg the local density of states at a given energy point.
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.
A class to perform transport calculations on a graphene antidot (i.e., a hollow in a ribbon)....
A class providing function handle to reduce the number of sites in the Hamiltonian via decimation pro...
Structure containg the energy resolved density of states.
Structure scatterers contains data on the scattering impurities used in class antidot.
Property height
height (length) of the scattering region (number of unit cells)
A class to calculate the Green functions and self energies of a translational invariant lead The nota...
Property width
width of the scattering region (number of the nonsingular atomic sites in the cross section)
Structure BandWidthLimits contains the bandwidth limits.
Property B
The strength of the magnetic field in Tesla.
Structure param contains data structures describing the physical parameters of the scattering center ...
Property coordinates
an instance of structure structures
Structure BandWidth describes the bandwidth in the lead and in the scattering center.
Structure sites contains data to identify the individual sites in a matrix.
A class responsible for the Peierls and gauge transformations.
Structure containg datat on the calculated eigenstate in a translational invariant lead.
Property E
The energy used in the calculations.
Structure containing the coordinates and other quantum number identifiers of the sites in the Hamilto...
function structures(name)
Structure junction_sites contains data to identify the individual sites of the leads,...