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