登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
啊,受不了了,我的二维TEfdtd老出错,请各 ..
发帖
回复
982
阅读
0
回复
[
讨论
]
啊,受不了了,我的二维TEfdtd老出错,请各位抽出宝贵的几分钟给我看看行吗?教我一下,谢谢
离线
昆虫杀手
自强不息厚德载物
UID :58301
注册:
2010-04-28
登录:
2022-12-16
发帖:
332
等级:
仿真三级
0楼
发表于: 2011-10-24 11:28:42
%常数定义
2f:Eof(B
ie=80;
{Jx4xpvPo
je=80;
[}8|R0KF
i0=25;
=%gRW5R%
j0=25;
W$rH"_@m
epsr=8.854e-12;
6s\Kt3=
miu=4*pi*1e-7;
zG9Y!SY\-
sigma=0;
n;U`m$vL%
sigmam=0;
?-^m`
Z0=sqrt(miu/epsr);
I8<,U!$
ddx=0.01;
/yF QeE
dy=ddx;
a{J,~2>
dt=ddx/(6e8);
{R61cD,n
ia=4;
2eC(Ijq[a
ib=ie-4+1;
Jn3 An
ja=4;
c`WHNky%j
jb=je-4+1;
dd%h67J2<
%初始化数组
8&~~j7p,
sigmax=0.001;
=ng\ 9y[;D
sigmamx=Z0^2*sigmax;
X 9%'|(tL
sigmay=0.001;
;M#_6Hd?qD
sigmamy=Z0^2*sigmay;
~r$jza~o(
TJ'[--
ex=zeros(ie,je);
,0~9dS
ey=zeros(ie,je);
>O?U=OeD
hz=zeros(ie+1,je+1);
IWveW8qJ
hzx=zeros(ie+1,je+1);
gV`=jAE_
hzy=zeros(ie+1,je+1);
%4 XJn@J
nsteps=300;
tBT<EV{ G
ee=zeros(nsteps,1);
* Y7jl#7
t0=12;
f=!VsR2o
spread=25;
w'fT=v)
T=0;
,FMx5$
%主程序
iMFgmM|
for n=1:nsteps
Sh,&{z!
T=T+1;
\,&co
%真空中,fdtd迭代
-gas?^`
ca=(1.-sigma*dt/(2*epsr))/(1.+sigma*dt/(2*epsr));
6,LubZFD
cb=dt/epsr/(1.+sigma*dt/(2*epsr));
4jBC9b}O
cp=(1.-sigmam*dt/(2*miu))/(1.+sigmam*dt/(2*miu));
}X_;X_\3;'
cq=dt/epsr/(1.+sigmam*dt/(2*miu));
oY|,GvCnK
cb=dt/epsr;
]M[#.EX
cq=dt/miu;
T?1Du"d8
ex(ia:ib,ja:jb)=ex(ia:ib,ja:jb)+cb.*(hz(ia:ib,ja:jb)-hz(ia:ib,ja-1:jb-1)/dy);
mp?78_I)
ey(ia:ib,ja:jb)=ey(ia:ib,ja:jb)+cb.*(hz(ia:ib,ja:jb)-hz(ia-1:ib-1,ja:jb)/ddx);
H_Kj7(=&>
%source
3g~^[&|i
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);
dT$M y`>
pulse=exp(-0.5*(T*dt-t0)^2/spread^2)/10000;
0}FOV`n
ex(i0,j0)=ex(i0,j0)+pulse;
!F4@KAv
%pml层顶点计算
HU-QDp%*r7
e1=(1-exp(-sigmay*dt/epsr))/(dy*sigmay);
*^wB!{.#
% ex在四个角顶点的计算
5qkH|*Z3
%左下角,hz ->1:ja
#8bsxx!s
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));
N, *m ,
%左上角
MXiQ1x
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));
)0e2ic/
%右下角
;)I'WQ]Q
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));
bb`':3%
%右上角
RZ7(J
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));
O Xi@c;F
% ey在四个角顶点的计算
7kK #\dI
e11=(1-exp(-sigmax*dt/epsr))/(ddx*sigmax);
saAxGG
%左下角,hz ->1:ia
)r z+'|,
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));
e9Pk"HHl
%左上角
^1x*lLf
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));
hj$e|arB
%右下角
P"?FnTbv[
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));
k({\/t3i
%右上角
EVUq--)~
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));
HCJ>X;(`f?
wHv]ViNvXE
%%%hzx在四个角顶点的计算
maY4g&'f
hhzx1=(1-exp(-sigmamx*dt/epsr))/(ddx*sigmamx);
>'5_Y]h4m|
%左下角
m6yIR6H
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));
^(f4*m6`
%右下角
L0]_hxE?
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));
ZBG}3Z
%左上角
?D)<,
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));
jWO/ xX
%右上角
6PF8 /@Nh
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));
R@yyur~'_(
%%%hzy在四个角顶点的计算
j0GMTri3
hhzy1=(1-exp(-sigmamy*dt/epsr))/(ddx*sigmamy);
Hiv!BV|
%左下角
{(#%N5%
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));
lJs<
%左上角
u!U"N*Y"
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));
_l], "[d
%右下角
(j"(
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));
0hn-FH-XE
%右上角
:!f(F9
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));
<{:
%pml 左右两边
*tX{MSYW
%%%% the left side
FvuGup`w
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));
C*te^3k>B
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));
z6~ H:k1G%
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));
e{9jn>\,a
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));
H,<7G;FPT
%%% the right side
cx$Gic:4
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));
X$b={]b
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));
d~_`M0+
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));
oM1 6C|
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));
\cJ-Dd
%pml 上下两边
NHgjRPz"
%%the bottom side
$W42vjr4
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));
yag}fQ(XH
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));
%=<IGce
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));
";w}3+R
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));
iH2n.M "
%%the upper side
\mN[gT}LHm
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));
L]hXpt
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));
A+wv-~3
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));
5ZPzPUa8~
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));
0g<K [mPr7
%真空与pml交界面
s;YKeE!8
ey(ib,ja:jb)=ey(ib,ja:jb)-Z0/2.*(hz(ib+1,ja:jb)-hz(ib,ja:jb));
T\# *S0^
ex(ia:ib,ja)=ex(ia:ib,ja)-Z0/2.*(hz(ia:ib,ja)-hz(ia:jb,ja+1));
pA#}-S%
6V+ qnUk
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
发帖
回复