📄 bandstructure.m
字号:
function BandStructure
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Electromagnetic Finite-Difference Time-Domain %
% Version 1.20, Release 1 %
% %
% (C) Copyright 2005 %
% Sharif University of Technology %
% School of Electrical Engineering %
% All Rights Reserved %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
global StructureType BoundaryType a NoDiv
if StructureType <= 0 % Square Lattice
xPath=[0 pi/a pi/a];
yPath=[0 0 pi/a];
names=['G' 'X' 'M'];
elseif StructureType == 1 % Triangular Lattice
xPath=[0 sqrt(3)*pi/a/2 sqrt(3)*pi/a/2];
yPath=[0 0 pi/a/2 ];
names=['G' 'M' 'K'];
end
if BoundaryType == 1
mi=1;
mf=3;
else
mi=1; % Direction GX or GM
mf=1;
% mi=3; % Direction MG or KG
% mf=3;
end
for m=mi:mf
m1=m;
m2=mod(m,3)+1;
fname=strcat(names(m1),names(m2));
fprintf('\nDirection %s \t',fname)
kx1=xPath(m1);
ky1=yPath(m1);
kx2=xPath(m2);
ky2=yPath(m2);
if kx1~=kx2
kxrng=kx1:(kx2-kx1)/NoDiv:kx2;
else
kxrng=kx1*ones([1,NoDiv+1]);
end
if ky1~=ky2
kyrng=ky1:(ky2-ky1)/NoDiv:ky2;
else
kyrng=ky1*ones([1,NoDiv+1]);
end
ScanPath(kxrng,kyrng,fname);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -