www.pudn.com > oneD_hyex_sourceH_DNG.rar > oneD_hyex_sourceH_DNG.asv
%1D FDTD 双负介质
% 定义计算参数
nz=200; %总计算格数
TIME=1000; %总计算时间
hyi=zeros(1,nz);exi=zeros(1,nz+1); %网格剖分
kyi=zeros(1,nz);jxi=zeros(1,nz); % 等效电磁流
d=10; %PML总层数
m=2; %PML中参数衰减速率阶数
C=3.0e8; %光速
R0=1.0e-5; %设定的波吸收率
pi=3.1415926;
ee=8.851e-12;
mu=4*3.1415926e-7;
f=30*10^9;
dx=0.0005;dy=0.0005;dz=0.0005;dt=1*1e-12; %网格剖分与时间剖分
dez=zeros(1,nz+1);dhz=zeros(1,nz); %网格中的介质参数
c1=(m+1)*C*ee/2.0/(d*dz)*log(1/R0); %最大煤质电参数
m1=mu*c1/ee; %最大煤质磁参数
%DNG频率设定
wpe=5*1e11;wpm=5*1e11;
w0=2*pi*f;
gaie=1e8;gaim=1e8;
%计算各网格点的介质参数
for i=1:nz+1
if i<=d
dez(i)=c1*(d+1-i)*(d+1-i)/d/d;
elseif i>=nz-d+2
dez(i)=c1*(i+d-nz-1)*(i+d-nz-1)/d/d;
else
dez(i)=0;
end
end
for i=1:nz
if i<=d
dhz(i)=m1*(d-i+1.0/2.0)*(d-i+1.0/2.0)/d/d;
elseif i>=nz-d+1
dhz(i)=m1*(i+d-nz-1.0/2.0)*(i+d-nz-1.0/2.0)/d/d;
else
dhz(i)=0;
end
end
%场值迭代
% for (t=0;t<=TIME;t++)
for t=0:TIME
% for(i=0;i<=nx-1;i++)
for i=1:nz %更新Hy
if i==80
hyi(i)=(1-dhz(i)*dt/(2*mu))/(1+dhz(i)*dt/(2*mu))*hyi(i)+dt/(mu*(1+dhz(i)*dt/(2*mu)))*(exi(i)-exi(i+1))/dz+sin(2*pi*f*t*dt);
elseif i>nz/2&inz/2&i