亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fdtd3d_main.m

?? 3D的FDTD模擬程序
?? M
字號:
% FDTD Main Function Jobs to Workers %

%***********************************************************************
%     3-D FDTD code with PEC boundaries
%***********************************************************************
%
%     This MATLAB M-file implements the finite-difference time-domain
%     solution of Maxwell's curl equations over a three-dimensional
%     Cartesian space lattice comprised of uniform cubic grid cells.
%     
%     To illustrate the algorithm, an air-filled rectangular cavity 
%     resonator is modeled. The length, width, and height of the 
%     cavity are X cm (x-direction), Y cm (y-direction), and 
%     Z cm (z-direction), respectively.
%
%     The computational domain is truncated using PEC boundary 
%     conditions:
%          ex(i,j,k)=0 on the j=1, j=jb, k=1, and k=kb planes
%          ey(i,j,k)=0 on the i=1, i=ib, k=1, and k=kb planes
%          ez(i,j,k)=0 on the i=1, i=ib, j=1, and j=jb planes
%     These PEC boundaries form the outer lossless walls of the cavity.
%
%     The cavity is excited by an additive current source oriented
%     along the z-direction. The source waveform is a differentiated 
%     Gaussian pulse given by 
%          J(t)=-J0*(t-t0)*exp(-(t-t0)^2/tau^2), 
%     where tau=50 ps. The FWHM spectral bandwidth of this zero-dc-
%     content pulse is approximately 7 GHz. The grid resolution 
%     (dx = 2 mm) was chosen to provide at least 10 samples per 
%     wavelength up through 15 GHz.
%
%     To execute this M-file, type "fdtd3D" at the MATLAB prompt.
%     This M-file displays the FDTD-computed Ez fields at every other
%     time step, and records those frames in a movie matrix, M, which 
%     is played at the end of the simulation using the "movie" command.
%
%***********************************************************************

function [Ex,Ey,Ez]=FDTD3D_Main(handles)

global SimRunStop
% if ~isdir('C:\MATLAB7\work\cavity\figures')
%     mkdir 'C:\MATLAB7\work\cavity\figures'
% end

%***********************************************************************
%     Grid Partition
%***********************************************************************

p.ip = get(handles.XdirPar,'Value');
p.jp = get(handles.YdirPar,'Value');
p.PN = get(handles.PartNo,'Value');

%***********************************************************************
%     Grid Dimensons
%***********************************************************************

ie = get(handles.xslider,'Value');       %number of grid cells in x-direction
je = get(handles.yslider,'Value');       %number of grid cells in y-direction
ke = get(handles.zslider,'Value');       %number of grid cells in z-direction

ib=ie+1;     
jb=je+1;   
kb=ke+1;

%***********************************************************************
%     All Domains Fields Ini.
%***********************************************************************

Ex=zeros(ie,jb,kb);
Ey=zeros(ib,je,kb);
Ez=zeros(ib,jb,ke);
Hx=zeros(ib,je,ke);
Hy=zeros(ie,jb,ke);
Hz=zeros(ie,je,kb);

%***********************************************************************
%     Fundamental constants
%***********************************************************************

param.cc=2.99792458e8;            %speed of light in free space

param.muz=4.0*pi*1.0e-7;          %permeability of free space
param.epsz = 1.0/(param.cc*param.cc*param.muz); %permittivity of free space

%***********************************************************************
%     Grid parameters
%***********************************************************************


param.is = get(handles.xsource,'Value');       %location of z-directed current source
param.js = get(handles.ysource,'Value');       %location of z-directed current source

param.kobs = floor(ke/2);      %Surface of observation

param.dx = get(handles.CellSize,'Value');;          %space increment of cubic lattice
param.dt = param.dx/(2.0*param.cc);    %time step

param.nmax = get(handles.TimeStep,'Value');;          %total number of time steps

%***********************************************************************
%     Differentiated Gaussian pulse excitation
%***********************************************************************

