2 % Copyright (C) 2018 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:
20 %> @brief Base
class to construct a structure containing physical parameters of a specific lead
for DFT calculations.
22 %> @brief Base
class to construct a structure containing physical parameters of a specific lead for DFT calculations.
24 %> EQuUs v4.9.145 or later
29 %> The superconducting pair potential
31 %> An instance of structure @
shape describing the geometry of the scattering region.
33 %> Cell array of structure @
Atom.
35 %> A physical parameter, see the individual lattice documentations
for details
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.
39 %> The number of regular
sites in the cross section of one unit cell in the lead.
43 %> Whether to use a separate calculation
for the
Lead (Useful to decrease the size of the system)
45 %> In
case of external Leads the Fermi energy might differ
51 methods (Access=
public)
53 %% Contructor of the
class 54 %> @brief Constructor of the
class.
55 %> @
return An instance of the
class 58 % initializing
class members
59 obj.pair_potential = [];
63 obj.Lead_Orientation = 1;
65 obj.Use_External_Lead = 0;
70 %> @brief Copy the attributes of the input structure into the present
object.
71 %> @
param An instance of
class identical to the present class or its superclass.
72 %> @
return Returns with the modified
class 73 function obj = CopyParameters(obj, param_lead_in )
75 % checking the type of the
class 76 class_type_obj =
class( obj );
77 class_type_input =
class( param_lead_in );
79 if ~strcmpi( class_type_input, class_type_obj )
80 supClasses = superclasses(obj);
81 if sum( strcmp( supClasses, class_type_input ) ) == 0
82 error([
'EQuUs:Structures:',
class(obj),
':CopyParameters'],
'Invalid type of the input parameter');
86 % copy the attribute from the input
87 fieldnames_input = fieldnames( param_lead_in );
88 for idx = 1:length(fieldnames_input)
89 fieldname = fieldnames_input{idx};
90 obj.(fieldname) = param_lead_in.(fieldname);
96 end %
public methods end
Structure Atom contains the atomic identifiers of the sites.
Base class to construct a structure containing physical parameters of a specific lead for DFT calcula...
Structure shape contains data about the geometry of the scattering region.
function Transport(Energy, B)
Calculates the conductance at a given energy value.
Property FileName
An instance of structure shape describing the geometry of the scattering region.
A class to calculate the Green functions and self energies of a translational invariant lead The nota...
Structure param contains data structures describing the physical parameters of the scattering center ...
Structure sites contains data to identify the individual sites in a matrix.
Structure containing the coordinates and other quantum number identifiers of the sites in the Hamilto...
function structures(name)