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);
end;
end;
end;
%定义简约布里渊区的各高对称点
switchlatticetype
case1
T=(2*pi/a)*[epssys0];
M=(2*pi/a)*[1/21/2];
X=(2*pi/a)*[1/20];
case0
T=(2*pi/a)*[epssys0];
M=(2*pi/a)*[sqrt(3)/30];
K=(2*pi/a)*[sqrt(3)/31/3];
end;
%对于简约布里渊区边界上的每个k,求解其特征频率
THETA_TM=zeros(NG,NG);%待解的TM波矩阵
THETA_TE=zeros(NG,NG);%待解的TE波矩阵
Nkpoints=10;%每个方向上取的点数,
stepsize=0:
1/(Nkpoints-1):
1;%每个方向上的步长
switchlatticetype
case1
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波的待解的特征频率矩阵
case0
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波的待解的特征频率矩阵
end;
forn=1:
Nkpoints
fprintf(['\nk-point:
',int2str(n),'of',int2str(Nkpoints),'.\n']);
%对于TX(正方格子)或TM(三角格子)方向上的每个k值,
%求解其特征频率
switchlatticetype
case1
TX_step=stepsize(n)*(X-T)+T;
case0
TM_step=stepsize(n)*(M-T)+T;
end;
%先求非对角线上的元素
fori=1:
(NG-1)
forj=(i+1):
NG
switchlatticetype
case1
kGi=TX_step+G(i,:
);
kGj=TX_step+G(j,:
);
case0
kGi=TM_step+G(i,:
);
kGj=TM_step+G(j,:
);
end;
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));
end;
end;
%%%%%
%再求对角线上的元素
%%%%%
fori=1:
NG
switchlatticetype
case1
kGi=TX_step+G(i,:
);
case0
kGi=TM_step+G(i,:
);
end;
THETA_TM(i,i)=f(i,i)*norm(kGi)*norm(kGi);
THETA_TE(i,i)=f(i,i)*norm(kGi)*norm(kGi);
end;
%求解TX(正方格子)或TM(三角格子)方向上的k矩阵的特征频率
switchlatticetype
case1
TX_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
TX_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
case0
TM_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
TM_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
end;
%对于XM(正方格子)或MK(三角格子)方向上的每个k值,
%求解其特征频率
switchlatticetype
case1
XM_step=stepsize(n)*(M-X)+X;
case0
MK_step=stepsize(n)*(K-M)+M;
end;
%先求非对角线上的元素
fori=1:
(NG-1)
forj=(i+1):
NG
switchlatticetype
case1
kGi=XM_step+G(i,:
);
kGj=XM_step+G(j,:
);
case0
kGi=MK_step+G(i,:
);
kGj=MK_step+G(j,:
);
end;
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));
end;
end;
%再求对角线上的元素
fori=1:
NG
switchlatticetype
case1
kGi=XM_step+G(i,:
);
case0
kGi=MK_step+G(i,:
);
end;
THETA_TM(i,i)=f(i,i)*norm(kGi)*norm(kGi);
THETA_TE(i,i)=f(i,i)*norm(kGi)*norm(kGi);
end;
%求解XM(正方格子)或MK(三角格子)方向上的k矩阵的特征频率
switchlatticetype
case1
XM_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
XM_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
case0
MK_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
MK_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
end;
%对于MT(正方格子)或KT(三角格子)方向上的每个k值,
%求解其特征频率
switchlatticetype
case1
MT_step=stepsize(n)*(T-M)+M;
case0
KT_step=stepsize(n)*(T-K)+K;
end;
%先求非对角线上的元素
fori=1:
(NG-1)
forj=(i+1):
NG
switchlatticetype
case1
kGi=MT_step+G(i,:
);
kGj=MT_step+G(j,:
);
case0
kGi=KT_step+G(i,:
);
kGj=KT_step+G(j,:
);
end;
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));
end;
end;
%再求对角线上的元素
fori=1:
NG
switchlatticetype
case1
kGi=MT_step+G(i,:
);
case0
kGi=KT_step+G(i,:
);
end;
THETA_TM(i,i)=f(i,i)*norm(kGi)*norm(kGi);
THETA_TE(i,i)=f(i,i)*norm(kGi)*norm(kGi);
end;
%求解TX(正方格子)或TM(三角格子)方向上的k矩阵的特征频率
switchlatticetype
case1
MT_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
MT_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
case0
KT_TM_eig(n,:
)=sort(sqrt(eig(THETA_TM))).';
KT_TE_eig(n,:
)=sort(sqrt(eig(THETA_TE))).';
end;
end%这个是'forn=1:
Nkpoints'(115行)的循环结束
fprintf('\nCalculationTime:
%dsec',toc)
savepbs2D
%以下部分是绘制光子晶体光子带图
%首先将特定方向(正方格子:
TX,XM,MT;三角格子:
TM,MK,KT)离散化
switchlatticetype
case1
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);
case0
kaxis=0;
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);
end;
Ntraject=3;%所需绘制的特定方向的数目
EigFreq_TM=zeros(Ntraject*Nkpoints,1);
EigFreq_TE=zeros(Ntraject*Nkpoints,1);
figure
(1)
holdon;
Nk=Nkpoints;
fork=1:
NG
fori=1:
Nkpoints
switchlatticetype
case1
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);
case0
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);
end;
end;%fork=1:
Nkpoints的结束
switchlatticetype
case1
plot(TXaxis(1:
Nk),EigFreq_TM(1+0*Nk:
1*Nk),'b',...
XMaxis(1:
Nk),EigFreq_TM(1+1*Nk:
2*Nk),'b',...
MTaxis(1:
Nk),EigFreq_TM(1+2*Nk:
3*Nk),'b');
plot(TXaxis(1:
Nk),EigFreq_TE(1+0*Nk:
1*Nk),'r',...
XMaxis(1:
Nk),EigFreq_TE(1+1*Nk:
2*Nk),'r',...
MTaxis(1:
Nk),EigFreq_TE(1+2*Nk:
3*Nk),'r');
case0
plot(TMaxis(1:
Nk),EigFreq_TM(1+0*Nk:
1*Nk),'b',...
MKaxis(1:
Nk),EigFreq_TM(1+1*Nk:
2*Nk),'b',...
KTaxis(1:
Nk),EigFreq_TM(1+2*Nk:
3*Nk),'b');
plot(TMaxis(1:
Nk),EigFreq_TE(1+0*Nk:
1*Nk),'r',...
MKaxis(1:
Nk),EigFreq_TE(1+1*Nk:
2*Nk),'r',...
KTaxis(1:
Nk),EigFreq_TE(1+2*Nk:
3*Nk),'r');
end;
end;%fork=1:
NG的结束
gridon;
holdoff;
titlestr='2DPhotonicbandstructurefor';
switchlatticetype
case1
titlestr=[titlestr,'square'];
case0
(2)建设项目周围环境的现状。
titlestr=[titlestr,'triangle'];
end;
titlestr=[titlestr,'latticeofdielectriccolumns.'];
(2)环境影响后评价。
titlestr=[titlestr,'(epsa=',num2str(epsa),'epsb=',...
num2str(epsb),')'];
(一)安全预评价依据title(titlestr);
3.环境影响登记表的内容xlabel('k-Space');
ylabel('Frequency(\omegaa/2\piC)');
switchlatticetype
case1
(3)公众对规划实施所产生的环境影响的意见;axis([0MTaxis(Nkpoints)01]);
set(gca,'XTick',[TXaxis
(1)...
TXaxis(Nkpoints)...
XMaxis(Nkpoints)...
(4)列出辨识与分析危险、有害因素的依据,阐述辨识与分析危险、有害因素的过程。
MTaxis(Nkpoints)]);
在评估经济效益不能直接估算的自然资源方面,机会成本法是一种很有用的评价技术。
机会成本法特别适用于对自然保护区或具有唯一性特征的自然资源的开发项目的评估。
xtixlabel=strvcat('T','X','M','T');
case0
[答疑编号502334050101]axis([0KTaxis(Nkpoints)01]);
set(gca,'XTick',[TMaxis
(1)...
TMaxis(Nkpoints)...
MKaxis(Nkpoints)...
KTaxis(Nkpoints)]);
xtixlabel=strvcat('T','M','K','T');
(一)建设项目环境影响评价的分类管理end;
set(gca,'XTickLabel',xtixlabel);
同建设项目安全评价相关但又有不同的还有:
《地质灾害防治管理办法》规定的地质灾害危险性评估,《地震安全性评价管理条例》中规定的地震安全性评价,《中华人民共和国职业病防治法》中规定的职业病危害预评价等。
end