param.rtau=get(handles.tau,'Value')*100e-12;
param.tau=param.rtau/param.dt;
param.ndelay=3*param.tau;
param.Amp = get(handles.sourceamp,'Value')*10e11;
param.srcconst=-param.dt*param.Amp;

%***********************************************************************
%     Material parameters
%***********************************************************************

param.eps= get(handles.epsilon,'Value');
param.sig= get(handles.sigma,'Value');       

%***********************************************************************
%     Updating coefficients
%***********************************************************************

param.ca=(1.0-(param.dt*param.sig)/(2.0*param.epsz*param.eps))/(1.0+(param.dt*param.sig)/(2.0*param.epsz*param.eps));
param.cb=(param.dt/param.epsz/param.eps/param.dx)/(1.0+(param.dt*param.sig)/(2.0*param.epsz*param.eps));
param.da=1.0;
param.db=param.dt/param.muz/param.dx;

%***********************************************************************
%     Calling FDTD Algorithm
%***********************************************************************

ex=zeros(ib,jb,kb);
ey=zeros(ib,jb,kb);
ez=zeros(ib,jb,kb);
hx=zeros(ib,jb,kb);
hy=zeros(ib,jb,kb);
hz=zeros(ib,jb,kb);

[X,Y,Z] = meshgrid(1:ib,1:jb,1:kb); % Grid coordinates

Psim = zeros(param.nmax,1);
Panl = zeros(param.nmax,1);

      
if ((p.ip == 1)&(p.jp == 0))
    x = ceil(ie/p.PN)    
    param.a = [1:x-1:ie-x];
    param.b = [x+1:x-1:ie];
    param.c = [1,1];
    param.d = [je,je];
    m2 = 1;
    for n=1:1:param.nmax
        for m1=1:1:p.PN                        
                [ex,ey,ez]=Efields(param,handles,ex,ey,ez,hx,hy,hz,ie,je,ke,ib,jb,kb,n,m1,m2,p);
                [hx,hy,hz] = Hfields(param,hx,hy,hz,ex,ey,ez,ie,je,ke,ib,jb,kb,n,m1,m2,p);
        end                
        [Psim(n),Panl(n)] = Cavity_Power(param,handles,ex,ey,ez,n);
        field_viz(param,handles,ex,ey,ez,X,Y,Z,n,Psim,Panl,p);
        Dyn_FFT
        pause(0.01);
    end    
elseif ((p.ip == 0)&(p.jp == 1))
    y = ceil(je/p.PN);
    param.c = [1:y-1:je-y];
    param.d = [y+1:y-1:je];
    param.a = [1,1];
    param.b = [ie,ie];
    m1 = 1;
    for n=1:1:param.nmax
        for m2=1:1:p.PN 
                [ex,ey,ez]=Efields(param,handles,ex,ey,ez,hx,hy,hz,ie,je,ke,ib,jb,kb,n,m1,m2,p);
                [hx,hy,hz] = Hfields(param,hx,hy,hz,ex,ey,ez,ie,je,ke,ib,jb,kb,n,m1,m2,p);
        end
        [Psim(n),Panl(n)] = Cavity_Power(param,handles,ex,ey,ez,n);
        field_viz(param,handles,ex,ey,ez,X,Y,Z,n,Psim,Panl,p);
        pause(0.01);
    end
elseif ((p.ip == 1)&(p.jp == 1))    
    x = ceil(ie/p.PN);    
    param.a = [1:x-1:ie-x];
    param.b = [x+1:x-1:ie];
    y = ceil(je/p.PN);
    param.c = [1:y-1:je-y];
    param.d = [y+1:y-1:je];

    for n=1:1:param.nmax
        for m2=1:1:p.PN 
            for m1=1:1:p.PN 
                [ex,ey,ez]=Efields(param,handles,ex,ey,ez,hx,hy,hz,ie,je,ke,ib,jb,kb,n,m1,m2,p);
                [hx,hy,hz] = Hfields(param,hx,hy,hz,ex,ey,ez,ie,je,ke,ib,jb,kb,n,m1,m2,p);
            end
        end
        [Psim(n),Panl(n)] = Cavity_Power(param,handles,ex,ey,ez,n);
        field_viz(param,handles,ex,ey,ez,X,Y,Z,n,Psim,Panl,p);
        pause(0.01);
    end    
