📄 fdtd_2d_tm_3.m
字号:
% fdtd_2d_TM_3.m% Excercise ....% 2D FDTD free space propagation striking dielectric slab on top right corner% Coded by Pradip Mukhopadhyay% 7 March 2005%% For EEE355F AJW%clear all;cc=2.99792458e8; %speed of light in free spacemu_0=4.0*pi*1.0e-7; %permeability of free spaceeps_0=1.0/(cc*cc*mu_0); %permittivity of free spaceie = 150; % Grid pixels in Y directionje = 150; % Grid pixels in X directionis = floor(ie/2) ;js = floor(je/2) ;% Electric and Magnetic fieldEz = zeros(ie,je);Hx = zeros(ie,je);Hy = zeros(ie,je);eps_r = ones(ie,je);id = is-15; % dielectric interfacejd = js+15;eps_r(1:id,jd:je) = 40.0; % dielectric constantnmax = 120; % number of time stepddx = 1.0e-3; % X grid sizeddy = ddx; % Y grid sizedt = 0.98/(cc*sqrt( (1/ddx)^2 + (1/ddy)^2 ));%***********************************************************************tw = 26.53e-12;t0 = 4.0*tw;T = (0:1:nmax-1)'.*dt;source = -2.0*((T-t0)./tw).*exp(-1.0*((T-t0)./tw).^2.0);[Emax] = max(source);[Emin] = min(source);C1 = dt./(eps_r.*eps_0);C2 = dt/mu_0;for n = 1:nmax %-----------------------------------update Ez----------------- for jj = 2:je for ii = 2:ie Ez(ii,jj) = Ez(ii,jj) + C1(ii,jj).*((Hy(ii,jj) - Hy(ii-1,jj))./ddx -(Hx(ii,jj) - Hx(ii,jj-1))./ddy); end end %-----------------------------------source--------------------- Ez(is,js) = source(n); %-----------------------------------update Hx------------------ for jj = 1:je-1 for ii = 1:ie Hx(ii,jj) = Hx(ii,jj) - C2*((Ez(ii,jj+1) - Ez(ii,jj))./ddy); end end %-----------------------------------update Hy------------------------ for jj = 1:je for ii = 1:ie-1 Hy(ii,jj) = Hy(ii,jj) + C2*((Ez(ii+1,jj) - Ez(ii,jj))./ddx); end end imagesc(Ez, 1.0*[Emin Emax]); patch([jd jd],[1 id],'w'); patch([jd je],[id id],'w'); title('2D EM propagation --striking a dielectric slab on the right corner'); colormap(hot); pause(0.0002);end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -