整理二维光子晶体能带的程序采用平面波传输法Word格式文档下载.docx
- 文档编号:16196319
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:13
- 大小:18.01KB
整理二维光子晶体能带的程序采用平面波传输法Word格式文档下载.docx
《整理二维光子晶体能带的程序采用平面波传输法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《整理二维光子晶体能带的程序采用平面波传输法Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
%定义晶格的参数
epsa=1;
%介质柱的介电常数
epsb=10.5;
%背景的介电常数
Pf=0.28274;
%Pf=Ac/Au填充率,可根据需要自行设定
Au=norm(cross(a1,a2));
%二维格子原胞面积
Rc=(Pf*Au/pi)^(1/2);
%介质柱截面半径
Ac=pi*(Rc)^2;
%介质柱横截面积
%生成倒格基失
ra11=(2*pi/a)*cross(a2,a3)/dot(a1,cross(a2,a3));
ra22=(2*pi/a)*cross(a3,a1)/dot(a1,cross(a2,a3));
ra1=ra11(1:
2);
ra2=ra22(1:
%选定参与运算的倒空间格矢量,即参与运算的平面波数量。
%设定一个l,m的取值范围,变化l,m即可得出参与运算的平面波集合。
NrSquare=10;
%选定k空间的尺度,即l,m(倒格矢G=l*b1+m*b2)的取值范围,NrSquare确定后,使用平面波数目可能为(2*NrSquare+1)^2
G=zeros((2*NrSquare+1)^2,2);
%初始化可能使用的倒格矢矩阵
i=1;
forl=-NrSquare:
NrSquare
form=-NrSquare:
G(i,:
)=l*ra1+m*ra2;
i=i+1;
NG=i-1;
%实际使用的平面波数目
G=G(1:
NG,:
);
%还有另一种选取的原则,即考虑到园对称的话,则尽可能使平面波波矢的集合均匀分布
%在一个球内,根据这样的原则,可先选取一个比较大的NrSquare,同时确定最大
%G的模,变化l,m,当G的模值不超过最大值时就选入参与运算的集合中。
这样上面一段
%代码可以改写成
%NrSquare=20;
%Gmax=0.5*NrSquare*norm(ra1);
%G=zeros((2*NrSquare+1)^2,2);
%i=1;
%forl=-NrSquare:
%form=-NrSquare:
%Glm=l*ra1+m*ra2;
%if(norm(Glm<
=Gmax))
%G(i,:
)=Glm;
%i=i+1;
%end
%end;
%NG=i-1;
%G=G(1:
%生成k空间中的f(Gi-Gj)的值,i,j从1到NG。
f=zeros(NG,NG);
fori=1:
NG
forj=1:
Gij=norm(G(i,:
)-G(j,:
));
if(Gij<
epssys)
f(i,j)=(1/epsa)*Pf+(1/epsb)*(1-Pf);
else
f(i,j)=(1/epsa-1/epsb)*Pf*2*besselj(1,Gij*Rc)/(Gij*Rc);
%定义简约布里渊区的各高对称点
T=(2*pi/a)*[epssys0];
M=(2*pi/a)*[1/21/2];
X=(2*pi/a)*[1/20];
M=(2*pi/a)*[sqrt(3)/30];
K=(2*pi/a)*[sqrt(3)/31/3];
%对于简约布里渊区边界上的每个k,求解其特征频率
THETA_TM=zeros(NG,NG);
%待解的TM波矩阵
THETA_TE=zeros(NG,NG);
%待解的TE波矩阵
Nkpoints=10;
%每个方向上取的点数,
stepsize=0:
1/(Nkpoints-1):
1;
%每个方向上的步长
TX_TM_eig=zeros(Nkpoints,NG);
%沿TX方向的TM波的待解的特征频率矩阵
TX_TE_eig=zeros(Nkpoints,NG);
%沿TX方向的TE波的待解的特征频率矩阵
XM_TM_eig=zeros(Nkpoints,NG);
%沿XM方向的TM波的待解的特征频率矩阵
XM_TE_eig=zeros(Nkpoints,NG);
%沿XM方向的TE波的待解的特征频率矩阵
MT_TM_eig=zeros(Nkpoints,NG);
%沿MT方向的TM波的待解的特征频率矩阵
MT_TE_eig=zeros(Nkpoints,NG);
%沿MT方向的TE波的待解的特征频率矩阵
TM_TM_eig=zeros(Nkpoints,NG);
%沿TM方向的TM波的待解的特征频率矩阵
TM_TE_eig=zeros(Nkpoints,NG);
%沿TM方向的TE波的待解的特征频率矩阵
MK_TM_eig=zeros(Nkpoints,NG);
%沿MK方向的TM波的待解的特征频率矩阵
MK_TE_eig=zeros(Nkpoints,NG);
%沿MK方向的TE波的待解的特征频率矩阵
KT_TM_eig=zeros(Nkpoints,NG);
%沿KT方向的TM波的待解的特征频率矩阵
KT_TE_eig=zeros(Nkpoints,NG);
%沿KT方向的TE波的待解的特征频率矩阵
forn=1:
Nkpoints
fprintf(['
\nk-point:
'
int2str(n),'
of'
int2str(Nkpoints),'
.\n'
]);
%对于TX(正方格子)或TM(三角格子)方向上的每个k值,
%求解其特征频率
TX_step=stepsize(n)*(X-T)+T;
TM_step=stepsize(n)*(M-T)+T;
%先求非对角线上的元素
(NG-1)
forj=(i+1):
kGi=TX_step+G(i,:
kGj=TX_step+G(j,:
kGi=TM_step+G(i,:
kGj=TM_step+G(j,:
THETA_TM(i,j)=f(i,j)*norm(kGi)*norm(kGj);
THETA_TM(j,i)=conj(THETA_TM(i,j));
THETA_TE(i,j)=f(i,j)*dot(kGi,kGj);
THETA_TE(j,i)=conj(THETA_TE(i,j));
%%%%%
%再求对角线上的元素
THETA_TM(i,i)=f(i,i)*norm(kGi)*norm(kGi);
THETA_TE(i,i)=f(i,i)*norm(kGi)*norm(kGi);
%求解TX(正方格子)或TM(三角格子)方向上的k矩阵的特征频率
TX_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).'
;
TX_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).'
TM_TM_eig(n,:
TM_TE_eig(n,:
%对于XM(正方格子)或MK(三角格子)方向上的每个k值,
XM_step=stepsize(n)*(M-X)+X;
MK_step=stepsize(n)*(K-M)+M;
kGi=XM_step+G(i,:
kGj=XM_step+G(j,:
kGi=MK_step+G(i,:
kGj=MK_step+G(j,:
%求解XM(正方格子)或MK(三角格子)方向上的k矩阵的特征频率
XM_TM_eig(n,:
XM_TE_eig(n,:
MK_TM_eig(n,:
MK_TE_eig(n,:
%对于MT(正方格子)或KT(三角格子)方向上的每个k值,
MT_step=stepsize(n)*(T-M)+M;
KT_step=stepsize(n)*(T-K)+K;
kGi=MT_step+G(i,:
kGj=MT_step+G(j,:
kGi=KT_step+G(i,:
kGj=KT_step+G(j,:
MT_TM_eig(n,:
MT_TE_eig(n,:
KT_TM_eig(n,:
KT_TE_eig(n,:
end%这个是'
forn=1:
Nkpoints'
(115行)的循环结束
fprintf('
\nCalculationTime:
%dsec'
toc)
savepbs2D
%以下部分是绘制光子晶体光子带图
%首先将特定方向(正方格子:
TX,XM,MT;
三角格子:
TM,MK,KT)离散化
kaxis=0;
TXaxis=kaxis:
norm(T-X)/(Nkpoints-1):
(kaxis+norm(T-X));
kaxis=kaxis+norm(T-X);
XMaxis=kaxis:
norm(X-M)/(Nkpoints-1):
(kaxis+norm(X-M));
kaxis=kaxis+norm(X-M);
MTaxis=kaxis:
norm(M-T)/(Nkpoints-1):
(kaxis+norm(M-T));
kaxis=kaxis+norm(M-T);
TMaxis=kaxis:
norm(T-M)/(Nkpoints-1):
(kaxis+norm(T-M));
kaxis=kaxis+norm(T-M);
MKaxis=kaxis:
norm(M-K)/(Nkpoints-1):
(kaxis+norm(M-K));
kaxis=kaxis+norm(M-K);
KTaxis=kaxis:
norm(K-T)/(Nkpoints-1):
(kaxis+norm(K-T));
kaxis=kaxis+norm(K-T);
Ntraject=3;
%所需绘制的特定方向的数目
EigFreq_TM=zeros(Ntraject*Nkpoints,1);
EigFreq_TE=zeros(Ntraject*Nkpoints,1);
figure
(1)
holdon;
Nk=Nkpoints;
fork=1:
EigFreq_TM(i+0*Nk)=TX_TM_eig(i,k)/(2*pi/a);
EigFreq_TM(i+1*Nk)=XM_TM_eig(i,k)/(2*pi/a);
EigFreq_TM(i+2*Nk)=MT_TM_eig(i,k)/(2*pi/a);
EigFreq_TE(i+0*Nk)=TX_TE_eig(i,k)/(2*pi/a);
EigFreq_TE(i+1*Nk)=XM_TE_eig(i,k)/(2*pi/a);
EigFreq_TE(i+2*Nk)=MT_TE_eig(i,k)/(2*pi/a);
EigFreq_TM(i+0*Nk)=TM_TM_eig(i,k)/(2*pi/a);
EigFreq_TM(i+1*Nk)=MK_TM_eig(i,k)/(2*pi/a);
EigFreq_TM(i+2*Nk)=KT_TM_eig(i,k)/(2*pi/a);
EigFreq_TE(i+0*Nk)=TM_TE_eig(i,k)/(2*pi/a);
EigFreq_TE(i+1*Nk)=MK_TE_eig(i,k)/(2*pi/a);
EigFreq_TE(i+2*Nk)=KT_TE_eig(i,k)/(2*pi/a);
%fork=1:
Nkpoints的结束
plot(TXaxis(1:
Nk),EigFreq_TM(1+0*Nk:
1*Nk),'
b'
...
XMaxis(1:
Nk),EigFreq_TM(1+1*Nk:
2*Nk),'
...
MTaxis(1:
Nk),EigFreq_TM(1+2*Nk:
3*Nk),'
Nk),EigFreq_TE(1+0*Nk:
r'
Nk),EigFreq_TE(1+1*Nk:
Nk),EigFreq_TE(1+2*Nk:
plot(TMaxis(1:
MKaxis(1:
KTaxis(1:
NG的结束
gridon;
holdoff;
titlestr='
2DPhotonicbandstructurefor'
titlestr=[titlestr,'
square'
];
(2)建设项目周围环境的现状。
triangle'
titlestr=[titlestr,'
latticeofdielectriccolumns.'
(2)环境影响后评价。
(epsa='
num2str(epsa),'
epsb='
num2str(epsb),'
)'
(一)安全预评价依据title(titlestr);
3.环境影响登记表的内容xlabel('
k-Space'
ylabel('
Frequency(\omegaa/2\piC)'
(3)公众对规划实施所产生的环境影响的意见;
axis([0MTaxis(Nkpoints)01]);
set(gca,'
XTick'
[TXaxis
(1)...
TXaxis(Nkpoints)...
XMaxis(Nkpoints)...
(4)列出辨识与分析危险、有害因素的依据,阐述辨识与分析危险、有害因素的过程。
MTaxis(Nkpoints)]);
在评估经济效益不能直接估算的自然资源方面,机会成本法是一种很有用的评价技术。
机会成本法特别适用于对自然保护区或具有唯一性特征的自然资源的开发项目的评估。
xtixlabel=strvcat('
T'
'
X'
M'
[答疑编号502334050101]axis([0KTaxis(Nkpoints)01]);
[TMaxis
(1)...
TMaxis(Nkpoints)...
MKaxis(Nkpoints)...
KTaxis(Nkpoints)]);
K'
(一)建设项目环境影响评价的分类管理end;
XTickLabel'
xtixlabel);
同建设项目安全评价相关但又有不同的还有:
《地质灾害防治管理办法》规定的地质灾害危险性评估,《地震安全性评价管理条例》中规定的地震安全性评价,《中华人民共和国职业病防治法》中规定的职业病危害预评价等。
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 二维 光子 晶体 能带 程序 采用 平面波 传输