else        
    param.a = 1;
    param.b = ie;
    param.c = 1;
    param.d = je;
    m1 = 1;m2=1;
    for n=1:1:param.nmax
                [ex,ey,ez]=Efields(param,handles,ex,ey,ez,hx,hy,hz,ie,je,ke,ib,jb,kb,n,m1,m2,p);
                [hx,hy,hz] = Hfields(param,hx,hy,hz,ex,ey,ez,ie,je,ke,ib,jb,kb,n,m1,m2,p);
                SimRunStop = get(handles.Stop_sim,'value');   
                    if SimRunStop == 1
                        h = warndlg('Simulation Run is Stopped by User !','!! Warning !!');
                        waitfor(h);
                        break;
                    end                          
                [Psim(n),Panl(n)] = Cavity_Power(param,handles,ex,ey,ez,n);
                if n>=2
                    Panl(n)=Panl(n) + Panl(n-1);
                end
                field_viz(param,handles,ex,ey,ez,X,Y,Z,n,Psim,Panl,p);
                pause(0.01);                
    end    
end



%文件2

% Cavity Field Viz. %

function [] = field_viz(param,handles,ex,ey,ez,X,Y,Z,n,Psim,Panl,p)

%***********************************************************************
%     Cross-Section initialization
%***********************************************************************

tview = squeeze(ez(:,:,param.kobs));
sview = squeeze(ez(:,param.js,:));

ax1 = handles.axes1;
ax2 = handles.axes2;
ax3 = handles.axes3;


%***********************************************************************
%     Visualize fields
%***********************************************************************

timestep=int2str(n);
ezview=squeeze(ez(:,:,param.kobs));
exview=squeeze(ex(:,:,param.kobs));
eyview=squeeze(ey(:,:,param.kobs));

xmin = min(X(:));
xmax = max(X(:));
ymin = min(Y(:));
ymax = max(Y(:));
zmin = min(Z(:));

daspect([2,2,1])
xrange = linspace(xmin,xmax,8);
yrange = linspace(ymin,ymax,8);
zrange = 3:4:15;
[cx cy cz] = meshgrid(xrange,yrange,zrange);

% sview=squeeze(ez(:,param.js,:));
rect = [-50 -35 360 210];
rectp = [-50 -40 350 260];

axes(ax1);
axis tight
set(gca,'nextplot','replacechildren');

E_total = sqrt(ex.^2 + ey.^2 + ez.^2);
etview=squeeze(E_total(:,:,param.kobs));
sview = squeeze(E_total(:,param.js,:));

