Eötvös Quantum Utilities  v4.8.128
Providing the Horsepowers in the Quantum Realm
Graphene_antidot_transport.m
Go to the documentation of this file.
1 % Magnetic transport through a quantum antidot
2 % Copyright (C) 2015 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 Examples
18 %> @{
20 %> @brief Calculates the conductance through a graphene antidot in a homogeneous magnetic field.
21 %> @param filenum The identification number of the filenema for the exported data (default is 1).
22 %> @Available
23 %> EQuUs v4.7 or later
24 %> @expectedresult
25 %> @image html Graphene_antidot_transport.jpg
26 %> @image latex Graphene_antidot_transport.jpg
27 %> @}
28 %
29 %> @brief Calculates the conductance through a graphene antidot in a homogeneous magnetic field.
30 %> @param filenum The identification number of the filenema for the exported data (default is 1).
31 function Graphene_antidot_transport( filenum )
32 
33 if ~exist('filenum', 'var')
34  filenum = 1;
35 end
36 
37 filename = mfilename('fullpath');
38 [directory, fncname] = fileparts( filename );
39 
40  % The width of the graphene strip
41  width = 220;
42  % The length of the graphene strip
43  height = 350;
44  % The center and radius of the antidot
45  hole = struct( 'center', [width/2 height/2], 'radius', 90);
46  % Magnetic field in Tesla
47  B = 40;
48  % outfilename of the calculated data
49  outfilename = [fncname, '_',num2str( filenum )];
50  % the output directory
51  outputdir = [];
52  % An instance of class antidot
53  cAntidot = [];
54 
55  % setting the output directory
56  setOutputDir()
57 
58  % logical value
59  transport_calculations_finished = false;
60 
61 
62  % creating the scattering disorders in the lattice
63  points = round([27 195 27 195]);
64  scatterers.zpoints = round(points + rand(size(points))*5);
65  scatterers.z = round( ones(size(points))*height + [-30 -30 30 30] + rand(size(points))*5);
66  scatterers.siteindexes = [];
67  scatterers.aremissing = 1;
68 
69 
70  % the calculated spectrum of the lead
71  spectrum = []; % calculated spectrum of the
72  % cyclotron frequency
73  homega = [];
74  % The wave function of a localized antidot state
75  hole_wavefnc = [];
76  % An instance of structure coordinates storing the coordinates of the antidot
77  coordinates = [];
78  % edge siteindexes of the antidot
79  antidot_edge_points = [];
80  % antidot eigenenergies
81  antidot_eigenenergies = [];
82 
83  % creating an array of energies (in eV) to be used in the transport calculations
84  Emin = 0.001;
85  Emax = 0.22;
86  Enum = 200;
87  Evec = Emin:(Emax-Emin)/Enum:Emax;
88  Enum = length(Evec)-1;
89 
90  % An array storing the calculated conductances calculated conductance
91  Conductance = zeros(Enum+1,1);
92  % An array storing the error of the unitarity
93  DeltaC = zeros(Enum+1,1);
94 
95 
96  % setting the output directory
97  setOutputDir()
98  % calculate the conductances
100 
101  % plot the calculated data
102  PlotFunction();
103 
104  % exporting the calculated data
105  save( [outputdir, filesep, [outfilename, '.mat']] );
106 
107 %% CalculateTransport
108 %> @brief Calculates the conductance
109  function CalculateTransport()
110 
111  % creating an instance of antidot class
112  cAntidot = antidot('width', width, 'height', height, 'B', B, 'hole', hole, 'scatterers', scatterers );
113  % creates vector potential handles predefinied in class antidot (This method is obsolete, functions describing the vector potential should be placed inside the present file)
115 
116 
117  disp(' ')
118  disp(' ')
119  disp(' ----------------------------------')
120  disp('Plotting geometry and spectrum of leads:')
121  coordinates = cAntidot.coordinates;
122 
123  % calculate spectrum of the lead
124  cAntidot.setEnergy( Evec(1) )
125  cAntidot.CreateRibbon( 'justHamiltonians', true );
126  CalcSpectrum();
127  cAntidot.getHolePoints();
128  antidot_edge_points = cAntidot.antidot_edge_points;
129  PlotFunction();
130 
131 
132  disp(' ')
133  disp(' ')
134  disp(' ----------------------------------')
135  disp('Calculating Conductance for the given magnetic field')
136 
137 
138  % calculating the conductances as a function of the energy
139  for idx = 1:length(Evec)
140  tic
141  [C, ~,DeltaC_tmp] = cAntidot.Transport( Evec(idx) );
142  toc
143 
144  Conductance(idx) = C;
145  DeltaC(idx) = DeltaC_tmp;
146 
147  % exporting the calculated data
148  save( [outputdir, filesep, [outfilename, '.mat']] );
149 
150  % displaying the status of the caclutaions
151  disp([ num2str(idx/length(Evec)*100),' % calculated of the conductance.'])
152  disp( ' ' )
153 
154  % plot the results at every energy point
155  PlotFunction();
156 
157 
158  end
159 
160  transport_calculations_finished = true;
161 
162  % plot the results
163  PlotFunction();
164 
165  end
166 
167 %% CalcSpectrum
168 %> @brief calculates the spectrum of the leads
169  function CalcSpectrum()
170 
171  % Calculate the cyclotron frequency
172  rCC = cAntidot.rCC*1e-10; %Angstrom
173  phi0 = cAntidot.h/cAntidot.qe; % magnetic flux quantum
174  eta_B = 2*pi/phi0*(rCC)^2*cAntidot.B;
175  homega = 2.97*sqrt(9/2*eta_B);
176 
177  %Minimal and maximal value of the selected k points
178  kmin = 1*sqrt(3);
179  kmax = 1.8*sqrt(3);
180  % number of 1D k points
181  knum = 50;
182  spectrum = cAntidot.Scatter_UC.CalcSpektrum( 'toPlot', 0, 'ka_min', kmin, 'ka_max', kmax, 'ka_num', knum );
183 
184  end
185 
186 
187 %% secular_H
188 %> @brief Hamiltonian for the secular equation
189  function H = secular_H(H0,H1,k)
190 
191  H = H0 + H1*exp(1i*k) + H1'*exp(-1i*k);
192 
193  end
194 
195 
196 %% setOutputDir
197 %> @brief sets output directory
198  function setOutputDir()
199  resultsdir = 'results';
200  mkdir(resultsdir );
201  outputdir = [ resultsdir ];
202  end
203 
204 
205 
206 %% PlotFunction
207 %> @brief Creates the plot
208  function PlotFunction( )
209 
210  % creating figure in units of pixels
211  if ~transport_calculations_finished
212  figure1 = figure( 'Units', 'Pixels' );
213  else
214  figure1 = figure( 'Units', 'Pixels','Renderer','painters',...
215  'Colormap',[1 1 0.994791686534882;0.954365074634552 0.954365074634552 0.932043671607971;0.908730149269104 0.908730149269104 0.869295656681061;0.863095223903656 0.863095223903656 0.80654764175415;0.817460358142853 0.817460358142853 0.74379962682724;0.771825432777405 0.771825432777405 0.68105161190033;0.726190507411957 0.726190507411957 0.618303596973419;0.680555582046509 0.680555582046509 0.555555582046509;0.643518567085266 0.629629671573639 0.518518567085266;0.606481492519379 0.578703701496124 0.481481492519379;0.569444477558136 0.527777791023254 0.444444477558136;0.532407402992249 0.476851880550385 0.407407432794571;0.495370388031006 0.425925940275192 0.370370388031006;0.458333343267441 0.375 0.333333343267441;0.421296298503876 0.32407408952713 0.296296298503876;0.384259253740311 0.273148149251938 0.259259253740311;0.347222208976746 0.222222223877907 0.222222223877907;0.33983451128006 0.217494085431099 0.217494085431099;0.332446783781052 0.212765961885452 0.212765961885452;0.325059086084366 0.208037823438644 0.208037823438644;0.31767138838768 0.203309699892998 0.203309699892998;0.310283690690994 0.19858156144619 0.19858156144619;0.302895963191986 0.193853422999382 0.193853422999382;0.2955082654953 0.189125299453735 0.189125299453735;0.288120567798615 0.184397161006927 0.184397161006927;0.280732840299606 0.179669037461281 0.179669037461281;0.273345142602921 0.174940899014473 0.174940899014473;0.265957444906235 0.170212760567665 0.170212760567665;0.258569717407227 0.165484637022018 0.165484637022018;0.251182019710541 0.160756498575211 0.160756498575211;0.243794322013855 0.156028375029564 0.156028375029564;0.236406609416008 0.151300236582756 0.151300236582756;0.229018896818161 0.146572098135948 0.146572098135948;0.221631199121475 0.141843974590302 0.141843974590302;0.214243486523628 0.137115836143494 0.137115836143494;0.206855788826942 0.132387712597847 0.132387712597847;0.199468076229095 0.127659574151039 0.127659574151039;0.192080363631248 0.122931443154812 0.122931443154812;0.184692665934563 0.118203312158585 0.118203312158585;0.177304953336716 0.113475181162357 0.113475181162357;0.16991725564003 0.108747042715549 0.108747042715549;0.162529543042183 0.104018911719322 0.104018911719322;0.155141845345497 0.0992907807230949 0.0992907807230949;0.14775413274765 0.0945626497268677 0.0945626497268677;0.140366420149803 0.0898345187306404 0.0898345187306404;0.132978722453117 0.0851063802838326 0.0851063802838326;0.12559100985527 0.0803782492876053 0.0803782492876053;0.118203304708004 0.075650118291378 0.075650118291378;0.110815599560738 0.0709219872951508 0.0709219872951508;0.103427894413471 0.0661938562989235 0.0661938562989235;0.0960401818156242 0.0614657215774059 0.0614657215774059;0.0886524766683578 0.0567375905811787 0.0567375905811787;0.0812647715210915 0.0520094558596611 0.0520094558596611;0.0738770663738251 0.0472813248634338 0.0472813248634338;0.0664893612265587 0.0425531901419163 0.0425531901419163;0.059101652354002 0.037825059145689 0.037825059145689;0.0517139472067356 0.0330969281494617 0.0330969281494617;0.0443262383341789 0.0283687952905893 0.0283687952905893;0.0369385331869125 0.0236406624317169 0.0236406624317169;0.029550826177001 0.0189125295728445 0.0189125295728445;0.0221631191670895 0.0141843976452947 0.0141843976452947;0.0147754130885005 0.00945626478642225 0.00945626478642225;0.00738770654425025 0.00472813239321113 0.00472813239321113;0 0 0]);
216  end
217 
218  % font size on the figure will be 16 points
219  fontsize = 14;
220 
221 
222  %************** geometry **********************
223 
224  % creating axes of the plot
225  deltax_ps = 2; % 2n-1 es 2n kozotti tavolsag rCC egysegekben
226  deltax_pt = 1; % 2n es 2n+1 kozotti tavolsag rCC egysegekben
227  deltax = 3; % 2n-1 es 2n+1 kozotti tavolsag rCC egysegekben
228  deltay = sqrt(3);
229 
230  rightside = width/2*deltax*cAntidot.rCC;
231  top = height*deltay*cAntidot.rCC;
232 
233 
234  axes_geo = axes('Parent',figure1,...
235  'CLim',[0 0.028],...
236  'Visible', 'on',...
237  'FontSize', fontsize,...
238  'XTick', [], ...
239  'Box', 'on',...
240  'Units', 'Pixels', ...
241  'FontName','Times New Roman');
242  hold on;
243  axis equal;
244 
245  % plot the data
246  if ( ~transport_calculations_finished )
247  for idx = 1:size(antidot_edge_points,1)
248  ycoord = deltay*antidot_edge_points(idx,1)*ones(2,1)*cAntidot.rCC;
249 
250  xcoord = zeros(2,1);
251  if mod(antidot_edge_points(idx,2),2) == 0
252  xcoord(1) = (antidot_edge_points(idx,2)-2)/2*deltax + deltax_ps;
253  else
254  xcoord(1) = (antidot_edge_points(idx,2)-1)/2*deltax;
255  end
256 
257  if mod(antidot_edge_points(idx,2),3) == 0
258  xcoord(2) = (antidot_edge_points(idx,3)-2)/2*deltax + deltax_ps;
259  else
260  xcoord(2) = (antidot_edge_points(idx,3)-1)/2*deltax;
261  end
262  xcoord = xcoord*cAntidot.rCC;
263  plot(xcoord, ycoord,'+','MarkerSize', 4, 'Parent', axes_geo )
264  end
265 
266 
267  else
268 
269  if isempty(hole_wavefnc)
270  Energy = 0.1566375;
271  hole_wavefnc = cAntidot.CalcWavefnc( Energy, 1, 'toPlot', 0, 'filterHole', 1, 'db', 1, 'infinitemass', 0, 'dotCalc', 0 );
272  end
273  delta = 1;
274  levels = 25;
275  Wavefnc = hole_wavefnc.Wavefnc{1};
276  contourf( hole_wavefnc.xcoords(1:delta:end,1:delta:end), hole_wavefnc.ycoords(1:delta:end,1:delta:end), abs(Wavefnc(1:delta:end,1:delta:end)), ...
277  levels, 'LineStyle', 'none', 'Parent', axes_geo );
278  text(30,80, ['E = ', num2str(hole_wavefnc.eigenval*1000,3),' meV'], 'color', [0,0,0], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_geo);
279  end
280 
281  % plot the position of the leads
282  plot([0,0], [0,top],'LineWidth', 4, 'color', [0 0 0], 'Parent', axes_geo )
283  plot([rightside,rightside], [0,top],'LineWidth', 4, 'color', [0 0 0], 'Parent', axes_geo )
284 
285  % plot scattering centers
286  if isfield(scatterers, 'aremissing')
287  if scatterers.aremissing
288  marker = 'o';
289  markersize = 3;
290  else
291  marker = 'x';
292  markersize = 5;
293  end
294  else
295  marker = 'x';
296  markersize = 5;
297  end
298  plot( scatterers.zpoints/2*deltax*cAntidot.rCC, scatterers.z/2*deltay*cAntidot.rCC, ...
299  marker, 'MarkerSize', markersize, 'Parent', axes_geo )
300 
301 
302 
303  % Create ylabel
304  ylabel('y [A]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_geo);
305 
306  Lead1_pos = [ mean(coordinates.x(:,1)), min(coordinates.y(1,:))+20];
307  text(Lead1_pos(1), Lead1_pos(2), ['Lead'], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_geo);
308 
309  Lead2_pos = [ mean(coordinates.x(:,1)), max(coordinates.y(1,:))-20];
310  text(Lead2_pos(1), Lead2_pos(2), ['Lead'], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_geo);
311 
312 
313  %************** sepctrum in the lead **********************
314  x_lim = [min(spectrum(:,1)) max(spectrum(:,1))]/sqrt(3);
315  y_lim = [min(spectrum(:,2));max(spectrum(:,2))]*0.8;
316 
317 
318 
319  % creating axes of the plot
320  axes_spectrum = axes('Parent',figure1, ...
321  'Visible', 'on',...
322  'FontSize', fontsize,...
323  'xlim', x_lim,...
324  'ylim', y_lim,...
325  'Box', 'on',...
326  'Units', 'Pixels', ...
327  'FontName','Times New Roman');
328  hold on;
329 
330  Kpoint = 2*pi/3/sqrt(3);
331  Kpoint_pos = [Kpoint+0.005, 0.8*y_lim(2)];
332  plot(spectrum(:,1)/sqrt(3), spectrum(:,2),'.', 'MarkerSize', 4, 'Parent', axes_spectrum )
333  plot(Kpoint*ones(2,1), [min(spectrum(:,2));max(spectrum(:,2))], 'LineWidth', 1, 'Color', [0 0 0], 'Parent', axes_spectrum )
334  text(Kpoint_pos(1), Kpoint_pos(2), 'K', 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_spectrum);
335 
336  % Create xlabel
337  xlabel('k_yr_{CC}','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_spectrum);
338 
339  % Create ylabel
340  ylabel('E [eV]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_spectrum);
341 
342  % Create textbox
343  Position_Textbox = [0.65 0.7345 0.244 0.1274];
344  annotation(figure1,'textbox',Position_Textbox,...
345  'String',{['$$\hbar\omega = ',num2str(homega,'% 10.3f' ),'$$eV']},...
346  'FontSize',fontsize,...
347  'FontName','Times New Roman',...
348  'interpreter', 'latex', ...
349  'LineStyle','none');
350 
351 
352 
353  %************** Wavefunction in the lead **********************
354  % wave functionis calculated at a specific k point
355  specific_k = 1.25*sqrt(3);
356 
357  % create the effective Hamiltonian
358  cAntidot.setEnergy(0);
359  Surface_temp = cAntidot.Scatter_UC;
360  H0 = Surface_temp.Read( 'H0' );
361  H1 = Surface_temp.Read( 'H1' );
362  H0 = H0 - eye(size(H0))*mean(diag(H0));
363  H = secular_H(H0,H1,specific_k);
364  [waveFnc,E] = eigs(H,10,0.001);
365  E = diag(E);
366  chosen_idx =1;
367  x_lim = get(axes_geo,'xlim');
368 
369  % creating the axis
370  axes_wavefnc = axes('Parent',figure1,...
371  'Visible', 'on',...
372  'FontSize', fontsize,...
373  'xlim', x_lim,...
374  'Box', 'on',...
375  'Units', 'Pixels', ...
376  'FontName','Times New Roman');
377  hold on;
378 
379  square_Wavefnc = abs(waveFnc(1:length(coordinates.x(:,1)),chosen_idx)).^2;
380  plot(coordinates.x(:,1), square_Wavefnc, 'MarkerSize', 4, 'Parent', axes_wavefnc)
381 
382  % Create ylabel
383  cylabel = ylabel('|\Psi|^2','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_wavefnc);
384  set( cylabel, 'Units', 'Pixels');
385  ylabel_pos = get(cylabel, 'Position');
386  ylabel_pos(1) = ylabel_pos(1)+10;
387  ylabel_pos(2) = figure1.Position(4)/4-26;
388  set( cylabel, 'Position', ylabel_pos);
389 
390  % Create xlabel
391  xlabel('x [A]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_wavefnc);
392 
393  chosen_k_pos = [ max(coordinates.x(:,1))*0.05, max(square_Wavefnc)*0.95];
394  text(chosen_k_pos(1), chosen_k_pos(2), ['k_yr_{CC} = ',num2str(specific_k/sqrt(3),'% 10.2f')], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_wavefnc);
395  E_pos = [ max(coordinates.x(:,1))*0.05, max(square_Wavefnc)*0.8];
396  text(E_pos(1), E_pos(2), ['E = ',num2str(E(chosen_idx),'% 10.2f'),' eV'], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_wavefnc);
397  B_pos = [ max(coordinates.x(:,1))*0.05, max(square_Wavefnc)*0.65];
398  text(B_pos(1), B_pos(2), ['B = ',num2str(B,'% 10.2f'),' T'], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_wavefnc);
399 
400 
401 
402 
403  %************** Conductance **********************
404  x_lim = [ min(Evec) max(Evec) ];
405  axes_cond = axes('Parent',figure1,...
406  'Visible', 'on',...
407  'FontSize', fontsize,...
408  'xlim', x_lim,...
409  'Box', 'on',...
410  'Units', 'Pixels', ...
411  'FontName','Times New Roman');
412  hold on;
413  grid on;
414 
415  indexek = logical( abs(DeltaC) <= 0.5 );
416 
417  numerics = plot(Evec(indexek), Conductance(indexek), 'Linewidth', 2, 'color', [0 0 0], 'Parent', axes_cond);
418  try
419  plot(Evec(indexek), DeltaC(indexek), 'Linewidth', 1, 'color', [0 1 0], 'Parent', axes_cond);
420  catch
421  disp('No DeltaC data present')
422  end
423 
424  if ~isempty( antidot_eigenenergies )
425  y_lim = [0 0.9];%[0 max(Conductance(indexek)) ];
426  for idx = 1:length(antidot_eigenenergies)
427  plot( ones(1,2)*antidot_eigenenergies(idx), y_lim, 'Linewidth', 1, 'color', [1 0 0], 'Parent', axes_cond);
428  end
429  end
430 
431 
432 
433  % Create xlabel
434  xlabel('E [eV]','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_cond);
435 
436  % Create ylabel
437  ylabel('\sigma/\sigma_0','FontSize', fontsize,'FontName','Times New Roman', 'Parent', axes_cond);
438 
439  E_pos = [ max(Evec)*0.5, max(Conductance(indexek))*0.35];
440  text(E_pos(1), E_pos(2), ['B = ',num2str(B,'% 10.2f'),' T'], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_cond);
441  E_pos = [ max(Evec)*0.5, max(Conductance(indexek))*0.15];
442  text(E_pos(1), E_pos(2), ['\phi/\phi_0 = ',num2str(cAntidot.flux_of_hole,3)], 'FontSize', fontsize, 'FontName','Times New Roman', 'Parent', axes_cond);
443 
444  fig_legend = legend(axes_cond, {'conductance', 'unitarity error'});%, 'FontSize', fontsize, 'FontName','Times New Roman')
445  set(fig_legend, 'FontSize', fontsize, 'FontName', 'Times New Roman', 'Box', 'off', 'Location', 'NorthEast')
446 
447 
448  %set the position of the geometry axis
449  OuterPosition_geo = get(axes_geo, 'OuterPosition');
450  OuterPosition_geo(1) = 0;
451  OuterPosition_geo(2) = figure1.Position(4)/2;
452  OuterPosition_geo(3) = figure1.Position(3)/2;
453  OuterPosition_geo(4) = figure1.Position(4)/2;
454  set(axes_geo, 'OuterPosition', OuterPosition_geo);
455  Position_geo = get(axes_geo, 'OuterPosition') - get(axes_geo, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1];
456  set(axes_geo, 'Position', Position_geo);
457 
458  %set the position of the spectrum axis
459  OuterPosition_spectrum = get(axes_spectrum, 'OuterPosition');
460  OuterPosition_spectrum(1) = figure1.Position(3)/2;
461  OuterPosition_spectrum(2) = figure1.Position(4)/2;
462  OuterPosition_spectrum(3) = figure1.Position(3)/2;
463  OuterPosition_spectrum(4) = figure1.Position(4)/2;
464  set(axes_spectrum, 'OuterPosition', OuterPosition_spectrum);
465  Position_spectrum = get(axes_spectrum, 'OuterPosition') - get(axes_spectrum, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1];
466  set(axes_spectrum, 'Position', Position_spectrum);
467 
468  %set the position of the wavefnc axis
469  OuterPosition_wavefnc = get(axes_wavefnc, 'OuterPosition');
470  OuterPosition_wavefnc(1) = 0;
471  OuterPosition_wavefnc(2) = 0;
472  OuterPosition_wavefnc(3) = figure1.Position(3)/2;
473  OuterPosition_wavefnc(4) = figure1.Position(4)/2;
474  set(axes_wavefnc, 'OuterPosition', OuterPosition_wavefnc);
475 % Position_wavefnc = get(axes_wavefnc, 'OuterPosition') - get(axes_wavefnc, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1];
476 % Position_wavefnc(1) = Position_geo(1);
477 % Position_wavefnc(3) = Position_geo(3);
478 % set(axes_wavefnc, 'Position', Position_wavefnc);
479 
480  %set the position of the conductance axis
481  OuterPosition_cond = get(axes_cond, 'OuterPosition');
482  OuterPosition_cond(1) = figure1.Position(3)/2;
483  OuterPosition_cond(2) = 0;
484  OuterPosition_cond(3) = figure1.Position(3)/2;
485  OuterPosition_cond(4) = figure1.Position(4)/2;
486  set(axes_cond, 'OuterPosition', OuterPosition_cond);
487  Position_cond = get(axes_cond, 'OuterPosition') - get(axes_cond, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1];
488  set(axes_cond, 'Position', Position_cond);
489 
490 
491  % setting the position and margins of the plot, removing white spaces
492  figure1.PaperPositionMode = 'auto';
493  fig_pos = figure1.Position;
494  set(figure1, 'PaperSize', [fig_pos(3) fig_pos(4)]);
495 
496  % export the figures
497  try
498  print('-depsc2', fullfile(outputdir, [outfilename,'.eps']))
499  print('-dpdf', fullfile(outputdir,[outfilename, '.pdf']))
500  catch errCause
501  disp('Failed to export figure');
502  disp( errCause.identifier );
503  disp( errCause.stack(1) );
504  end
505  close(figure1)
506 
507  end
508 
509 
510 
511 end
function CalcSpectrum()
calculates the spectrum of the leads
function Graphene_antidot_transport(filenum)
Calculates the conductance through a graphene antidot in a homogeneous magnetic field.
Structure hole contains the data about the antidot used in class antidot.
Definition: structures.m:23
function setOutputDir()
sets output directory
function Transport(Energy, B)
creating the Ribbon class representing the twoterminal setup
A class to perform transport calculations on a graphene antidot (i.e., a hollow in a ribbon)...
Definition: antidot.m:24
function PlotFunction()
Creates the plot.
Structure scatterers contains data on the scattering impurities used in class antidot.
Definition: structures.m:175
function secular_H(H0, H1, k)
Hamiltonian for the secular equation.
function CreateHandlesForMagneticField(B)
Creates and set function handles of the magnetic vector potentials in the Ribbon class.
A class to calculate the Green functions and self energies of a translational invariant lead The nota...
Definition: Lead.m:29
Structure param contains data structures describing the physical parameters of the scattering center ...
Definition: structures.m:45
function CalculateTransport()
Calculates the conductance.