登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
关于Sullivan Dennis中的一个例子
发帖
回复
2391
阅读
4
回复
[
RFEDA原创
]
关于Sullivan Dennis中的一个例子
离线
langren2007
UID :6360
注册:
2007-12-03
登录:
2020-04-07
发帖:
194
等级:
仿真二级
0楼
发表于: 2008-03-27 11:25:06
K>_~|ZN1C8
Sullivan Dennis那本书上第一章的第二个例子,一维的完全吸收边界。但为什么右行的波到达边界后发生了反射?
IHwoG(A~<
这是做到二维后才发现的,反射相当厉害。
q0KGI/5s4+
希望大家给看看,不知道有没有同样的问题?
Zp+orc7
4VP$,|a
YP73
clear
& Tkl-{I
clc
9a]J Q
ke=200;
lyw)4;wt\
ex=rand(1,200);
"0m\y+%8
hy=rand(1,200);
tZygTvK/S
ex_low_m1=0;
(l}nwyh5
ex_low_m2=0;
" nLWvV1
ex_high_m1=0;
tN0?
ex_high_m2=0;
E=]$nE]b
syms n k kc ke nsteps T t0 spread pulse;
AQD`cG
%initialize
]%Lk#BA@A
for k=1:200
og`g]Z<I
ex(k)=0;
)j}v3@EM5
hy(k)=0;
Q*8efzgs|
end
nU/x,W[}
kc=100;
>6:UWvV 1
t0=40;
A'suZpL
spread=12;
MCTTm^8O
T=0;
<;hy-Q()D
nsteps=1;
Ygc.0VKMR
LfMN 'Cb
while nsteps>0
t: 03
nsteps=input('nsteps-->');
,'byJlw_pv
ZJV;&[$[
n=0;
2#@-t{\3-p
for n=1:nsteps
V(M7d>N5G
T=T+1;
&H/3@A3
for k=2:200
Dv}VmC""
ex(k)=ex(k)+0.5*(hy(k-1)-hy(k));
@5{h+ ^
end
QeQxz1
pulse=exp(-0.5*(power((t0-T)/spread,2)));
p~z\&&0U0
ex(kc)=pulse;
I@ D<rjR
%%%%%%% absorbing boundary %%%%%%%%%%
ggUw4w/e
ex(1)=ex_low_m2;
emG1Wyl
ex_low_m2=ex_low_m1;
&/$3>MD2`
ex_low_m1=ex(2);
&:#"APX
wUH:l
hy(200)=ex_high_m2;
b q8nV
ex_high_m2=ex_high_m1;
KSO%89R'
ex_high_m1=hy(199);
H(DI /"N
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kza5_7p`L
6c*QBzNL
for k=1:199
U]"6KS
hy(k)=hy(k)+0.5*(ex(k)-ex(k+1));
a 1~@m[
end
&XB1=b5
end
`gdk,L]
?3do-tTp
%end of main FDTD loop
Q#pgl
Vo9FlYj
h%&2M58:
fprintf('T=%5.0f\n',T);
K<p)-q
!_?#f|
%end
6OZn7:)Y
x=1:200;
F@1Eg
subplot(2,1,1);
KP CZiu7
plot(x,ex(x));
T1uOp5_]B
axis([0,200,-2,2]);
,EH^3ODD
grid on
@gi / 1 cq
title('FDTD cells ..
9j<