色散:完美導體波導 (3D)
設定為softsource ,波源設定載入,波源位置隨機定義如下
LoadSource(ib/2+3,jb/2+3,1)=1;
LoadSource(ib/3+3,jb/4+3,1)=1;
LoadSource(ib/3-3,jb/4-3,1)=1;
波導四週設定為 PEC
勾選 ☑ E,H,V,I (FFT) : 量測電場、磁場、電壓、電流
【指令輸入方塊】輸入以下程式碼,然後按【執行】,確定好結構無誤的話後再按【輸出結構】
%------------探測磁場 1 Probe Magnetic 1------------
% direction 1(Hx),2(Hy),3(Hz),4(|H|)
direction=2;
x1=(ib/2+1)*gdx;
x2=(ib/2+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_magnetic(1,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
%------------探測磁場 2 Probe Magnetic 1------------
% direction 1(Hx),2(Hy),3(Hz),4(|H|)
direction=2;
x1=(ib/3+1)*gdx;
x2=(ib/3+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_magnetic(2,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
%------------探測磁場 3 Probe Magnetic 1------------
% direction 1(Hx),2(Hy),3(Hz),4(|H|)
direction=2;
x1=(ib/4+1)*gdx;
x2=(ib/4+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_magnetic(3,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
%------------探測電場 1 Probe Electric 1------------
% direction 1(Ex),2(Ey),3(Ez),4(|E|)
direction=3;
x1=(ib/2+1)*gdx;
x2=(ib/2+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_electric(1,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
%------------探測電場 2 Probe Electric 1------------
% direction 1(Ex),2(Ey),3(Ez),4(|E|)
direction=3;
x1=(ib/3+1)*gdx;
x2=(ib/3+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_electric(2,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
%------------探測電場 3 Probe Electric 1------------
% direction 1(Ex),2(Ey),3(Ez),4(|E|)
direction=3;
x1=(ib/4+1)*gdx;
x2=(ib/4+1)*gdx;
y1=(jcenter)*gdy;
y2=(jcenter)*gdy;
z1=(kcenter)*gdz;
z2=(kcenter)*gdz;
probe_electric(1,:)=[x1,x2,y1,y2,z1,z2,direction];
%----------------------------------
LoadSource(ib/2+3,jb/2+3,1)=1;
LoadSource(ib/3+3,jb/4+3,1)=1;
LoadSource(ib/3-3,jb/4-3,1)=1;
運算結束後
分析結果(Result Analysis)
【指令輸入方塊】輸入以下程式碼,然後按【執行】
Probes=N_Probed_E_Td(1,:,:);
%Probes=N_Probed_E_Td(4:6,:,:);
FieldMax=0.025*max(Probes(:))
max_band_number=20
Mode_Analysis(Probes,FieldMax,max_band_number)
figure(1);
hold on;
plot(betaz,Eigen_omega(:,:),'r*');
hold off;
figure(1);xlabel('k vector');ylabel('omega');
number=1000;
beta=2*pi./lambda_end+(2*pi/lambda_start-2*pi/lambda_end)./(number-1).*(1:number-1);
kz=beta;
a=(ib-1)*dx;
b=(jb-1)*dy;
cc2=cc*cc;
figure(1);hold on;
plot(kz,cc*kz);
hold off;
m=0;
n=1;
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
%plot(kz,w,'b')
hold off;
m=1;
n=1;
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=1
n=2;
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=2
n=1;
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=2
n=2;
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=2
n=3
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=3
n=3
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=3
n=4
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
m=3
n=5
w=(cc2*kz.^2+cc2*(m*pi/a)^2+cc2*(n*pi/b)^2).^0.5;
figure(1); hold on;
plot(kz,w,'b')
hold off;
title('完美導體矩形波導色散關係曲線')
ylabel('ω');
xlabel('k');
axis([0 6e7 0 2e16]);
結果可看到CompactFDTD漏掉不少模態,改善的方式有增加計算時間、或更換激發波源的位置、觀察點等。