登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
Taflove的FDTD书附带程序的问题请教
发帖
回复
827
阅读
1
回复
[
求助
]
Taflove的FDTD书附带程序的问题请教
离线
103595669
UID :74059
注册:
2011-03-19
登录:
2013-01-14
发帖:
64
等级:
仿真一级
0楼
发表于: 2011-08-15 22:34:28
关键词:
频率
激励
网格
FDTD
请教高手指点一下,我有几个地方不太明白
`w/`qG:dK
1,一维中不是只有EX和HY吗,程序中怎么会有EZ呢?
:;u?TFCRx
2,movie初始化中, rect=get(gcf,'Position');
D+xHTQNTL
rect(1:2)=[0 0];
c&n.JV
M=moviein(nmax/2,gcf,rect);
92)e/t iP
这几句说的是什么意思?看不大懂
?Z[`sm
3,ez(2:ie)=ca*ez(2:ie)+cb*(hy(2:ie)-hy(1:ie-1)) hy(1:ie)=hy(1:ie)+ez(2:ib)-ez(1:ie) 这两个迭代公式怎么和葛德彪书上的不太一样啊,还有括号中的是时间还是空间?如果是空间的话,HY不应该是k+1/2吗?
xix:= a
4,if mod(n,2)==0; 这句为什么呢?只要时间的2的整数倍?
?^z.WQ|f@
2fv`O
源程序:
O6Jn$'os1#
clear
1Wy0#?L
%***********************************************************************
#gd`X|<Ch
% Fundamental constants(基本常量)
Aq:1
%***********************************************************************
y?*4SLy
cc=2.99792458e8; %speed of light in free space
pQf5s7
muz=4.0*pi*1.0e-7; %permeability of free space(真空中磁导率)
5 Yf T
epsz=1.0/(cc*cc*muz); %permittivity of free space(真空中介电常数)
1#-=|:U
freq=1.0e+9; %frequency of source excitation(激励源的周期,频率)
z6f N)kw
lambda=cc/freq; %wavelength of source excitation(激励源的波长)
hd)HJb-aR
omega=2.0*pi*freq;%(角频率 =欧米噶)
)mF;^3
%***********************************************************************
K,Z_lP_~Vw
% Grid parameters (网格参量)
-k I;yL
%***********************************************************************
YdNmnB%J
ie=200; %number of grid cells in x-direction(X轴向的格点数)
)T26cT$
ib=ie+1;
%an&lcoX
dx=lambda/20.0; %space increment of 1-D lattice(空间步长条件:dx=<lambda/12)
E ) iEWc
dt=dx/cc; %time step(时间步长条件:dt=<sqir(2)*dx/2*cc)
haW*W=kv)
omegadt=omega*dt;
XAF*jevr
nmax=round(12.0e-9/dt); %total number of time steps(12.0e-9计算可得,时间步数)
6o!Y^^/U
%***********************************************************************
iR(jCD?) Y
% Material parameters(材料背景参量)
!w}cKm
%*********************************************************************** .,:
hxQx$
eps=1.0;%(介质电导率)
a-<&(jV
sig=5.0e-3;%(电导率) .
B8sc;Z.
%***********************************************************************
Wz]ny3K[.
% Updating coefficients for space region with nonpermeable media(非渗透性材料)
ROc)LCA
%***********************************************************************
8) 1+j>OQ
scfact=dt/muz/dx;
|E#+X
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
heN?lmC
cb=scfact*(dt/epsz/eps/dx)/(1.0+(dt*sig)/(2.0*epsz*eps));
? <"H Io
%***********************************************************************
>GV= %
% Field arrays (场列阵)
:$J4T;/{
%***********************************************************************
>^5UXQr
ez(1:ib)=0.0;
J;AwC>N
hy(1:ie)=0.0;
OX!<{9o
%***********************************************************************
o+j~~P
% Movie initialization (初值化)
Sdn4y(&TP
%***********************************************************************
ltH?Ew<]
x=linspace(dx,ie*dx,ie); '[M2Q"X
XFv) ]_G
subplot(2,1,1),plot(x,ez(1:ie)/scfact,'r'),axis([0 3 -1 1]); /
aH!2zC\:T
ylabel('EZ'); ;Z0cD*Jb
oP CtLz}z
subplot(2,1,2),plot(x,hy,'b'),axis([0 3 -3.0e-3 3.0e-3]);
ZIo%(IT!c
xlabel('x (meters)');ylabel('HY');
N=[# "4I
rect=get(gcf,'Position'); J};
{i09e1
rect(1:2)=[0 0]; k{&E}:
&W@#pG
M=moviein(nmax/2,gcf,rect);
OPtFz6
%***********************************************************************
{InD/l'v6n
% BEGIN TIME-STEPPING LOOP(时间步循环)
Hk8pKpn3
%***********************************************************************
?\7$63gBH
for n=1:nmax
zF-R$_]av
%***********************************************************************
1x8zub B
% Update electric fields
7)U08"
%***********************************************************************
2LqJ.HH
ez(1)=scfact*sin(omegadt*n);
mufJ@Y S#
rbc=ez(ie); =C}
/3`(Ki{ Q
ez(2:ie)=ca*ez(2:ie)+cb*(hy(2:ie)-hy(1:ie-1));
H;.${u^lhd
ez(ib)=rbc;
)EhRqX9
%***********************************************************************
R@[gkj
% Update magnetic fields
"f5 neW
%***********************************************************************
g&<3Kl
hy(1:ie)=hy(1:ie)+ez(2:ib)-ez(1:ie);
2:4:Q[{A
%***********************************************************************
UcI;(Va
% Visualize fields
(0W)Jd[
%***********************************************************************
aViZKps`m
if mod(n,2)==0;
Un.u{$po
rtime=num2str(round(n*dt/1.0e-9));
]8;2Oh
subplot(2,1,1),plot(x,ez(1:ie)/scfact,'r'),axis([0 3 -1 1]);
J+o6*t2|
title(['time = ',rtime,' ns']);
V9%!B3Sb
ylabel( ..
A`nw(f_/
io1hUZ
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
103595669
UID :74059
注册:
2011-03-19
登录:
2013-01-14
发帖:
64
等级:
仿真一级
1楼
发表于: 2011-08-16 00:12:49
有没有好心人指教一下呀。。?????搞算法太累了。。。。
共
条评分
发帖
回复