登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
我的一维fdtd,使用高斯激励,为什么只往一 ..
发帖
回复
873
阅读
3
回复
[
求助
]
我的一维fdtd,使用高斯激励,为什么只往一个方向传播?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
0楼
发表于: 2012-01-11 23:59:05
各位大神啊、牛人啊,求助!!!为什么的我fdtd程序只往一个方向传播。。。。。
2`V(w[zTr
=64Ju Wvo
clear;
}KV)F,`
%--------------------------------------------------------------------parameters
la{o<||Aq
cc=2.99792458e8;
ki]i[cdk
muz=4.0*pi*1.0e-7;
1+Bj` ACP
epsz=1.0/(cc*cc*muz);
!lI1jb"
]"i^VVw
freq=3.0e+9;
C{YTHNn
lambda=cc/freq;
VKy3tW/_&
o6 8;-b'n
ie=500; %number cells
dDqT#N?Y
Yz>8 Nn '_
dx=lambda/20.0;
F#|mN0op
dt=dx/(cc*sqrt(3));
]F4|@+\9
n0w0]dJ&lc
nmax=round(12.0e-9/dt); %total number of time steps
SKJ'6*6
)Nl xW5
%-----------------------------------------------------------------function parameters
Su k;##I
ez(1:ie)=0.0;
]u%Y8kBe
hy(1:ie)=0.0;
uC"Gm;0
1fV\84m^
eps=1.0;
.WlZT-
mu=1.0;
[UB]vPXm$
sig=5.0e-3;
D`PA@t
]GzfU'fOn|
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
t=n@<1d
cb=(dt/epsz/eps)/(1.0+(dt*sig)/(2.0*epsz*eps));
r,ep{ p
cp=(1.0-(dt*sig)/(2.0*muz*mu))/(1.0+(dt*sig)/(2.0*muz*mu));
)>!y7/3
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu));
<KZ J
-V:7j8
tS[@?qP
%-----------------------------------------------------------------------------BEGIN LOOP
"=UhTE
e_llW(*l8^
for n=1:nmax
=Ct$!uun
8-)@q|
%-----------------------------------------------------------------------------electric fields
j`-9.
KvlLcE~`o
ez(2:ie)=ca*ez(1:(ie-1))+cb*diff(hy);
/+f3jy:d
*4g:V;L
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
8b $e)
qhNYQ/uS
%----------------------------------------------------------------------------magnetic fields
W 6CNMI]
.7n`]S/
hy(2:ie)=cp*hy(1:(ie-1))+cq*diff(ez);
cB7'>L
q` @8
%-------------------------------------------------- ..
S~{}jvc
u@kr;^m
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
rfdesgin
UID :81578
注册:
2011-08-17
登录:
2012-01-27
发帖:
57
等级:
仿真一级
1楼
发表于: 2012-01-25 16:11:02
because only two components of the Electric and magnetic field were defined in your code.
%ysfFE
E_z and H_y
共
条评分
离线
wbzhou
做做算法还是有点意思!
UID :64301
注册:
2010-08-03
登录:
2017-10-27
发帖:
525
等级:
积极交流四级
2楼
发表于: 2012-03-02 22:42:21
clear;clc;
=ykOh_M
cc=2.99792458e8;
lSk<euCYs
muz=4.0*pi*1.0e-7;
=ap6IVR
epsz=1.0/(cc*cc*muz);
:u$+lq
freq=3.0e+9;
{!9i8T
lambda=cc/freq;
5};$>47m
ie=500;
9x40
dx=lambda/20.0;
r9d dVD
dt=dx/(cc*sqrt(3));
J\ V.J/
nmax=round(12.0e-9/dt);
#RA3 T[A
ez(1:ie)=0.0;
-d8||X[
hy(1:ie)=0.0;
J$Qm:DC5
eps=1.0;
$ZOKB9QccC
mu=1.0;
';hTGLq\X
sig=1.0e-3;
+\ O[)\
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
<7%4=
cb=(dt/epsz/eps)/(1.0+(dt*sig)/(2.0*epsz*eps
))/dx;
cp=(1.0-(dt*sig)/(2.0*muz*mu))/(1.0+(dt*sig)/(2.0*muz*mu));
Y!tjaL 9D
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu
))/dx;
for n=1:nmax*2
U DC>iHt
ez(
1:ie-1)=
ca*ez(1:ie-1)+cb*diff(hy);
AZTn!hrU
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
k;9"L90
hy(2:ie)=cp*hy
(2:ie)+
cq*diff(ez);
5Si\hk:o
subplot(2,1,1),plot(ez),axis([0 500 -1 1]);
Lv{xwHnE
subplot(2,1,2),plot(hy),axis([0 500 -1.5e-4 1.5e-4]);
)QvuoaJQ
frame = getframe();
{k}EWV
end
p!~{<s]
4/Bn9F
有几处错误,修改后的如上。
图片:untitled.jpg
共
条评分
做算法的该何去何从?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
3楼
发表于: 2012-03-16 21:23:25
回 2楼(wbzhou) 的帖子
大神啊!!!
#wjBMR%
多谢!!!!!!!!!!
共
条评分
发帖
回复