登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
啊,受不了了,我的二维TEfdtd老出错,请各 ..
发帖
回复
981
阅读
0
回复
[
讨论
]
啊,受不了了,我的二维TEfdtd老出错,请各位抽出宝贵的几分钟给我看看行吗?教我一下,谢谢
离线
昆虫杀手
自强不息厚德载物
UID :58301
注册:
2010-04-28
登录:
2022-12-16
发帖:
332
等级:
仿真三级
0楼
发表于: 2011-10-24 11:28:42
%常数定义
7>$&CWI
ie=80;
SMIr@*R
je=80;
*)82iD
i0=25;
"qxu9Hg!
j0=25;
L>>Cx`ASi
epsr=8.854e-12;
mZ!1Vh
miu=4*pi*1e-7;
>[&Zs3>
sigma=0;
9yWQ}h
sigmam=0;
a%NSL6
Z0=sqrt(miu/epsr);
q-5U,!!W/
ddx=0.01;
` Clh;
dy=ddx;
=ec"G2$?"
dt=ddx/(6e8);
W"&Y7("y
ia=4;
[W,} &
ib=ie-4+1;
pdEUDuX
ja=4;
J{qpGRQNa
jb=je-4+1;
$*N)\>~X
%初始化数组
(N/KP+J$n
sigmax=0.001;
{~a+dEz
sigmamx=Z0^2*sigmax;
p)y'a+|7
sigmay=0.001;
}MCJ$=5
sigmamy=Z0^2*sigmay;
,5J}Wo?Q}
DD^iEhG
ex=zeros(ie,je);
%[J|n~8_Z
ey=zeros(ie,je);
]<g`rR7}
hz=zeros(ie+1,je+1);
@/ G$ C9<
hzx=zeros(ie+1,je+1);
A.>L>uR
hzy=zeros(ie+1,je+1);
ZMn~QU_5
nsteps=300;
T/Fj0'
ee=zeros(nsteps,1);
)DwHLaLW
t0=12;
9%6W_0>
spread=25;
m{{8#@g
T=0;
0k):OVfm=
%主程序
JR^#NefJ
for n=1:nsteps
rFl6xM;F
T=T+1;
kHx6]<
%真空中,fdtd迭代
^f_4w|u,+
ca=(1.-sigma*dt/(2*epsr))/(1.+sigma*dt/(2*epsr));
2PVtyV3;
cb=dt/epsr/(1.+sigma*dt/(2*epsr));
#}|g8gh
cp=(1.-sigmam*dt/(2*miu))/(1.+sigmam*dt/(2*miu));
V0/O T~gS8
cq=dt/epsr/(1.+sigmam*dt/(2*miu));
,HHCgN
cb=dt/epsr;
aA3KJa
cq=dt/miu;
iW$f1=i
ex(ia:ib,ja:jb)=ex(ia:ib,ja:jb)+cb.*(hz(ia:ib,ja:jb)-hz(ia:ib,ja-1:jb-1)/dy);
%wk3&EC.
ey(ia:ib,ja:jb)=ey(ia:ib,ja:jb)+cb.*(hz(ia:ib,ja:jb)-hz(ia-1:ib-1,ja:jb)/ddx);
SQ0t28N3h
%source
n7*.zI]%&
hz(ia-1:ib-1,ja-1:jb-1)=hz(ia-1:ib-1,ja-1:jb-1)+cq.*((ey(ia:ib,ja:jb)-ey(ia-1:ib-1,ja-1:jb-1))/ddx-(ex(ia:ib,ja:jb)-ex(ia-1:ib-1,ja-1:jb-1))/dy);
HHXm 4}!;<
pulse=exp(-0.5*(T*dt-t0)^2/spread^2)/10000;
t IO 'ky
ex(i0,j0)=ex(i0,j0)+pulse;
]^c]* O[8
%pml层顶点计算
\Zbi`;m?
e1=(1-exp(-sigmay*dt/epsr))/(dy*sigmay);
8AQ@?\Rc"2
% ex在四个角顶点的计算
vzPuk|q3
%左下角,hz ->1:ja
,'z=cB`+o
ex(1:ia-1,1:ja-1)=exp(-sigmay*dt/epsr).*ex(1:ia-1,1:ja-1)-e1.*(hz(1:ia-1,1:ja-1)-hz(1:ia-1,2:ja));
p0Ra`*f
%左上角
,,o5hD0V9
ex(1:ia-1,jb-1:je-1)=exp(-sigmay*dt/epsr).*ex(1:ia-1,jb-1:je-1)-e1.*(hz(1:ia-1,jb-1:je-1)-hz(1:ia-1,jb:je));
`S+B-I0
%右下角
VY]L<4BfGL
ex(ib-1:ie-1,1:ja-1)=exp(-sigmay*dt/epsr).*ex(ib-1:ie-1,1:ja-1)-e1.*(hz(ib-1:ie-1,1:ja-1)-hz(ib-1:ie-1,2:ja));
G.y~*5?#
%右上角
wr{ [4$O
ex(ib-1:ie-1,jb-1:je-1)=exp(-sigmay*dt/epsr).*ex(ib-1:ie-1,jb-1:je-1)-e1.*(hz(ib-1:ie-1,jb-1:je-1)-hz(ib-1:ie-1,jb:je));
R^ &nBwp
% ey在四个角顶点的计算
f zsD
e11=(1-exp(-sigmax*dt/epsr))/(ddx*sigmax);
'BmLR{[2L
%左下角,hz ->1:ia
ae-hQF&
ey(1:ia-1,1:ja-1)=exp(-sigmax*dt/epsr).*ey(1:ia-1,1:ja-1)-e11.*(hz(2:ia,1:ja-1)-hz(1:ia-1,1:ja-1));
Trz41g
%左上角
N "Mw1R4
ey(1:ia-1,jb-1:je-1)=exp(-sigmax*dt/epsr).*ey(1:ia-1,jb-1:je-1)-e11.*(hz(2:ia,jb-1:je-1)-hz(1:ia-1,jb-1:je-1));
jGaI6G'N
%右下角
A$;"9F@
ey(ib-1:ie-1,1:ja-1)=exp(-sigmax*dt/epsr).*ey(ib-1:ie-1,1:ja-1)-e11.*(hz(ib:ie,1:ja-1)-hz(ib-1:ie-1,1:ja-1));
X\ bXat+
%右上角
Uk@'[_1z
ey(ib-1:ie-1,jb-1:je-1)=exp(-sigmax*dt/epsr).*ey(ib-1:ie-1,jb-1:je-1)-e11.*(hz(ib:ie,jb-1:je-1)-hz(ib-1:ie-1,jb-1:je-1));
9W+RUh^W
KE*8Y4#9
%%%hzx在四个角顶点的计算
7,:$, bL
hhzx1=(1-exp(-sigmamx*dt/epsr))/(ddx*sigmamx);
KVA~|j B
%左下角
:$5$H
hzx(2:ia,2:ja)=exp(-sigmamx*dt/miu).*hzx(2:ia,2:ja)-hhzx1.*(ey(2:ia,2:ja)-ey(1:ia-1,2:ja));
=&YhA}l\O
%右下角
d&apu{
hzx(ib+1:ie,2:ja)=exp(-sigmamx*dt/miu).*hzx(ib+1:ie,2:ja)-hhzx1.*(ey(ib+1:ie,2:ja)-ey(ib:ie-1,2:ja));
hUO&rov3@
%左上角
+:jx{*}jo
hzx(2:ia,jb+1:je)=exp(-sigmamx*dt/miu).*hzx(2:ia,jb+1:je)-hhzx1.*(ey(2:ia,jb+1:je)-ey(1:ia-1,jb+1:je));
V9cKl[
%右上角
RhQ[hI
hzx(ib+1:ie,jb+1:je)=exp(-sigmamx*dt/miu).*hzx(ib+1:ie,jb+1:je)-hhzx1.*(ey(ib+1:ie,jb+1:je)-ey(ib:ie-1,jb+1:je));
&>$+O>c ,
%%%hzy在四个角顶点的计算
J_ y+.p- 5
hhzy1=(1-exp(-sigmamy*dt/epsr))/(ddx*sigmamy);
y L|'K}
%左下角
<-rw>,
hzy(2:ia,2:ja)=exp(-sigmay*dt/epsr).*hzy(2:ia,2:ja)-hhzy1.*(ex(2:ia,2:ja)-ex(2:ia,1:ja-1));
TeXt'G=M
%左上角
c3]X#Qa#m$
hzy(2:ia,jb+1:je)=exp(-sigmay*dt/epsr).*hzy(2:ia,jb+1:je)-hhzy1.*(ex(2:ia,jb+1:je)-ex(2:ia,jb:je-1));
@kmOz(
%右下角
[8$K i$;
hzy(ib+1:ie,2:ja)=exp(-sigmay*dt/epsr).*hzy(ib+1:ie,2:ja)-hhzy1.*(ex(ib+1:ie,2:ja)-ex(ib+1:ie,1:ja-1));
3rh@|fg)E
%右上角
zc#$hIi
hzy(ib+1:ie,jb+1:je)=exp(-sigmay*dt/epsr).*hzy(ib+1:ie,jb+1:je)-hhzy1.*(ex(ib+1:ie,jb+1:je)-ex(ib+1:ie,jb:je-1));
_oBJ'8R\
%pml 左右两边
N,F$^ q6
%%%% the left side
y3{F\K
ex(1:ia-1,ja:jb-1)=ex(1:ia-1,ja:jb-1)-Z0/2.*(hz(1:ia-1,ja:jb-1)-hz(1:ia-1,ja+1:jb));
nlsif
ey(1:ia-1,ja:jb-1)=exp(-sigmax*dt/epsr).*ey(1:ia-1,ja:jb-1)-e11.*(hz(2:ia,ja:jb-1)-hz(1:ia-1,ja:jb-1));
N_^s;Qj
hzx(2:ia,ja+1:jb)=exp(-sigmamx*dt/miu).*hzx(2:ia,ja+1:jb)-hhzx1.*(ey(2:ia,ja+1:jb)-ey(1:ia-1,ja+1:jb));
^oYudb^%
hzy(2:ia,ja+1:jb)=hzy(2:ia,ja+1:jb)-1/(2*Z0).*(ex(2:ia,ja:jb-1)-ex(2:ia,ja+1:jb));
lS!uL9t.
%%% the right side
yG..B
ex(ib:ie-1,ja:jb-1)=ex(ib:ie-1,ja:jb-1)-Z0/2.*(hz(ib:ie-1,ja:jb-1)-hz(ib:ie-1,ja+1:jb));
>jH%n(TcC
ey(ib:ie-1,ja:jb-1)=exp(-sigmax*dt/epsr).*ey(ib:ie-1,ja:jb-1)-e11.*(hz(ib+1:ie,ja:jb-1)-hz(ib:ie-1,ja:jb-1));
l:$i}.C
hzx(ib+1:ie,ja+1:jb)=exp(-sigmamx*dt/miu).*hzx(ib+1:ie,ja+1:jb)-hhzx1.*(ey(ib+1:ie,ja+1:jb)-ey(ib:ie-1,ja+1:jb));
{Xw6p
hzy(ib+1:ie,ja+1:jb)=hzy(ib+1:ie,ja+1:jb)-1/(2*Z0).*(ex(ib+1:ie,ja:jb-1)-ex(ib+1:ie,ja+1:jb));
NPY\ >pf
%pml 上下两边
f&ri=VJY\T
%%the bottom side
/.>8e%)
ex(ia:ib-1,1:ja-1)=exp(-sigmay*dt/epsr).*ex(ia:ib-1,1:ja-1)-e1.*(hz(ia:ib-1,1:ja-1)-hz(ia:ib-1,2:ja));
_dk/SWb)
ey(ia:ib-1,1:ja-1)=ey(ia:ib-1,1:ja-1)-(Z0/2).*(hz(ia+1:ib,1:ja-1)-hz(ia:ib-1,1:ja-1));
H\!p%Y
hzx(ia+1:ib,2:ja)=hzx(ia+1:ib,2:ja)-1/(2*Z0).*(ey(ia+1:ib,2:ja)-ey(ia:ib-1,2:ja));
0<'Q;'2* L
hzy(ia+1:ib,2:ja)=exp(-sigmay*dt/epsr).*hzy(ia+1:ib,2:ja)-hhzy1.*(ex(ia+1:ib,2:ja)-ex(ia+1:ib,1:ja-1));
i?0+f}5<p
%%the upper side
_&xi})E^O]
ex(ia:ib-1,jb:je-1)=exp(-sigmay*dt/epsr).*ex(ia:ib-1,jb:je-1)-e1.*(hz(ia:ib-1,jb:je-1)-hz(ia:ib-1,jb+1:je));
rwh,RI) )g
ey(ia:ib-1,jb:je-1)=ey(ia:ib-1,jb:je-1)-(Z0/2).*(hz(ia+1:ib,jb:je-1)-hz(ia:ib-1,jb:je-1));
6X`i*T$.
hzx(ia+1:ib,jb+1:je)=hzx(ia+1:ib,jb+1:je)-1/(2*Z0).*(ey(ia+1:ib,jb+1:je)-ey(ia:ib-1,jb+1:je));
e|2@z-Sp-
hzy(ia+1:ib,jb+1:je)=exp(-sigmay*dt/epsr).*hzy(ia+1:ib,jb+1:je)-hhzy1.*(ex(ia+1:ib,jb+1:je)-ex(ia+1:ib,jb:je-1));
r< ~pSj
%真空与pml交界面
v"3($?au0
ey(ib,ja:jb)=ey(ib,ja:jb)-Z0/2.*(hz(ib+1,ja:jb)-hz(ib,ja:jb));
-H-:b7
ex(ia:ib,ja)=ex(ia:ib,ja)-Z0/2.*(hz(ia:ib,ja)-hz(ia:jb,ja+1));
"s3eO
[:*Jn}
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
发帖
回复