登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
我的一维fdtd,使用高斯激励,为什么只往一 ..
发帖
回复
872
阅读
3
回复
[
求助
]
我的一维fdtd,使用高斯激励,为什么只往一个方向传播?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
0楼
发表于: 2012-01-11 23:59:05
各位大神啊、牛人啊,求助!!!为什么的我fdtd程序只往一个方向传播。。。。。
"X']_:F1a
>/"XX,3
clear;
H*QN/{|RU
%--------------------------------------------------------------------parameters
@LY 5]og
cc=2.99792458e8;
lwH&4K
muz=4.0*pi*1.0e-7;
$Z;HE/3
epsz=1.0/(cc*cc*muz);
/p,D01Ws}(
A!v-[AI[
freq=3.0e+9;
6'C!Au
lambda=cc/freq;
XEqg%f
LvpHR#K)F5
ie=500; %number cells
X.0/F6U
dE5DH~ldV
dx=lambda/20.0;
H+zn:j@~L
dt=dx/(cc*sqrt(3));
oB[3?e
PF .sM(
nmax=round(12.0e-9/dt); %total number of time steps
Q:+Y-&||"
K*J8(/WkD
%-----------------------------------------------------------------function parameters
oWyg/{M
ez(1:ie)=0.0;
OU=9fw
hy(1:ie)=0.0;
FH8?W| G
Y6A]dk
eps=1.0;
Zn3iLAPBX
mu=1.0;
.Jdw:
sig=5.0e-3;
T4 SByX9
[Hdk=p
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
81a&99k#
cb=(dt/epsz/eps)/(1.0+(dt*sig)/(2.0*epsz*eps));
@{_PO{=\C
cp=(1.0-(dt*sig)/(2.0*muz*mu))/(1.0+(dt*sig)/(2.0*muz*mu));
/3%]Ggwe
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu));
'4sT+q
ZLvw]N&R
:Puv8[1i
%-----------------------------------------------------------------------------BEGIN LOOP
|xzqYu?o
+!POKr
for n=1:nmax
4\(;}M-R{
Y,D\_il_
%-----------------------------------------------------------------------------electric fields
#},]`"n\
qn@Qd9Sf
ez(2:ie)=ca*ez(1:(ie-1))+cb*diff(hy);
3Gn2@`GC
\Y9=dE}
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
v%3)wD
c7\bA7.
%----------------------------------------------------------------------------magnetic fields
>/n5=RWh
if5Y!Tx?G
hy(2:ie)=cp*hy(1:(ie-1))+cq*diff(ez);
Vm8;{S q
_|8"&*T^
%-------------------------------------------------- ..
Ao96[2U6
_0F6mg n
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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.
SbI,9<
E_z and H_y
共
条评分
离线
wbzhou
做做算法还是有点意思!
UID :64301
注册:
2010-08-03
登录:
2017-10-27
发帖:
525
等级:
积极交流四级
2楼
发表于: 2012-03-02 22:42:21
clear;clc;
}mq6]ZrK
cc=2.99792458e8;
OXSmt DvJ
muz=4.0*pi*1.0e-7;
1;r|g)VM
epsz=1.0/(cc*cc*muz);
[-k
freq=3.0e+9;
%D}kD6=
lambda=cc/freq;
|w1Bq
ie=500;
2%@4]
dx=lambda/20.0;
pW@Pt 3u
dt=dx/(cc*sqrt(3));
wb5baY9
nmax=round(12.0e-9/dt);
*,8^@(th
ez(1:ie)=0.0;
%x{kc3PnO
hy(1:ie)=0.0;
m=A(NKZ
eps=1.0;
Bp`]
mu=1.0;
A8fOQ
sig=1.0e-3;
tI TS1
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
&5spTMw8
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));
O-~7b(Z
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu
))/dx;
for n=1:nmax*2
st3l2Q
ez(
1:ie-1)=
ca*ez(1:ie-1)+cb*diff(hy);
)=Z>#iH1
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
]J}
hy(2:ie)=cp*hy
(2:ie)+
cq*diff(ez);
3kIN~/<R+7
subplot(2,1,1),plot(ez),axis([0 500 -1 1]);
OgQV;at
subplot(2,1,2),plot(hy),axis([0 500 -1.5e-4 1.5e-4]);
EQyC1j
frame = getframe();
# 448-8x
end
zRl3KjET
*:YiimOY"
有几处错误,修改后的如上。
图片:untitled.jpg
共
条评分
做算法的该何去何从?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
3楼
发表于: 2012-03-16 21:23:25
回 2楼(wbzhou) 的帖子
大神啊!!!
E4xa[iZ
多谢!!!!!!!!!!
共
条评分
发帖
回复