登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
我这个二维FDTD的matlab程序为何会出现这个问 ..
发帖
回复
1925
阅读
4
回复
[
讨论
]
我这个二维FDTD的matlab程序为何会出现这个问题?
离线
zwlforever
UID :19352
注册:
2008-10-16
登录:
2010-07-09
发帖:
28
等级:
仿真新人
0楼
发表于: 2009-02-24 19:20:22
我这个二维FDTD的matlab程序为何会出现这个问题?中心放置一个高斯信号源Ez,长度为100dt,随着波的传播,外围是一个圆,这没错,可是为什么中间还有这个矩形?
f)N67z6
)e]:T4*vo
function fdtdex1
:n>:*e@w%
c=3.0e8;
9 Q].cDe[
sigmac=0;
YQe @C
sigmam=0;
)pJ}o&J
epslon0=8.854e-12;
b@5&<V;r2
epslonr=1;
d|DIqT~{W
epslon=epslon0*epslonr;
"eGS~-DVK
mu0=1.2566306e-6;
b\H(Lq17
mur=1;
%3"3OOT7
mu=mu0*mur;
QT^( oog=
f=1e9;
-hhE`Y
lambda=c/f;
;41s&~eR
Nlambda=5;
]:]2f9y
dx=lambda/Nlambda;
pmHd1 Wub
S=0.7;
%l3RM*zb
dt=dx/c/sqrt(3);
p|Z"< I7p(
CA=(1-sigmac*dt/2/epslon)/(1+sigmac*dt/2/epslon);
3/]J i^+
CB=(dt/epslon/dx)/(1+sigmac*dt/2/epslon);
!YAkHrF`[0
DA=(1-sigmam*dt/2/mu)/(1+sigmam*dt/2/mu);
2c9@n9Vx3a
DB=(dt/mu/dx)/(1+sigmam*dt/2/mu);
+Y 3_)
Ez=zeros(500,500);
uyAhN
Hy=zeros(500,500);
r|0C G^:C
Hx=zeros(500,500);
EL~s90C
Centerx=ceil(500/2);
c|ZZ+2IYd
Centery=ceil(500/2);
I%{U~
for t=1:1000
6o6!Ol
Ez(2:499,2:499)=CA*Ez(2:499,2:499)+CB*(Hy(3:500,2:499)-Hy(2:499,2:499)+Hx(2:499,2:499)-Hx(2:499,3:500));
'6 w|z^
Ez(1,1:500)=0;
N9{ivq|fO
Ez(1:500,1)=0;
K\n %&w
Ez(500,1:500)=0;
}L:LcM
Ez(1:500,500)=0;
$0cMrf@
if (t<100)
zz02F+H$Y
Ez(Centerx,Centery)=exp(-(t*dt-50*dt)^2*f^2);
2NE/ZqREg
end
j>0S3P,
Hx(2:500,2:500)=DA*Hx(2:500,2:500)+DB*(Ez(2:500,1:499)-Ez(2:500,2:500));
+$8hTi,
Hy(2:500,2:500)=DA*Hy(2:500,2:500)+DB*(Ez(2:500,2:500)-Ez(1:499,2:500));
Na3tK}x
Emax=max(max(Ez));
'_(oa<g
Emin=min(min(Ez));
C|z`hNp
imagesc(Ez,[0 1]);
-c|O!Lc-
title('Ez comp ..
|%zhwDQ.
AGrGZ7p]
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
1楼
发表于: 2009-02-26 05:51:12
if (t<100)
D0"+E*
Ez(Centerx,Centery)=exp(-(t*dt-50*dt)^2*f^2);
pRt )B`#
end
:()4eK/\
>1joCG~
有问题。 时间不够常。高斯信号还没有完全衰减。
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-02-26
离线
awell
UID :8837
注册:
2008-03-03
登录:
2010-05-28
发帖:
66
等级:
仿真一级
2楼
发表于: 2009-02-26 17:09:48
向高手学习
71)HxC[6vA
请问:CB=(dt/epslon/dx)/(1+sigmac*dt/2/epslon); 中的dt/epslon/dx为什么要除以dx??
MhJ`>.z1
请不吝赐教,谢谢!
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
3楼
发表于: 2009-02-28 14:53:16
准确的说应该是 dy. 楼主用的是均匀网哥。所以没有关系。
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-02-28
离线
awell
UID :8837
注册:
2008-03-03
登录:
2010-05-28
发帖:
66
等级:
仿真一级
4楼
发表于: 2009-03-01 10:09:05
知道了,谢谢!
共
条评分
发帖
回复