Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
param_scatter.m
Go to the documentation of this file.
1 %% Eotvos Quantum Transport Utilities - param_scatter
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_scatter.m
20 %> @brief Base class to construct a structure containing physical parameters of the scattering region.
21 %> @}
22 %> @brief Base class to construct a structure containing physical parameters of the scattering region.
23 %> @Available
24 %> EQuUs v4.9 or later
25 %%
26 classdef param_scatter
27 
28  properties
29  %> The superconducting pair potential
30  pair_potential
31  %> An instance of structure @shape describing the geometry of the scattering region.
33  %> String containing the filename of the external Hamiltonain source (see Custom_Hamiltonians for details)
34  FileName
35  %> Cell array of structure @Atom.
36  Atom
37  end
38 
39 
40 
41 methods (Access=public)
42 
43 %% Contructor of the class
44 %> @brief Constructor of the class.
45 %> @return An instance of the class
46  function obj = param_scatter()
47 
48  % initializing class members
49  obj.pair_potential = [];
50  obj.shape = structures('shape');
51  obj.FileName = [];
52  obj.Atom = [];
53 
54  end
55 
56 
57 %% CopyParameters
58 %> @brief Copy the attributes of the input structure into the present object.
59 %> @param An instance of class identical to the present class or its superclass.
60 %> @return Returns with the modified class
61  function obj = CopyParameters(obj, param_scatter_in )
62 
63  % checking the type of the class
64  class_type_obj = class( obj );
65  class_type_input = class( param_scatter_in );
66 
67  if ~strcmpi( class_type_input, class_type_obj )
68  supClasses = superclasses(obj);
69  if sum( strcmp( supClasses, class_type_input ) ) == 0
70  error(['EQuUs:Structures:', class(obj), ':CopyParameters'], 'Invalid type of the input parameter');
71  end
72  end
73 
74  % copy the attribute from the input
75  fieldnames_input = fieldnames( param_scatter_in );
76  for idx = 1:length(fieldnames_input)
77  fieldname = fieldnames_input{idx};
78  obj.(fieldname) = param_scatter_in.(fieldname);
79  end
80 
81  end
82 
83 
84 end % public methods end
85 
86 end
Structure Atom contains the atomic identifiers of the sites.
Definition: structures.m:148
Structure shape contains data about the geometry of the scattering region.
Definition: structures.m:106
Property shape
An instance of structure shape describing the geometry of the scattering region.
Definition: param_scatter.m:35
function Transport(Energy, B)
Calculates the conductance at a given energy value.
A class to import custom Hamiltonians provided by other codes or created manually
Structure param contains data structures describing the physical parameters of the scattering center ...
Definition: structures.m:45
Base class to construct a structure containing physical parameters of the scattering region.
Definition: param_scatter.m:26
function structures(name)