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:
17 %> @addtogroup filters Filters
25 %> @
return [1] An instance of structure #
Opt 26 %> @
return [2] An instance of structure #
param 29 filename = mfilename(
'fullpath');
30 [directory, fncname] = fileparts( filename );
33 % checking the number of leads
35 Opt.NofLeads = length(
param.Leads );
36 elseif length(
param.Leads ) >
Opt.NofLeads
37 warning(['EQuUs:Filters:', fncname], 'Structure
param contains more leads as structure
Opt. Reducing number of leads');
38 elseif length(
param.Leads ) <
Opt.NofLeads
39 error(['EQuUs:Filters:', fncname], 'Structure
param contains less leads as structure
Opt.');
43 % checking the lattice type
44 if isempty(
Opt.Lattice_Type )
45 if isempty(
Opt.custom_Hamiltonians )
50 Lattice_Type =
Opt.Lattice_Type;
52 for idx = 1:length(
param.Leads )
54 % handling obsolete XML parameter 'orientation'
55 if isfield(
param.Leads{idx},
'orientation' )
64 % check data consistency like LeadNum, orientation VS Lead_orientation
68 %> @brief Convert structure
param relsted to the scattering region to system specific structure.
70 %> @
return Returns with the system specific strucutre #
param_scatter 73 if strcmpi(Lattice_Type,
'Square')
75 elseif strcmpi(Lattice_Type, 'SSH')
77 elseif strcmp(Lattice_Type, 'Lieb')
79 elseif strcmp(Lattice_Type, 'BiTeI')
81 elseif strcmp(Lattice_Type, 'Graphene')
83 elseif strcmp(Lattice_Type, 'Graphene_SOC')
85 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer')
87 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer_2')
89 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer_3')
91 elseif strcmpi(Lattice_Type, 'Silicene')
93 elseif strcmpi(Lattice_Type, 'Triangle')
95 elseif strcmpi(Lattice_Type, 'TMDC_Monolayer')
97 elseif strcmpi(Lattice_Type, 'TMDC_Monolayer_SOC')
99 elseif strcmpi(Lattice_Type, 'TMDC_Bilayer_SOC')
101 elseif isempty(Lattice_Type)
105 param_fieldnames = fieldnames(
param );
106 for iidx = 1:length( param_fieldnames )
107 fieldname = param_fieldnames{iidx};
109 if ~isfield( param_in, fieldname )
113 param.(fieldname) = param_in.(fieldname);
120 %> @brief Convert structure
param relsted to the scattering region to system specific structure.
122 %> @
return Returns with the system specific strucutre #
param_Lead 125 if strcmpi(Lattice_Type,
'Square')
127 elseif strcmpi(Lattice_Type, 'SSH')
129 elseif strcmp(Lattice_Type, 'Lieb')
131 elseif strcmp(Lattice_Type, 'BiTeI')
133 elseif strcmp(Lattice_Type, 'Graphene')
135 elseif strcmp(Lattice_Type, 'Graphene_SOC')
137 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer')
139 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer_2')
141 elseif strcmpi(Lattice_Type, 'Graphene_Bilayer_3')
143 elseif strcmpi(Lattice_Type, 'Silicene')
145 elseif strcmpi(Lattice_Type, 'Triangle')
147 elseif strcmpi(Lattice_Type, 'TMDC_Monolayer')
149 elseif strcmpi(Lattice_Type, 'TMDC_Monolayer_SOC')
151 elseif strcmpi(Lattice_Type, 'TMDC_Bilayer_SOC')
153 elseif isempty(Lattice_Type)
157 param_fieldnames = fieldnames(
param );
158 for iidx = 1:length( param_fieldnames )
159 fieldname = param_fieldnames{iidx};
161 if ~isfield( param_in, fieldname )
165 param.(fieldname) = param_in.(fieldname);
Class containing physical parameters of a scattering center defined on a graphene lattice including s...
Class containing physical parameters of a particular lead defined on a Triangle lattice.
Class containing physical parameters of a particular lead defined on a bilayer graphene lattice.
lead_param Leads
A list of structures lead_param containing the physical parameters for the scattering region.
Class containing physical parameters of a scattering center defined on a bilayer graphene (hexagonal)...
Base class to construct a structure containing physical parameters of a specific lead.
Structure Opt contains the basic computational parameters used in EQuUs.
Class containing physical parameters of a particular lead defined on a graphene lattice including spi...
NofLeads
Number of leads attached to the scattering region.
function Transport(Energy, B)
Calculates the conductance at a given energy value.
Class containing physical parameters of a scattering center defined on a TMDC_Monolayer lattice.
Class containing physical parameters of a scattering center defined on a Lieb lattice.
Class containing physical parameters of a particular lead defined on a BiTeI lattice.
Class containing physical parameters of a particular lead defined on a TMDC_Monolayer lattice.
Class containing physical parameters of a scattering center defined on a TMDC_Monolayer lattice inclu...
Class containing physical parameters of a scattering center defined on a graphene (hexagonal) lattice...
Class containing physical parameters of a particular lead defined on a Lieb lattice.
Class containing physical parameters of a particular lead defined on a TMDC_Monolayer lattice includi...
function ConvertParamLead(param_in)
Convert structure param relsted to the scattering region to system specific structure.
Class containing physical parameters of a scattering center defined on a Silicene lattice.
Class containing physical parameters of a particular lead defined on a Silicene lattice.
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 ...
Base class to construct a structure containing physical parameters of the scattering region.
Class containing physical parameters of a scattering center defined on a Triangle (hexagonal) lattice...
Class containing physical parameters of a particular lead defined on a TMDC Bilayer lattice including...
Class containing physical parameters of a scattering center defined on a TMDC bilayer lattice includi...
function ConvertParamScatter(param_in)
Convert structure param relsted to the scattering region to system specific structure.
Class containing physical parameters of a particular lead defined on a SSH lattice.
function ValidateStructures(Opt, param)
This function verify the input structures Opt and param and create system specific data structures.
Class containing physical parameters of a scattering center defined on a square lattice.
Class containing physical parameters of a scattering center defined on a BiTeI lattice.
function structures(name)
Class containing physical parameters of a particular lead defined on a graphene lattice.
Class containing physical parameters of a scattering center defined on a SSH lattice.