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.
48 ... %> A list of
structures @
lead_param containing the physical parameters
for the scattering region.
52 elseif strcmp( name,
'scatter_param') %NEW vargamma2
53 %> Structure
scatter_param contains the physical parameters describing the scattering region.
55 ... %> A physical parameter, see the individual lattice documentations
for details
57 ... %> A physical parameter, see the individual lattice documentations
for details
59 ... %> A physical parameter, see the individual lattice documentations
for details
61 ... %> A physical parameter, see the individual lattice documentations
for details
63 ... %> A physical parameter, see the individual lattice documentations
for details
64 'SO_rashba_intrinsic',[], ...
65 ... %> A physical parameter, see the individual lattice documentations
for details
66 'pair_potential',[], ...
67 ... %> A physical parameter, see the individual lattice documentations
for details
69 ... %> A physical parameter, see the individual lattice documentations
for details
71 ... %> A physical parameter, see the individual lattice documentations
for details
73 ... %> An instance of structure @
shape describing the geometry of the scattering region.
75 ... %> A physical parameter, see the individual lattice documentations
for details
77 ... %> String containing the filename of the external Hamiltonain source (see
Custom_Hamiltonians for details)
79 ... %> Cell array of structure @
Atom.
83 elseif strcmp( name,
'lead_param') %NEW vargamma2
84 %> Structure containing the physical parameters describing a given lead.
86 ... %> A physical parameter, see the individual lattice documentations
for details
88 ... %> A physical parameter, see the individual lattice documentations
for details
90 ... %> A physical parameter, see the individual lattice documentations
for details
92 ... %> A physical parameter, see the individual lattice documentations
for details
94 ... %> A physical parameter, see the individual lattice documentations
for details
95 'SO_rashba_intrinsic',[], ...
96 ... %> A physical parameter, see the individual lattice documentations
for details
97 'pair_potential',[], ...
98 ... %> A physical parameter, see the individual lattice documentations
for details
100 ... %> A physical parameter, see the individual lattice documentations
for details
102 ... %> A physical parameter, see the individual lattice documentations
for details
104 ... %> A physical parameter, see the individual lattice documentations
for details
105 'vargamma_sc', [], ...
106 ... %> 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.
107 'Lead_Orientation',[], ...
108 ... %> The number of regular
sites in the cross section of one unit cell in the lead.
110 ... %> A physical parameter, see the individual lattice documentations
for details
112 ... %> String containing the filename of the external Hamiltonain source (see
Custom_Hamiltonians for details)
114 ... %> Cell array of structure @
Atom.
118 elseif strcmp( name,
'Opt')
119 %> Structure
Opt contains the basic computational parameters used in EQuUs
120 ret =
struct( ... name:
Opt 121 ... %> Set 1 in order to supress output messages.
123 ... %> Set 1 to use the Bogoliubov de Gennes model, 0 (
default)
for normal systems.
125 ... %> Obsolete parameter
126 'Just_Create_Hamiltonians',[],...
127 ... %> Set
true if a magnetic field is involved in the calculations, false (
default) otherwise.
128 'magnetic_field',[],...
129 ... %> Set
true (
default)
if a magnetic field is translational invariant along the scattering center, or
false otherwise.
130 'magnetic_field_trans_invariant',[],...
131 ... %> String containining a bult-in vector potential. Possible values are:
'LandauX',
'LandauY' 133 ... %> 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.
135 ... %> 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.
136 'Linear_Regression_in_B',[],...
137 ... %> 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).
138 'Simple_Green_Function',[],...
139 ... %> String describing the preprogrammed lattice type. See the documentation of lattice types
for details
140 'Lattice_Type',[], ...
141 ... %> Number of leads attached to the scattering region.
143 ... %> Obsolete parameter
144 'Decimate_only_Dyson',[],...
145 ... %> The maximal number of the
sites to be decimated at once.
146 'Decimation_block',[],...
147 ... %> Option
for using decimation algorith. (see more details at the documenatation of
class Decimation)
149 ... %> Set 1 to use dual modes in the calculations, or 0 to use the left and right sided eigenvectors instead.
150 'usingDualModes',[], ...
151 ... %> Set 1 to export debug informations into the debug.txt file, or 0 otherwise.
153 ... %> Number of workers in the parallel pool.
156 'custom_Hamiltonians', [],...
157 ... %> Set 1 to use 1/2 spin degree of freedom in the
Hamiltonians, or 0 otherwise.
161 elseif strcmp( name,
'coordinates')
164 elseif strcmp( name, '
shape')
165 %> Structure
shape contains data about the geometry of the scattering region.
167 ... %> The number of
sites in the cross section.
169 ... %> Number of unit cells along the logitudinal direction in the scattering region.
174 %> Structure
scatterers contains data on the scattering impurities used in class
antidot 176 ... %> A vector of slab indexes in the ribbon.
178 ... %> A vector of site indexes in the slabs.
180 ... %> A vector of the on-site potentials.
182 ... %> A vector of the site indexes
184 ... %> Set true if the given
sites are about to remove from the lattice.
189 %> Structure
BandWidth describes the bandwidth in the lead and in the scattering center.
193 ... %> An instance of the structure @
BandWidthLimits for the scattering region.
200 ... %> The minimal value of the energy band.
202 ... %> The maximal value of the energy band.
206 elseif strcmp( name, '
Atom')
207 %> Structure
Atom contains the atomic identifiers of the
sites.
209 ... %> Identification number of the principal layer containing the atom.
211 ... %> Identification number of the atom.
218 %> Structure
open_channels describes the open channel in the individual leads.
220 ... %> Number of open channels.
222 ... %> Logical indexes of incoming electron-like channels.
223 'BdG_u_incoming', [],...
224 ... %> Logical indexes of outgoing electron-like channels.
225 'BdG_u_outgoing', [],...
226 ... %> true of the system is superconducting, false otherwise.
227 'isSuperconducting', [],...
228 ... %> Logical indexes of ingoing channels.
229 'open_channels_p', [],...
230 ... %> Logical indexes of outgoing channels.
231 'open_channels_m', []...
235 %> Structure
junction_sites contains data to identify the individual
sites of the leads, the interface regions and the scattering region in a matrix.
237 ... %> Structure @
sites describing the geometry of the leads.
239 ... %> Structure @
sites describing the geometry of the scattering region.
241 ... %> Structure @
sites describing the geometry of the interface regions.
245 elseif strcmp( name, 'sites')
246 %> Structure sites contains data to identify the individual sites in a matrix.
247 ret = struct( ... name: sites
248 ... %> An instance of structure @coordinates describing the geometry.
249 'coordinates', [],...
250 ... %> An array containing the site indexes of the given system part.
251 'site_indexes', []...
254 elseif strcmp( name, '
DOS') %NEW
255 %> Structure containg the energy resolved density of states
256 ret = struct( ... name:
DOS 257 ... %> Array of the density of states values
259 ... %> Array of the enrgy points
263 elseif strcmp( name, '
WaveFnc')
264 %> Structure containg datat on the calculated eigenstate in a translational invariant lead.
266 ... %> Cell array containing the individual wave functions.
268 ... %> Cell array containing the individual k-pints.
269 'ka', cell(length(ka_vec),1), ...
270 ... %> Cell array containing the individual energies.
271 'E', cell(length(ka_vec),1) ...
275 err = MException('structure:name', 'Unrecognized structure name');
276 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 scatter_param contains the physical parameters describing the scattering region...
Atom Atom
Cell array of structure Atom.
function Transport(Energy, B)
creating the Ribbon class representing the twoterminal setup
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 containing the physical parameters describing a given lead.
Structure containg the energy resolved density of states.
Structure scatterers contains data on the scattering impurities used in class antidot.
A class to import custom Hamiltonians provided by other codes or created manually ...
A class to calculate the Green functions and self energies of a translational invariant lead The nota...
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...
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, the interface regions and the scattering region in a matrix.
Atom Atom
Cell array of structure Atom.