surf(etview');
shading interp;
caxis([-1.0 1.0]);
colorbar;
axis image;
title(['Total E-Field, time step = ',timestep],'fontname','Times New Roman','fontsize',12,'FontWeight','BOLD');
xlabel('i coordinate');
ylabel('j coordinate');
set(gca,'fontname','Times New Roman','fontsize',10);
% F1 = getframe(gca,rect);
% M1 = frame2im(F1);
% filename = fullfile('C:\MATLAB7\work\cavity\figures',strcat('XY_ETotal',num2str(n),'.jpeg'));
% imwrite(M1,filename,'jpeg')

axes(ax2);
axis tight
set(gca,'nextplot','replacechildren');

surf(sview');
shading interp;
caxis([-1.0 1.0]);
colorbar;
axis image;
title(['Ez(i,j=13,k), time step = ',timestep],'fontname','Times New Roman','fontsize',12,'FontWeight','BOLD');
xlabel('i coordinate');
ylabel('k coordinate');
set(gca,'fontname','Times New Roman','fontsize',10);
% F2 = getframe(gca,rect);
% M2 = frame2im(F2);
% filename = fullfile('C:\MATLAB7\work\cavity\figures',strcat('XZ_ETotal',num2str(n),'.jpeg'));
% imwrite(M2,filename,'jpeg')

%***********************************************************************
% Cavity Power - Analitic expression 
%***********************************************************************

axes(ax3);
% axis tight
% set(gca,'nextplot','replacechildren');

t = [1:1:param.nmax];
Psim = 1e3*Psim./max(Psim);
Panl = 1e3*Panl./max(Panl);

semilogy(t,Psim,'b.-',t,Panl,'rx-');

str(1) = {'Normalized Analytic Vs. Simulated Power'};
str(2) = {'as function of time-steps'};
title(str,'fontname','Times New Roman','fontsize',12,'FontWeight','BOLD' );
xlabel('Time Step');
ylabel('Log(Power)');
legend('Simulation','Analytic','location','SouthEast');
set(gca,'fontname','Times New Roman','fontsize',10);
% F3 = getframe(gca,rectp);
% M3 = frame2im(F3);
% filename = fullfile('C:\MATLAB7\work\cavity\figures',strcat('Power',num2str(n),'.jpeg'));
% imwrite(M3,filename,'jpeg')

%文件3

% Source waveform function
function [source]=waveform(param,handles,n)

ax1 = handles.axes1;
type = get(handles.sourcetype,'value');
amp = get(handles.sourceamp,'value')*1e4;
f = get(handles.Frequency,'value')*1e9;

switch type
    case 2
        source = param.srcconst*(n-param.ndelay)*exp(-((n-param.ndelay)^2/param.tau^2));
    case 1
        source = param.srcconst*sin(param.dt*n*2*pi*f);
    case 3
        source = param.srcconst*exp(-((n-param.ndelay)^2/param.tau^2))*sin(2*pi*f*(n-param.ndelay)*param.dt);
    otherwise
        source = param.srcconst*(n-param.ndelay)*exp(-((n-param.ndelay)^2/param.tau^2));
end

%文件4

function [hx,hy,hz] = Hfields(param,hx,hy,hz,ex,ey,ez,ie,je,ke,ib,jb,kb,n,x,y,p)

a = param.a(x);
b = param.b(x);
c = param.c(y);
d = param.d(y);

hx(a+1:b,c:d,1:ke)=...
            hx(a+1:b,c:d,1:ke)+...
            param.db*(ey(a+1:b,c:d,2:kb)-...
            ey(a+1:b,c:d,1:ke)+...
            ez(a+1:b,c:d,1:ke)-...
            ez(a+1:b,c+1:d+1,1:ke));

hy(a:b,c+1:d,1:ke)=...
            hy(a:b,c+1:d,1:ke)+...
            param.db*(ex(a:b,c+1:d,1:ke)-...
            ex(a:b,c+1:d,2:kb)+...
            ez(a+1:b+1,c+1:d,1:ke)-...
            ez(a:b,c+1:d,1:ke));

hz(a:b,c:d,2:ke)=...
            hz(a:b,c:d,2:ke)+...
            param.db*(ex(a:b,c+1:d+1,2:ke)-...
            ex(a:b,c:d,2:ke)+...
            ey(a:b,c:d,2:ke)-...
            ey(a+1:b+1,c:d,2:ke));

%文件5

function [ex,ey,ez]=Efields(param,handles,ex,ey,ez,hx,hy,hz,ie,je,ke,ib,jb,kb,n,x,y,p)

a = param.a(x);
b = param.b(x);
c = param.c(y);
d = param.d(y);

if (param.is>=a)&(param.is<=b)|(param.js>=c)&(param.js<=d)
    source = waveform(param,handles,n);
else
    source = 0;
end

ex(a:b,c+1:d,2:ke)=...
            param.ca*ex(a:b,c+1:d,2:ke)+...
            param.cb*(hz(a:b,c+1:d,2:ke)-...
            hz(a:b,c:d-1,2:ke)+...
            hy(a:b,c+1:d,1:ke-1)-...
            hy(a:b,c+1:d,2:ke));

ey(a+1:b,c:d,2:ke)=...
            param.ca*ey(a+1:b,c:d,2:ke)+...
            param.cb*(hx(a+1:b,c:d,2:ke)-...
            hx(a+1:b,c:d,1:ke-1)+...
            hz(a:b-1,c:d,2:ke)-...
            hz(a+1:b,c:d,2:ke));

ez(a+1:b,c+1:d,1:ke)=...
            param.ca*ez(a+1:b,c+1:d,1:ke)+...
            param.cb*(hx(a+1:b,c:d-1,1:ke)-...
            hx(a+1:b,c+1:d,1:ke)+...
            hy(a+1:b,c+1:d,1:ke)-...
            hy(a:b-1,c+1:d,1:ke));

ez(param.is,param.js,1:ke)=ez(param.is,param.js,1:ke)+source;
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区在线观看免费| 亚洲国产视频在线| 中文字幕在线观看不卡视频| 亚洲人成人一区二区在线观看| 亚洲无线码一区二区三区| 亚欧色一区w666天堂| 久久99久久久欧美国产| av中文字幕一区| 欧美一区日本一区韩国一区| 成人欧美一区二区三区小说| 亚洲成a人片在线观看中文| 久草这里只有精品视频| 国内成人自拍视频| 欧美影视一区二区三区| 国产精品福利电影一区二区三区四区| 亚洲欧美韩国综合色| 极品少妇一区二区三区精品视频 | 岛国精品在线播放| 欧洲一区二区三区在线| 国产日韩v精品一区二区| 136国产福利精品导航| 激情综合网天天干| 欧美色大人视频| 日本乱码高清不卡字幕| 久久久久久99精品| 亚洲韩国一区二区三区| 国产精品一区二区男女羞羞无遮挡| 在线日韩一区二区| 国产精品大尺度| 麻豆精品国产91久久久久久| 在线电影院国产精品| 亚洲人成精品久久久久| 成人小视频免费观看| 久久综合九色综合97_久久久| 香蕉影视欧美成人| 91色在线porny| 中文字幕高清一区| 国产成人一区在线| 26uuu精品一区二区在线观看| 精品在线播放午夜| 欧美mv日韩mv国产网站| 午夜成人免费视频| 欧美久久久久久蜜桃| 亚洲第一成人在线| 欧美在线制服丝袜| 亚洲一区二区三区三| 国产一区在线观看视频| 2023国产一二三区日本精品2022| 一区二区在线观看视频| 一本色道久久加勒比精品| 中文字幕免费一区| 国产毛片精品国产一区二区三区| 精品福利一区二区三区免费视频| 日日骚欧美日韩| 欧美人伦禁忌dvd放荡欲情| 日韩国产精品久久久| 日韩三级精品电影久久久| 亚洲五码中文字幕| 欧美一区二区三区在线观看视频 | www.欧美.com| 亚洲另类色综合网站| 99久久er热在这里只有精品15| 欧美国产日韩一二三区| 欧美亚洲国产一区二区三区va | 91性感美女视频| 亚洲另类春色校园小说| 日韩欧美国产午夜精品| 国产精品一二三四区| 国产三级精品在线| 欧美午夜影院一区| 精品一区二区三区在线视频| 精品国产伦一区二区三区免费 | 秋霞午夜鲁丝一区二区老狼| 日韩一级二级三级精品视频| 极品尤物av久久免费看| 亚洲精品乱码久久久久久久久| 欧洲另类一二三四区| 日韩av电影天堂| 国产精品视频一二三区| 91国在线观看| 国产一区二区三区免费播放| 欧美国产禁国产网站cc| 91福利国产精品| 五月天丁香久久| 欧美激情中文字幕一区二区| 91黄视频在线| 日本在线不卡一区| 国产精品女同互慰在线看| 色系网站成人免费| 久久国产精品区| 中文字幕佐山爱一区二区免费| 91网站视频在线观看| 国产精品自在欧美一区| 亚洲夂夂婷婷色拍ww47| 欧美三级视频在线观看| 成人高清在线视频| 精品一区二区三区影院在线午夜 | 国产资源精品在线观看| 亚洲乱码中文字幕综合| 欧美精品一区二区三| 91精品啪在线观看国产60岁| 99久久久久久99| 国产一区91精品张津瑜| 久久国产成人午夜av影院| 亚洲国产中文字幕在线视频综合| 久久久久久久综合色一本| 欧美一区二区三区色| 日本伦理一区二区| 成人性视频网站| 国产精品一区二区三区99| 日本欧美大码aⅴ在线播放| 最近中文字幕一区二区三区| 中文字幕高清不卡| 久久精品免视看| 欧美一区二区三区人| 欧美日韩成人高清| 欧美亚洲综合色| 色综合天天性综合| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 2020国产精品| 宅男噜噜噜66一区二区66| 欧美日韩精品一区二区三区 | 久久奇米777| 777亚洲妇女| 欧美日韩电影在线| 欧美久久免费观看| 日韩无一区二区| 6080午夜不卡| 欧美成人r级一区二区三区| 欧美一级高清片| 日韩一卡二卡三卡| 欧美激情在线一区二区| 国产亚洲婷婷免费| 中文字幕免费在线观看视频一区| 久久久久久久网| 亚洲免费三区一区二区| 亚洲高清视频中文字幕| 精品综合久久久久久8888| 国产剧情一区在线| 色综合婷婷久久| 日韩视频免费观看高清在线视频| 久久精品夜色噜噜亚洲aⅴ| 综合亚洲深深色噜噜狠狠网站| 一区二区三国产精华液| 日本午夜一本久久久综合| 国产成人在线观看| 欧美三级视频在线| 久久久久国色av免费看影院| 亚洲欧美色综合| 麻豆精品精品国产自在97香蕉| 成人免费毛片高清视频| 欧美日韩免费观看一区二区三区| 精品免费日韩av| 亚洲一区二区三区四区五区黄| 精品亚洲国产成人av制服丝袜| 99国产精品视频免费观看| 91精品欧美一区二区三区综合在 | www.欧美.com| 91精品国产aⅴ一区二区| 国产欧美精品一区二区色综合| 亚洲激情在线播放| 国产乱码一区二区三区| 色噜噜狠狠色综合欧洲selulu| 精品国产免费人成电影在线观看四季 | 国产精品蜜臀在线观看| 丝袜国产日韩另类美女| 成人精品视频一区二区三区 | 精品在线免费观看| 在线观看日韩av先锋影音电影院| 久久久久久亚洲综合| 肉色丝袜一区二区| 91美女精品福利| 欧美国产精品中文字幕| 蜜臀久久99精品久久久画质超高清| 97成人超碰视| 国产精品美女www爽爽爽| 美女一区二区视频| 欧美色图一区二区三区| 日韩美女视频19| 国产成人在线看| 久久综合久久久久88| 日本中文字幕一区| 欧美精品久久天天躁| 一区二区三区91| 色拍拍在线精品视频8848| 日本一区二区三区久久久久久久久不| 欧美96一区二区免费视频| 欧美日韩一区二区三区不卡| 亚洲人成在线播放网站岛国| 成人黄色大片在线观看| 久久精品一区二区三区不卡| 久久99热99| 久久亚洲精品国产精品紫薇| 裸体在线国模精品偷拍| 欧美一级二级三级乱码| 热久久久久久久| 欧美电视剧在线看免费| 久久国产精品露脸对白| 欧美xxxxxxxxx| 国产在线视频一区二区|