Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
Coulomb_Diamonds.m
Go to the documentation of this file.
1 % Transport calculation through a graphene QD including the charging energy - based on EQuUs v4.8
2 % Compare results to Fig.3 in 2014 Nanotechnology 25 465201.
3 % Copyright (C) 2017 Peter Rakyta, Ph.D.
4 %
5 % This program is free software: you can redistribute it and/or modify
6 % it under the terms of the GNU General Public License as published by
7 % the Free Software Foundation, either version 3 of the License, or
8 % (at your option) any later version.
9 %
10 % This program is distributed in the hope that it will be useful,
11 % but WITHOUT ANY WARRANTY; without even the implied warranty of
12 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 % GNU General Public License for more details.
14 %
15 % You should have received a copy of the GNU General Public License
16 % along with this program. If not, see http://www.gnu.org/licenses/.
17 %
18 %> @addtogroup Examples
19 %> @{
20 %> @file Coulomb_Diamonds.m
21 %> @brief Transport calculation through a graphene QD including the charging energy utilizing the diagarmmatic technique of ......
22 %> @param filenum The identification number of the filenema for the exported data (default is 1).
23 %> @reference
24 %> Herbert Scholler and Gerd Schon Phys RevB <B>50</B> 18436 (1994)
25 %> @Available
26 %> EQuUs v4.9 or later
27 %> @expectedresult
28 %> @image html Coulomb_Diamonds.jpg
29 %> @image latex Coulomb_Diamonds.jpg
30 %> @}
31 %
32 %> @brief Transport calculation through a graphene QD including the charging energy utilizing the diagarmmatic technique of ......
33 %> @param filenum The identification number of the filenema for the exported data (default is 1).
34 function Coulomb_Diamonds( filenum )
35 
36 if ~exist('filenum', 'var')
37  filenum = 1;
38 end
39 
40 filename = mfilename('fullpath');
41 [directory, fncname] = fileparts( filename );
42 
43  % filename containing the input XML
44  inputXML = 'Input_Coulomb.xml';
45  % Parsing the input file and creating data structures
46  [Opt, param] = parseInput( fullfile( directory, inputXML ) );
47 
48  % The hopping parameter obtained from the input file
49  vargamma = param.scatter.vargamma;
50 
51  % The charging energy
52  Ec = 0.1*vargamma;
53  % The maximal bias on the system
54  bias_max = 4*Ec;
55  % The maximal bias on the system
56  gateVoltage_max = 5*Ec;
57  % number of energy points to be used for the calculations in the Quantum Dot class
58  Enum = 800;
59  % The Boltzman constant
60  k_B = 8.6173324e-5;
61  % temperature in K
62  T = 0.05*Ec/k_B;
63  % width of the junction
64  width = 6;
65  % length of the junction
66  height = 8;
67  % filename containing the output XML
68  outfilename = [fncname,'_',num2str( filenum )];
69  % the output folder
70  outputdir = [];
71  % false to supress output messages
72  silent = false;
73  % The differential conductance as a function of the magnetic field
74  diff_conductance = [];
75 
76  % array containing the bias voltage values
77  bias_vec = [];
78  % array containing the gate voltage values
79  gateVoltage_vec = [];
80  % Ribbon class describing the junction
81  cRibbon = [];
82  % Two dimensional array containg the calculated current values
83  current_surf = [];
84 
85  % doping levels of the QD in the single-electron picture (without the charging energy)
86  %doping_levels = [ -0.981 -0.963 -0.276 -0.246 -0.009179 0 0.009179 0.036 0.2754 0.309 0.981 1.00]; %gamma_sc = 0.3
87  doping_levels = [ -0.993 -0.984 -0.981 -0.951 -0.279 -0.231 -0.009179 0 0.009179 0.057 0.279 0.342 0.981 0.984 0.993 1.026]; %gamma_sc = 0.5
88 
89 
90 
91  % creating output directories
92  setOutputDir();
93 
94  % Calculates the non-interacting transport through a graphene island
96 
97  % creates the plot
98  PlotFunction()
99 
100  % exporting the calculated data
101  save( fullfile(outputdir, [outfilename, '.mat']));
102 
103 %% CalcTransport
104 %> @brief Calculates the transport through a quantum dot
106 
107  display('****** Calculating non-interacting transport through a Quantum dot ******')
108  display(' ')
109 
110  % creating the Ribbon interface describing the junction
111  cRibbon = Ribbon('width', width, 'height', height, 'EF', 1e-6, 'silent', silent, 'Opt', Opt, 'param', param, 'filenameOut', fullfile(outputdir, [outfilename, '.xml']), ...
112  'leadmodel', @Square_leads, 'interfacemodel', @InterfaceModel);
113 
114 
115 
116  % creating array containing the bias values
117  bias_num = 200;
118  bias_min = -bias_max;
119  bias_vec = bias_min:(bias_max-bias_min)/(bias_num+1):bias_max;
120  bias_vec = sort( [bias_vec, 0], 'ascend');
121 
122  % creating array containing the gate voltage values
123  gateVoltage_num = 200;
124  gateVoltage_min = -gateVoltage_max;
125  gateVoltage_vec = gateVoltage_min:(gateVoltage_max-gateVoltage_min)/(gateVoltage_num+1):gateVoltage_max + Ec;
126 
127 
128  % creating the QuantumDot class to calculate the current
129  cQD = QuantumDot( Opt, 'Ec', Ec, 'T', T, 'bias_max', bias_max, 'junction', cRibbon, 'scatterPotential', @(CreateH,E)ScatterPotQD(CreateH, E),...
130  'gfininvfromHamiltonian', true, 'Edb', Enum);
131 
132 
133  % preallocating arrays for the calculations
134  current_surf = zeros( length(gateVoltage_vec), length(bias_vec) );
135  diff_conductance = zeros( length(gateVoltage_vec), length(bias_vec)-1 );
136 
137 
138  % starting parallel pool
139  poolmanager = Parallel( Opt );
140  poolmanager.openPool();
141 
142  % Determine the DOS for the calculations
143  %cQD.DetermineDensityOfStates( -1.5, 1.5, 1000);
144 
145  for jdx = 1:length(gateVoltage_vec)
146 
147  gateVoltage = gateVoltage_vec(jdx);
148  disp(['Calculating for gate voltage = ', num2str(gateVoltage)]);
149 
150  % Determine chamical potentials of the individual filling factors
151  cQD.SetChemicalPotentials( doping_levels, gateVoltage );
152 
153  % calculating the tunneling rates for the given gate voltage
154  cQD.CalcTunnelingRates( gateVoltage );
155 
156 
157  for idx = 1:length(bias_vec)
158 
159  % the current bias
160  bias = bias_vec(idx);
161 
162  % determine the transition rates
163  cQD.DetermineSelfEnergy( bias, gateVoltage );
164 
165  % determine the steady state occupation probabilities
166  OccupationProbabilities = cQD.DetermineOccupationProbabilities();
167 
168 
169  if abs(bias - min(abs(bias_vec))) < 1e-4
170  display('Occupation probabilities in equilibrium')
171  disp(transpose(OccupationProbabilities));
172  end
173 
174  % Determine the new current operator for the new bias value at lead 1
175  cQD.DetermineCurrentOperator( bias, gateVoltage, 1 );
176 
177  % calculate the steady state current
178  current_tmp = cQD.DetermineCurrent();
179  current_surf(jdx,idx) = current_tmp;
180 
181  % Check the equivalence of the current in the two leads
182  if abs(bias - max(bias_vec)) < 1e-4
183 
184  % Determine the new current operator for the new bias value at lead 2
185  cQD.DetermineCurrentOperator( bias, gateVoltage, 2 );
186 
187  % calculate the steady state current
188  current_tmp2 = cQD.DetermineCurrent();
189 
190  disp(['The difference between the current of the two leads: ', num2str( current_tmp+current_tmp2)])
191 
192  end
193 
194  end
195 
196  % calculating differential conductance
197  diff_conductance(jdx, :) = diff(current_surf(jdx,:))./diff(bias_vec);
198 
199  % creates the plot
200  PlotFunction()
201 
202  % export the calculetd data
203  save( [outputdir,'/',outfilename,'.mat']);
204 
205  end
206 
207  % closing the parallel pool
208  poolmanager.closePool();
209 
210 
211 
212  end
213 
214 
215 
216 %% ScatterPotQD
217 %> @brief Removing unecessary sites from the scattering region
218  function ret = ScatterPotQD(CreateH, E )
219 
220  coordinates = CreateH.Read('coordinates');
221  y = coordinates.y;
222  max_y = max(y);
223 
224  % determine sites to be removed to reproduce the scattering region in 2014 Nanotechnology 25 465201
225  indexes2remove = ~(y<max_y);
226 
227  CreateH.Write('kulso_szabfokok', []);
228 
229  y( indexes2remove ) = max_y/2;
230  max_y = max(y);
231  min_y = min(y);
232 
233  % creating new array for the edge-sites
234  edge_sites_logical = ~(y<max_y & y>min_y);
235  edge_sites = 1:length(y);
236  edge_sites = edge_sites(edge_sites_logical);
237  CreateH.Write('kulso_szabfokok', edge_sites);
238 
239 
240  % removing sites from the scattering region
241  CreateH.RemoveSites( indexes2remove )
242 
243 
244  % store the modified Hamiltonian
245  Hscatter = CreateH.Read('Hscatter');
246 
247  ret = sparse([], [], [], size(Hscatter,1), size(Hscatter,2));
248 
249  end
250 
251 %% Square_leads
252 %> @brief Function producing custom lead Hamiltonians defined on a square lattice. The function has equivalent inputs and return values as #Transport_Interface.SurfaceGreenFunctionCalculator and E is standing for the energy.
253  function Lead_ret = Square_leads( idx, E, varargin )
254  p_inner = inputParser;
255 
256  p_inner.addParameter('createCore', 0);
257  p_inner.addParameter('Just_Create_Hamiltonians', 0);
258  p_inner.addParameter('shiftLead', 0);
259  p_inner.addParameter('coordinates_shift', 0);
260  p_inner.addParameter('transversepotential', []);
261  p_inner.addParameter('Lead',[]);
262  p_inner.addParameter('gauge_field', [] );% gauge field for performing gauge transformation
263  p_inner.addParameter('SelfEnergy',false); % set true to calculate the self energy of the semi-infinite lead
264  p_inner.addParameter('SurfaceGreensFunction', true );% set true to calculate the surface Greens function of the semi-infinite lead
265  p_inner.addParameter('q', [] ) %transverse momentum
266 
267  p_inner.parse(varargin{:});
268 
269  createCore = p_inner.Results.createCore;
270  Just_Create_Hamiltonians = p_inner.Results.Just_Create_Hamiltonians;
271  shiftLead = p_inner.Results.shiftLead;
272  coordinates_shift = p_inner.Results.coordinates_shift;
273  transversepotential = p_inner.Results.transversepotential;
274  Lead = [];%p_inner.Results.Surface_tmp;
275  gauge_field = p_inner.Results.gauge_field; % gauge field for performing gauge transformation
276  SelfEnergy = p_inner.Results.SelfEnergy;
277  SurfaceGreensFunction = p_inner.Results.SurfaceGreensFunction;
278  q = p_inner.Results.q;
279 
280  Opt2 = Opt;
281  Opt2.Lattice_Type = 'Square';
282  Opt2.Silent = true;
283 
284  param2 = param;
285  param2.Leads{idx} = param_Square_Lead();
286  param2.Leads{idx}.epsilon = param.Leads{idx}.epsilon;
287  param2.Leads{idx}.vargamma = param.Leads{idx}.vargamma;
288  param2.Leads{idx}.M = width;
289 
290 
291  FL_handles = Transport_Interface(E, Opt2, param2);
292 
293  Lead_ret = FL_handles.SurfaceGreenFunctionCalculator(idx, 'createCore', createCore, ...
294  'Just_Create_Hamiltonians', Just_Create_Hamiltonians, ...
295  'shiftLead', shiftLead, ...
296  'coordinates_shift', coordinates_shift, ...
297  'transversepotential', transversepotential, ...
298  'gauge_field', gauge_field, ...
299  'SelfEnergy', SelfEnergy, ...
300  'SurfaceGreensFunction', SurfaceGreensFunction, ...
301  'q', q);
302 
303  end
304 
305 
307 %> @brief Method to adjust the Hamiltonians of the interface regions
308  function InterfaceModel( Interface_Region )
309 
310  Kcoupling = Interface_Region.Read('Kcoupling');
311  Kcouplingadj = Interface_Region.Read('Kcouplingadj');
312 
313 
314  [rows, cols] = find( Kcoupling );
315  rows = unique(rows);
316 
317  Kcoupling = Kcoupling(rows, :);
318  Kcouplingadj = Kcouplingadj(:, rows);
319 
320  Interface_Region.Write('Kcoupling', Kcoupling);
321  Interface_Region.Write('Kcouplingadj', Kcouplingadj);
322 
323 
324  end
325 
326 %% PlotFunction
327 %> @brief Creates the plot
328  function PlotFunction()
329 
330  % creating figure in units of pixels
331  figure1 = figure('Units', 'Pixels', 'Visible', 'off', 'Colormap', ...
332  [0 0 0;0.0300625283271074 0.0187878794968128 0.0119648873806;0.0601250566542149 0.0375757589936256 0.0239297747612;0.0901875868439674 0.0563636384904385 0.0358946621417999;0.12025011330843 0.0751515179872513 0.0478595495223999;0.150312647223473 0.0939393937587738 0.0598244369029999;0.180375173687935 0.112727276980877 0.0717893242835999;0.210437700152397 0.131515145301819 0.0837542116641998;0.240500226616859 0.150303035974503 0.0957190990447998;0.270562767982483 0.169090911746025 0.1076839864254;0.300625294446945 0.187878787517548 0.119648873806;0.330687820911407 0.20666666328907 0.1316137611866;0.36075034737587 0.225454553961754 0.1435786485672;0.390812873840332 0.244242429733276 0.1555435359478;0.420875400304794 0.263030290603638 0.1675084233284;0.450937926769257 0.281818181276321 0.179473310709;0.481000453233719 0.300606071949005 0.1914381980896;0.511062979698181 0.319393932819366 0.2034030854702;0.541125535964966 0.33818182349205 0.2153679728508;0.571188032627106 0.356969714164734 0.2273328602314;0.60125058889389 0.375757575035095 0.239297747612;0.63131308555603 0.394545465707779 0.251262634992599;0.661375641822815 0.41333332657814 0.263227522373199;0.6914381980896 0.432121217250824 0.275192409753799;0.72150069475174 0.450909107923508 0.287157297134399;0.751563251018524 0.469696968793869 0.299122184514999;0.781625747680664 0.488484859466553 0.311087071895599;0.811688303947449 0.507272720336914 0.323051959276199;0.841750800609589 0.526060581207275 0.335016846656799;0.871813356876373 0.544848501682281 0.346981734037399;0.901875853538513 0.563636362552643 0.358946621417999;0.931938409805298 0.582424223423004 0.370911508798599;0.962000906467438 0.60121214389801 0.382876396179199;0.992063462734222 0.620000004768372 0.394841283559799;0.992327988147736 0.625373363494873 0.398263245820999;0.992592573165894 0.63074666261673 0.401685208082199;0.992857098579407 0.636120021343231 0.405107140541077;0.993121683597565 0.641493320465088 0.408529102802277;0.993386209011078 0.646866679191589 0.411951065063477;0.993650794029236 0.652239978313446 0.415373027324677;0.993915319442749 0.657613337039948 0.418794989585876;0.994179844856262 0.662986695766449 0.422216951847076;0.99444442987442 0.668359994888306 0.425638914108276;0.994708955287933 0.673733353614807 0.429060846567154;0.994973540306091 0.679106652736664 0.432482808828354;0.995238065719604 0.684480011463165 0.435904771089554;0.995502650737762 0.689853310585022 0.439326733350754;0.995767176151276 0.695226669311523 0.442748695611954;0.996031761169434 0.700600028038025 0.446170628070831;0.996296286582947 0.705973327159882 0.449592590332031;0.99656081199646 0.711346685886383 0.453014552593231;0.996825397014618 0.71671998500824 0.456436514854431;0.997089922428131 0.722093343734741 0.459858477115631;0.997354507446289 0.727466642856598 0.463280439376831;0.997619032859802 0.732840001583099 0.466702401638031;0.99788361787796 0.738213300704956 0.470124334096909;0.998148143291473 0.743586659431458 0.473546296358109;0.998412668704987 0.748960018157959 0.476968258619308;0.998677253723145 0.754333317279816 0.480390220880508;0.998941779136658 0.759706676006317 0.483812183141708;0.999206364154816 0.765079975128174 0.487234115600586;0.999470889568329 0.770453333854675 0.490656077861786;0.999735474586487 0.775826632976532 0.494078040122986;1 0.781199991703033 0.497500002384186]);
333 
334  % font size on the figure will be 16 points
335  fontsize = 16;
336 
337  % creating axes of the plot
338  axes1 = axes('Parent',figure1, ...
339  'Visible', 'on',...
340  'FontSize', fontsize,...
341  'Box', 'on',...
342  'Units', 'Pixels', ...
343  'FontName','Times New Roman');
344  hold on;
345 
346  % Create xlabel
347  xlabel('Gate voltage [E_c]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes1);
348 
349  % Create ylabel
350  ylabel('Bias [E_c]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes1);
351 
352  % plot the data
353  if ~isempty( diff_conductance )
354  contourf( gateVoltage_vec/Ec, (bias_vec(1:end-1)+bias_vec(2:end))/2/Ec, transpose(diff_conductance), 'LineStyle','none','LineColor',[0 0 0],...
355  'LevelList',[-0.000275211478671962 0.00015807932351996 0.00059137012571188 0.0010246609279038 0.00145795173009572 0.00189124253228764 0.00232453333447956 0.00275782413667149 0.00319111493886341 0.00362440574105533 0.00405769654324725 0.00449098734543917 0.00492427814763109 0.00535756894982301 0.00579085975201493 0.00622415055420685 0.00665744135639878 0.0070907321585907 0.00752402296078262 0.00795731376297454 0.00839060456516646 0.00882389536735838 0.0092571861695503 0.00969047697174222 0.0101237677739341 0.0105570585761261 0.010990349378318 0.0114236401805099 0.0118569309827018 0.0122902217848937 0.0127235125870857 0.0131568033892776 0.0135900941914695 0.0140233849936614 0.0144566757958534 0.0148899665980453 0.0153232574002372 0.0157565482024291 0.016189839004621 0.016623129806813 0.0170564206090049 0.0174897114111968 0.0179230022133887 0.0183562930155806 0.0187895838177726 0.0192228746199645 0.0196561654221564 0.0200894562243483 0.0205227470265402 0.0209560378287322 0.0213893286309241 0.021822619433116 0.0222559102353079 0.0226892010374999 0.0231224918396918 0.0235557826418837 0.0239890734440756 0.0244223642462675 0.0248556550484595 0.0252889458506514 0.0257222366528433 0.0261555274550352 0.0265888182572271 0.0270221090594191 0.027455399861611 0.0278886906638029 0.0283219814659948 0.0287552722681867 0.0291885630703787 0.0296218538725706 0.0300551446747625 0.0304884354769544 0.0309217262791464 0.0313550170813383 0.0317883078835302 0.0322215986857221 0.032654889487914 0.033088180290106 0.0335214710922979 0.0339547618944898 0.0343880526966817 0.0348213434988736 0.0352546343010656 0.0356879251032575 0.0361212159054494 0.0365545067076413 0.0369877975098332 0.0374210883120252 0.0378543791142171 0.038287669916409 0.0387209607186009 0.0391542515207929 0.0395875423229848 0.0400208331251767 0.0404541239273686 0.0408874147295605 0.0413207055317525 0.0417539963339444 0.0421872871361363 0.0426205779383282 0.0430538687405201 0.0434871595427121 0.043920450344904 0.0443537411470959 0.0447870319492878 0.0452203227514798 0.0456536135536717 0.0460869043558636 0.0465201951580555 0.0469534859602474 0.0473867767624394 0.0478200675646313 0.0482533583668232 0.0486866491690151 0.049119939971207 0.049553230773399 0.0499865215755909 0.0504198123777828 0.0508531031799747 0.0512863939821666 0.0517196847843586 0.0521529755865505 0.0525862663887424 0.0530195571909343 0.0534528479931263 0.0538861387953182 0.0543194295975101 0.054752720399702 0.0551860112018939 0.0556193020040859 0.0560525928062778 0.0564858836084697 0.0569191744106616 0.0573524652128535 0.0577857560150455 0.0582190468172374 0.0586523376194293 0.0590856284216212 0.0595189192238131 0.0599522100260051 0.060385500828197 0.0608187916303889 0.0612520824325808 0.0616853732347728 0.0621186640369647 0.0625519548391566 0.0629852456413485 0.0634185364435404 0.0638518272457324 0.0642851180479243 0.0647184088501162 0.0651516996523081 0.0655849904545 0.066018281256692 0.0664515720588839 0.0668848628610758 0.0673181536632677 0.0677514444654596 0.0681847352676516 0.0686180260698435 0.0690513168720354 0.0694846076742273 0.0699178984764192 0.0703511892786112 0.0707844800808031 0.071217770882995 0.0716510616851869 0.0720843524873788 0.0725176432895708 0.0729509340917627 0.0733842248939546 0.0738175156961465 0.0742508064983385 0.0746840973005304 0.0751173881027223 0.0755506789049142 0.0759839697071061 0.0764172605092981 0.07685055131149 0.0772838421136819 0.0777171329158738 0.0781504237180657 0.0785837145202577 0.0790170053224496 0.0794502961246415 0.0798835869268334 0.0803168777290253 0.0807501685312173 0.0811834593334092 0.0816167501356011 0.082050040937793 0.082483331739985 0.0829166225421769 0.0833499133443688 0.0837832041465607 0.0842164949487526 0.0846497857509446 0.0850830765531365 0.0855163673553284 0.0859496581575203 0.0863829489597123],...
356  'Fill','on', 'Parent', axes1);
357  end
358 
359  % set the paper position in releases greater than 2016
360  ver = version('-release');
361  if str2num(ver(1:4)) >= 2016
362  % setting the position and margins of the plot, removing white spaces
363  figure1.PaperPositionMode = 'auto';
364  fig_pos = figure1.PaperPosition;
365  figure1.PaperSize = [fig_pos(3) fig_pos(4)];
366  end
367 
368  Position_figure = get(figure1, 'Position');
369  Position_figure(1) = 0;
370  Position_figure(2) = 0;
371  set(axes1, 'OuterPosition', Position_figure);
372 
373  % export the figures
374  try
375  print('-depsc2', fullfile(outputdir, [outfilename,'.eps']))
376  print('-dpdf', fullfile(outputdir,[outfilename, '.pdf']))
377  catch errCause
378  disp('Failed to export figure');
379  disp( errCause.identifier );
380  disp( errCause.stack(1) );
381  end
382  close(figure1)
383 
384 
385 
386 
387  end
388 
389 
390 
391 %% setOutputDir
392 %> @brief Sets the output directory
394  resultsdir = 'results';
395  mkdir(fullfile(directory, resultsdir) );
396  outputdir = resultsdir;
397  end
398 
399 
400 
401 
402 end
Lattice_Type
String describing the preprogrammed lattice type. See the documentation of lattice types for details.
Definition: structures.m:80
lead_param Leads
A list of structures lead_param containing the physical parameters for the scattering region.
Definition: structures.m:49
A class for controlling the parallel pool for paralell computations.
Definition: Parallel.m:26
Structure Opt contains the basic computational parameters used in EQuUs.
Definition: structures.m:60
function CalcTransport()
Calculates the transport through a quantum dot.
A class to process transport calculations on quantum dots.
Definition: QuantumDot.m:26
A class for calculations on a ribbon of finite width for equilibrium calculations mostly in the zero ...
Definition: Ribbon.m:34
function Transport(Energy, B)
Calculates the conductance at a given energy value.
A class to evaluate the Dyson equation and to calculate the scattering matrix for equilibrium process...
function Hamiltonians(varargin)
Function to create the custom Hamiltonians for the 1D chain.
Structure containg the energy resolved density of states.
Definition: structures.m:196
A class to calculate the Green functions and self energies of a translational invariant lead The nota...
Definition: Lead.m:29
function()
function InterfaceModel(Interface_Region)
Method to adjust the Hamiltonians of the interface regions.
Class containing physical parameters of a particular lead defined on a square lattice.
Structure param contains data structures describing the physical parameters of the scattering center ...
Definition: structures.m:45
function Square_leads(idx, E, varargin)
Function producing custom lead Hamiltonians defined on a square lattice. The function has equivalent ...
Structure sites contains data to identify the individual sites in a matrix.
Definition: structures.m:187
function gauge_field(x, y, eta_B, Aconst, height, lattice_constant)
Scalar gauge field connecting Landaux and Landauy gauges.
function PlotFunction()
Creates the plot.
function parseInput(filename)
This function parses the input file containing the input parameters.
function setOutputDir()
Sets the output directory.
function structures(name)
function ScatterPotQD(CreateH, E)
Removing unecessary sites from the scattering region.
function Coulomb_Diamonds(filenum)
Transport calculation through a graphene QD including the charging energy utilizing the diagarmmatic ...