登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
我这个二维FDTD的matlab程序为何会出现这个问 ..
发帖
回复
1926
阅读
4
回复
[
讨论
]
我这个二维FDTD的matlab程序为何会出现这个问题?
离线
zwlforever
UID :19352
注册:
2008-10-16
登录:
2010-07-09
发帖:
28
等级:
仿真新人
0楼
发表于: 2009-02-24 19:20:22
我这个二维FDTD的matlab程序为何会出现这个问题?中心放置一个高斯信号源Ez,长度为100dt,随着波的传播,外围是一个圆,这没错,可是为什么中间还有这个矩形?
7jJbo]&
Ia'ZV7'
function fdtdex1
y8\S}E0
c=3.0e8;
>~\89E02
sigmac=0;
2+Wzf)tB
sigmam=0;
`4 y]Z)
epslon0=8.854e-12;
o5n^!gi4
epslonr=1;
PG]%Bv57
epslon=epslon0*epslonr;
)=DGdIEt
mu0=1.2566306e-6;
o#[ KS:Y
mur=1;
z~\t|Z]G,|
mu=mu0*mur;
l)-Mq@V
f=1e9;
~RD+.A
lambda=c/f;
)}L??|#
Nlambda=5;
nL?oTze*p
dx=lambda/Nlambda;
p)~lL
S=0.7;
;2m<CSv!D
dt=dx/c/sqrt(3);
h},oF!,
CA=(1-sigmac*dt/2/epslon)/(1+sigmac*dt/2/epslon);
O,.!2wVrN
CB=(dt/epslon/dx)/(1+sigmac*dt/2/epslon);
v{<[)cr
DA=(1-sigmam*dt/2/mu)/(1+sigmam*dt/2/mu);
')N{wSM9Ft
DB=(dt/mu/dx)/(1+sigmam*dt/2/mu);
`.2hjO
Ez=zeros(500,500);
zW8*E E+,
Hy=zeros(500,500);
emW:C-/h/@
Hx=zeros(500,500);
[0UGuj
Centerx=ceil(500/2);
j.:h5Y^N
Centery=ceil(500/2);
K]xa/G(
for t=1:1000
dr<<! q /
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));
wIf {6z{
Ez(1,1:500)=0;
RJeSi`19T)
Ez(1:500,1)=0;
|0z;K:5s
Ez(500,1:500)=0;
zT ZVehEe
Ez(1:500,500)=0;
hwqbi "o
if (t<100)
;;)`c/$
Ez(Centerx,Centery)=exp(-(t*dt-50*dt)^2*f^2);
++Ww88820
end
UgN28YrW
Hx(2:500,2:500)=DA*Hx(2:500,2:500)+DB*(Ez(2:500,1:499)-Ez(2:500,2:500));
'>(.%@
Hy(2:500,2:500)=DA*Hy(2:500,2:500)+DB*(Ez(2:500,2:500)-Ez(1:499,2:500));
dz[ bm<T7
Emax=max(max(Ez));
1J?dK|% b
Emin=min(min(Ez));
m~'? /!!
imagesc(Ez,[0 1]);
}!i` 0p
title('Ez comp ..
&Z^l=YH,
{w <+_++
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
1楼
发表于: 2009-02-26 05:51:12
if (t<100)
UmK X*T9
Ez(Centerx,Centery)=exp(-(t*dt-50*dt)^2*f^2);
99iUOw c
end
,R wfp=*E
'7Ig.K&
有问题。 时间不够常。高斯信号还没有完全衰减。
共
1
条评分
gwzhao
技术分
+1
积极参与讨论+技术分 论坛感谢您的参与
2009-02-26
离线
awell
UID :8837
注册:
2008-03-03
登录:
2010-05-28
发帖:
66
等级:
仿真一级
2楼
发表于: 2009-02-26 17:09:48
向高手学习
g"y?nF.&F
请问:CB=(dt/epslon/dx)/(1+sigmac*dt/2/epslon); 中的dt/epslon/dx为什么要除以dx??
3ps,uozj
请不吝赐教,谢谢!
共
条评分
离线
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
知道了,谢谢!
共
条评分
发帖
回复