effectiveindex.m
来自「一组很好的FDTD计算二维光子带隙的程序」· M 代码 · 共 34 行
M
34 行
function N=EffectiveIndex(t,m)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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 Mode TE TM NormalizedFrequency LatticeCnt
global eC mC eF mF
w=2*pi*NormalizedFrequency/LatticeCnt;
nf=sqrt(eF*mF);
nc=sqrt(eC*mC);
ky1=0;
ky=w*sqrt((nf^2+nc^2)/2);
while abs(ky-ky1)>1e-8
ky1=real(ky);
if Mode==TE
ky=2*atan(w*sqrt(nf^2-nc^2-(ky/w)^2)/ky*(mF/mC))/t+pi*m/t;
else
ky=2*atan(w*sqrt(nf^2-nc^2-(ky/w)^2)/ky*(eF/eC))/t+pi*m/t;
end
end
N=sqrt(nf^2-(ky/w)^2);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?