登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
Taflove的FDTD书附带程序的问题请教
发帖
回复
826
阅读
1
回复
[
求助
]
Taflove的FDTD书附带程序的问题请教
离线
103595669
UID :74059
注册:
2011-03-19
登录:
2013-01-14
发帖:
64
等级:
仿真一级
0楼
发表于: 2011-08-15 22:34:28
关键词:
频率
激励
网格
FDTD
请教高手指点一下,我有几个地方不太明白
+h gaBJy
1,一维中不是只有EX和HY吗,程序中怎么会有EZ呢?
y0&V$uv/
2,movie初始化中, rect=get(gcf,'Position');
|(J ?#?
rect(1:2)=[0 0];
JL]k:i^`A
M=moviein(nmax/2,gcf,rect);
0btmao-
这几句说的是什么意思?看不大懂
^V XXq
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吗?
n7`.<*:
4,if mod(n,2)==0; 这句为什么呢?只要时间的2的整数倍?
Sq?6R}q%
xvdnEaWe$
源程序:
;:-2~z~~
clear
A3 Rm0
%***********************************************************************
T_(e(5
% Fundamental constants(基本常量)
' F 6au[
%***********************************************************************
>"sKfiM)b
cc=2.99792458e8; %speed of light in free space
nL7S3
muz=4.0*pi*1.0e-7; %permeability of free space(真空中磁导率)
lk+=26>
epsz=1.0/(cc*cc*muz); %permittivity of free space(真空中介电常数)
%WJ{IXlz
freq=1.0e+9; %frequency of source excitation(激励源的周期,频率)
xdbu|fC
lambda=cc/freq; %wavelength of source excitation(激励源的波长)
`F-Dd4B
omega=2.0*pi*freq;%(角频率 =欧米噶)
T|BY00Sz`
%***********************************************************************
HAI1%F236
% Grid parameters (网格参量)
ZaNyNxbp>z
%***********************************************************************
5JU(@}Db
ie=200; %number of grid cells in x-direction(X轴向的格点数)
VxPTh\O*[
ib=ie+1;
72s$
dx=lambda/20.0; %space increment of 1-D lattice(空间步长条件:dx=<lambda/12)
+X%fcoc
dt=dx/cc; %time step(时间步长条件:dt=<sqir(2)*dx/2*cc)
?4wehcZz
omegadt=omega*dt;
nI|Lx`*v
nmax=round(12.0e-9/dt); %total number of time steps(12.0e-9计算可得,时间步数)
HkfSx rTgQ
%***********************************************************************
0-t4+T
% Material parameters(材料背景参量)
4s1kZ`e
%*********************************************************************** .,:
O'&X aaZV
eps=1.0;%(介质电导率)
fdCxMKlu;
sig=5.0e-3;%(电导率) .
<Hr@~<@~
%***********************************************************************
3*2&Fw!B
% Updating coefficients for space region with nonpermeable media(非渗透性材料)
{Gb)Et]<
%***********************************************************************
(7Ca\H3$
scfact=dt/muz/dx;
tI!R5q;k
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
bb O;AiHD
cb=scfact*(dt/epsz/eps/dx)/(1.0+(dt*sig)/(2.0*epsz*eps));
P :7l#/x_
%***********************************************************************
('o; M:
% Field arrays (场列阵)
g*w-"%"O
%***********************************************************************
#r:Kg&W2FO
ez(1:ib)=0.0;
6Ymo%OT
hy(1:ie)=0.0;
*Y^Y
%***********************************************************************
}07<(,0n
% Movie initialization (初值化)
HZr/0I?
%***********************************************************************
+}G>M=t::
x=linspace(dx,ie*dx,ie); '[M2Q"X
PE;0 jgsiI
subplot(2,1,1),plot(x,ez(1:ie)/scfact,'r'),axis([0 3 -1 1]); /
j_ywG{Jk
ylabel('EZ'); ;Z0cD*Jb
@h7GTA \
subplot(2,1,2),plot(x,hy,'b'),axis([0 3 -3.0e-3 3.0e-3]);
t#D\*:Xi
xlabel('x (meters)');ylabel('HY');
j9L+.UVI,
rect=get(gcf,'Position'); J};
Fb<\(#t
rect(1:2)=[0 0]; k{&E}:
*> &N t
M=moviein(nmax/2,gcf,rect);
("P mB?20
%***********************************************************************
c J"]yG)=
% BEGIN TIME-STEPPING LOOP(时间步循环)
-JyODW#j
%***********************************************************************
{L2Gb(YLW
for n=1:nmax
S}xDB
%***********************************************************************
BorfEv} SN
% Update electric fields
\ \mO+N47i
%***********************************************************************
=|{,5="
ez(1)=scfact*sin(omegadt*n);
nE"b`
rbc=ez(ie); =C}
`aWwF} +Y
ez(2:ie)=ca*ez(2:ie)+cb*(hy(2:ie)-hy(1:ie-1));
NM.f0{:cj
ez(ib)=rbc;
6 peM4X
%***********************************************************************
;uA_gn!
% Update magnetic fields
E*T84Jh6
%***********************************************************************
{If2[4!z
hy(1:ie)=hy(1:ie)+ez(2:ib)-ez(1:ie);
gU 2c--`
%***********************************************************************
e,j ?_p
% Visualize fields
@SQ*/sw (c
%***********************************************************************
-I$txa/"|
if mod(n,2)==0;
Vp-OGX[
rtime=num2str(round(n*dt/1.0e-9));
Y;/=3T7An
subplot(2,1,1),plot(x,ez(1:ie)/scfact,'r'),axis([0 3 -1 1]);
Bdk{.oh6
title(['time = ',rtime,' ns']);
KxTYc
ylabel( ..
n5,Pq+[
RWh}?vs_
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
103595669
UID :74059
注册:
2011-03-19
登录:
2013-01-14
发帖:
64
等级:
仿真一级
1楼
发表于: 2011-08-16 00:12:49
有没有好心人指教一下呀。。?????搞算法太累了。。。。
共
条评分
发帖
回复