⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bandstructure.m

📁 外国人开发的电磁时域有限差分方法工具包 Electromagnetic Finite-Difference Time-Domain (EmFDTD) is a basic two-dimensio
💻 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 + -