登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
我的一维fdtd,使用高斯激励,为什么只往一 ..
发帖
回复
874
阅读
3
回复
[
求助
]
我的一维fdtd,使用高斯激励,为什么只往一个方向传播?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
0楼
发表于: 2012-01-11 23:59:05
各位大神啊、牛人啊,求助!!!为什么的我fdtd程序只往一个方向传播。。。。。
N0.|Mb"?t
Pc_aEBq
clear;
tAF?.\x"g
%--------------------------------------------------------------------parameters
nYFrp)DLK
cc=2.99792458e8;
5nUJ9sqA
muz=4.0*pi*1.0e-7;
-^5467
epsz=1.0/(cc*cc*muz);
<S041KF.{6
==& y9e
freq=3.0e+9;
2ozh!8aL
lambda=cc/freq;
t*=[RS*
6,aH[>W
ie=500; %number cells
UXs)$
Y}1c>5{bE
dx=lambda/20.0;
>WIc"y.
dt=dx/(cc*sqrt(3));
@phVfP"M
Dlq!:dF{&
nmax=round(12.0e-9/dt); %total number of time steps
+.Ij%S[Px5
o87kF!x
%-----------------------------------------------------------------function parameters
ocFk#FW
ez(1:ie)=0.0;
)@X0'X<
hy(1:ie)=0.0;
2lCFE)
0]kKF<s
eps=1.0;
sVK?sBs]
mu=1.0;
b:D92pH
sig=5.0e-3;
b7Jxv7$e
j/z=<jA
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
Jsysk $R
cb=(dt/epsz/eps)/(1.0+(dt*sig)/(2.0*epsz*eps));
B*,)@h
cp=(1.0-(dt*sig)/(2.0*muz*mu))/(1.0+(dt*sig)/(2.0*muz*mu));
Y.\x.Hg
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu));
_ i}W1i
;~EQS.Qp
1^4:l!0D
%-----------------------------------------------------------------------------BEGIN LOOP
PDuc;RG
&cSVOsi
for n=1:nmax
xwf-kwF8^
!:^q_q4
%-----------------------------------------------------------------------------electric fields
BG+i tyH
F5Z,Jmi^M
ez(2:ie)=ca*ez(1:(ie-1))+cb*diff(hy);
.VCY|KZ
6e%@uB}$
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
"FWx;65CR
jYFJk&c
%----------------------------------------------------------------------------magnetic fields
k~^4
M'PZ{6;
hy(2:ie)=cp*hy(1:(ie-1))+cq*diff(ez);
,^1zG
U}RBgPX!
%-------------------------------------------------- ..
`oJQA$UD
Wn'a'
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
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.
E{,WpU
E_z and H_y
共
条评分
离线
wbzhou
做做算法还是有点意思!
UID :64301
注册:
2010-08-03
登录:
2017-10-27
发帖:
525
等级:
积极交流四级
2楼
发表于: 2012-03-02 22:42:21
clear;clc;
D:IG;Rsc
cc=2.99792458e8;
QY<5o;m`
muz=4.0*pi*1.0e-7;
[dz3k@ >0
epsz=1.0/(cc*cc*muz);
wD$UShnm9-
freq=3.0e+9;
nN-S5?X#
lambda=cc/freq;
AOKC1iD%Y
ie=500;
b5Q>e%i#
dx=lambda/20.0;
D *PEIsV
dt=dx/(cc*sqrt(3));
:?y Ma$
nmax=round(12.0e-9/dt);
1ZRkVHiz0
ez(1:ie)=0.0;
Z^'\()3t
hy(1:ie)=0.0;
.L"IG=Uh#
eps=1.0;
Y6)o7t
mu=1.0;
djw\%00
sig=1.0e-3;
goF87^M
ca=(1.0-(dt*sig)/(2.0*epsz*eps))/(1.0+(dt*sig)/(2.0*epsz*eps));
n{etDO
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));
e3p:lu
cq=(dt/muz*mu)/(1.0+(dt*sig)/(2.0*muz*mu
))/dx;
for n=1:nmax*2
/K1cP>oE
ez(
1:ie-1)=
ca*ez(1:ie-1)+cb*diff(hy);
uPYH3<
ez(ceil(ie/2)) = ez(ceil(ie/2))+exp(-((n-60)*dt).^2/(20*dt)^2);
n|rKo<Y0
hy(2:ie)=cp*hy
(2:ie)+
cq*diff(ez);
[.Kp/,JY
subplot(2,1,1),plot(ez),axis([0 500 -1 1]);
U1lqg?KO
subplot(2,1,2),plot(hy),axis([0 500 -1.5e-4 1.5e-4]);
)u=W?5%=}
frame = getframe();
%m[ZU<v
end
dT?3Q;>B?
; Ad5Jk
有几处错误,修改后的如上。
图片:untitled.jpg
共
条评分
做算法的该何去何从?
离线
lists
UID :85343
注册:
2011-11-10
登录:
2014-06-13
发帖:
23
等级:
仿真新人
3楼
发表于: 2012-03-16 21:23:25
回 2楼(wbzhou) 的帖子
大神啊!!!
bf3!|Um
多谢!!!!!!!!!!
共
条评分
发帖
回复