Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
param_Lead.m
Go to the documentation of this file.
1 %% Eotvos Quantum Transport Utilities - param_Lead
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 structures Structures
18 %> @{
19 %> @file param_Lead.m
20 %> @brief Base class to construct a structure containing physical parameters of a specific lead.
21 %> @}
22 %> @brief Base class to construct a structure containing physical parameters of a specific lead.
23 %> @Available
24 %> EQuUs v4.9 or later
25 %%
26 classdef param_Lead
27 
28  properties
29  %> The superconducting pair potential
30  pair_potential
31  %> An instance of structure @shape describing the geometry of the scattering region.
32  FileName
33  %> Cell array of structure @Atom.
34  Atom
35  %> A physical parameter, see the individual lattice documentations for details
36  vargamma_sc
37  %> Orientation of the lead. Set to +1 (default) if the propagating direction of the states heading to the central device is defined in the +x or +y direction, and "-1" otherwise.
38  Lead_Orientation
39  %> The number of regular sites in the cross section of one unit cell in the lead.
40  M
41  end
42 
43 
44 
45 methods (Access=public)
46 
47 %% Contructor of the class
48 %> @brief Constructor of the class.
49 %> @return An instance of the class
50  function obj = param_Lead()
51 
52  % initializing class members
53  obj.pair_potential = [];
54  obj.FileName = [];
55  obj.Atom = [];
56  obj.vargamma_sc = [];
57  obj.Lead_Orientation = 1;
58  obj.M = [];
59 
60  end
61 
62 %% CopyParameters
63 %> @brief Copy the attributes of the input structure into the present object.
64 %> @param An instance of class identical to the present class or its superclass.
65 %> @return Returns with the modified class
66  function obj = CopyParameters(obj, param_lead_in )
67 
68  % checking the type of the class
69  class_type_obj = class( obj );
70  class_type_input = class( param_lead_in );
71 
72  if ~strcmpi( class_type_input, class_type_obj )
73  supClasses = superclasses(obj);
74  if sum( strcmp( supClasses, class_type_input ) ) == 0
75  error(['EQuUs:Structures:', class(obj), ':CopyParameters'], 'Invalid type of the input parameter');
76  end
77  end
78 
79  % copy the attribute from the input
80  fieldnames_input = fieldnames( param_lead_in );
81  for idx = 1:length(fieldnames_input)
82  fieldname = fieldnames_input{idx};
83  obj.(fieldname) = param_lead_in.(fieldname);
84  end
85 
86  end
87 
88 
89 end % public methods end
90 
91 end
Structure Atom contains the atomic identifiers of the sites.
Definition: structures.m:148
Base class to construct a structure containing physical parameters of a specific lead.
Definition: param_Lead.m:26
Structure shape contains data about the geometry of the scattering region.
Definition: structures.m:106
function Transport(Energy, B)
Calculates the conductance at a given energy value.
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
function structures(name)
Property FileName
An instance of structure shape describing the geometry of the scattering region.
Definition: param_Lead.m:35