登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
详细讨论一下这个二维的fdtd程序
发帖
回复
4242
阅读
4
回复
[
转载
]
详细讨论一下这个二维的fdtd程序
离线
lanzhiyu
UID :3862
注册:
2007-07-15
登录:
2008-06-06
发帖:
8
等级:
旁观者
0楼
发表于: 2007-10-24 19:20:06
clear;clc;
gvwCoCbb
@eG#%6">
% 1.初始化
X~<>K/}u5
Hsux>+Q
T=200; % 迭代次数
MOH,'@&6^
Nx=100;
YA/H;707l
Ny=100;
2yVGEp^
npml=8; %PML的网格数量
`gA5P %
4F 6ju6w
c0=3*10^8;
/ab K/8ZQ
f=1.5*10^(9);
:">~(Rd ZH
lambda=c0/f;
CM@"lV_
Si%Eimiq
wl=10;
;Kq<',u~
dx=lambda/wl; %取lamda/10的精度
CO6XIgTe
dy=lambda/wl;
u+, jAkr
pi=3.14159;
1nX68fS.9
c+\Gd}IJq
dt=dx/(2*c0); %由于是二维情况同,取t=dx/2c0
#q^>qX y
t0=20*dt; %为高斯脉冲的仿真作准备
}gi`?58J6
<T=o]M$
epsz=1/(4*pi*9*10^9);
HjETinm"
epsilon=1;
y+~Aw"J}
sigma=0;
hE?GO,
\C'I l w
ic=Nx/4; % 源的X位置
#!F8n` C-
jc=Ny/4; % 源的Y位置
aV92.Z_Ku
C9^elcdv
for i=1:Nx+1;
u0$5Fd&X
for j=1:Ny+1;
@)M.u3{\
dz(i,j)=0; %z方向电位移
@?($j)9}
ez(i,j)=0; % z方向电场
_oyL*Cb
hx(i,j)=0; % x方向磁场
=fu_ Jau}
hy(i,j)=0; % y方向磁场
%CfTqbB
ihx(i,j)=0;
sjVl/t`l
ihy(i,j)=0;
f|HgLFx
iz(i,j)=0; % z方向求和中间参量
Ug[F3J|Mu
end;
]T28q/B;k
end;
2[bR6 T89
$(<*pU
for i=2:Nx;
mhHm#
for j=2:Ny;
5D q{"@E
ga(i,j)=1;
8)Bn?6.
end;
b "AHw?5F
end;
B+e~k?O] 1
%PML参数的设置
fSb@7L
for i=1:Nx;
*TMM:w|1
gi2(i)=1;
%这些数组代表是什么?
"MVN/Gl
gi3(i)=1;
%这些数组代表是什么?
='l6&3X
fi1(i)=0;
%这些数组代表是什么?
_ZvX" {y~
fi2(i)=1;
%这些数组代表是什么?
:fMM-?s]
fi3(i)=1;
%这些数组代表是什么?
#7E&16Fk
end
4QN6BZJ5
4 9+}OIX
for j=1:Ny;
BM}a?nnoc
gj2(j)=1;
%这些数组代表是什么?
F\$}8,9
gj3(j)=1;
@rDv (W
fj1(j)=0;
L:]; [xa%
fj2(j)=1;
C ^ k3* N
fj3(j)=1;
Yv|bUZ@
end
_d"Y6 0
9#A{C!75(y
for i=1:npml+1; %设置PML层中的参数
39^uLob
xnum=npml+1-i;
VE+p&0
xn=0.33*(xnum/npml)^3; %这里的0.333并不是严格的计算,而是经验值
ohG43&g~
gi2(i)=1.0/(1+xn); %这些数组代表是什么?
zJym`NF
gi2(Nx-1-i)=1/(1+xn); %这些数组代表是什么?
c9 TkIe
gi3(i)=(1-xn)/(1+xn); %这些数组代表是什么?
[E&"9%K
gi3(Nx-1-i)=(1-xn)/(1+xn); %这些数组代表是什么?
TuT=
(>/Dw|,m
xn=0.25*((xnum-0.5)/npml)^3; %这里的0.25和0.333也是一个道理
r;s3(@[,@
fi1(i)=xn; %这些数组代表是什么?
i_Q4bhVj
fi1(Nx-2-i)=xn;
cVt$#A)
fi2(i)=1.0/(1+xn);
}N=zn7W
fi2(Nx-2-i)=1/(1+xn);
Szob_IEq,
fi3(i)=(1-xn)/(1+xn);
l'X?S(fiV
fi3(Nx-2-i)=(1-xn)/(1+xn);
;R-Q,aCM}
end
CX@HG)l
FV<^q|K/(]
for i=1:npml+1;
gcY~_'&u
xnum=npml+1-i;
~s^6Q#Z9|
xn=0.33*(xnum/npml)^3;
Ffqn|}gb
gj2(i)=1.0/(1+xn);
Wn)A/Z ^r
gj2(Ny-1-i)=1/(1+xn);
?_`P;}4#
gj3(i)=(1-xn)/(1+xn);
3jQ$72_
gj3(Ny-1-i)=(1-xn)/(1+xn);
Tlv|To
Nl>b'G96
xn=0.25*((xnum-0.5)/npml)^3;
Vf* B1Zb
fj1(i)=xn;
UHm+5%ZC
fj1(Ny-2-i)=xn;
LB 5EGw
{Eb2<;1o{
fj2(i)=1.0/(1+xn);
r4qV}-E
fj2(Ny-2-i)=1/(1+xn);
DL/*t.)"et
fj3(i)=(1-xn)/(1+xn);
;jfXU_K
fj3(Ny-2-i)=(1-xn)/(1+xn);
~8qFM
end
AFnlt
>w'?DV>u|
%2.迭代求解电场和磁场
N,'qMoNf
5L'@WB|{4u
for t=1:T;
7qdl,z
for i=2:Nx; % 为了使每个电场周围都有磁场进行数组下标处理
zj0pP{y
for j=2:Ny;
'Rf#1ls#
dz(i,j)=gi3(i)*gj3(j)*dz(i,j)+gi2(i)*gj2(j)*0.5*(hy(i,j)-hy(i-1,j)-hx(i,j)+hx(i,j-1)); %
这个公式是什么意思?在资料上找不到呀!
AI`1N%Owi
end;
pPqbD}p
end; % 电场循环结束
b8xfV{3 L
OTbjZ(
pulse=sin(2*pi*f*t*dt); % 正弦波源
7UnO/K7oB.
%pulse=exp(-4*pi*(t*dt-t0)^2/(2/f)^2);高斯脉冲情况
"Kf~`0P
dz(ic,jc)=dz(ic,jc)+pulse; %软源,就是为了防止反射做的一个处理
~<Qxw>S#
Vam8NnZ|r
for i=1:Nx; %为了使每个电场周围都有磁场进行数组下标处理
`E%d$
for j=1:Ny;
E~U|v'GCd
ez(i,j)=ga(i,j)* dz(i,j); %反映煤质的情况都是放到这里的
aIyY%QT
end;
D}C*8s bC}
end; % 电荷密度循环结束
>WG91b<Xq
A&|(%
for j=1:Ny;
/VOST^z!
ez(1,j)=0;
H5rNLfw '
ez(Nx,j)=0;
2H0q\zZ
end
=(uy':Dbn*
;bu;t#
for i=1:Nx;
:1Yd;%>92
ez(i,1)=0;
,}$x'8v
ez(i,Ny)=0;
BJ;c F"Kp
end
i7E7%~S
#pxet
for i=1:Nx; % 为使每个磁场周围都有电场进行数组下标处理
Y@xeyMzE
for j=1:Ny-1;
5 s2}nIe
curl_e=ez(i,j)-ez(i,j+1);
M;@03 x W
ihx(i,j)=ihx(i,j)+fi1(i)*curl_e;
X|0`$f
hx(i,j)=fj3(j)*hx(i,j)+fj2(j)*0.5*(curl_e+ihx(i,j));
0hr)tYW,G
end;
Bc`A]U
& ..
]$%4;o4O
)HiTYV)]'
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
lanzhiyu
UID :3862
注册:
2007-07-15
登录:
2008-06-06
发帖:
8
等级:
旁观者
1楼
发表于: 2007-10-24 19:37:38
xn=0.33*(xnum/npml)^3; %这里的0.333并不是严格的计算,而是经验值
JaN_[ou
上面的0.33是不是就是PML边界里的最大sigma?
共
条评分
离线
伊谱系龙
UID :2307
注册:
2007-04-29
登录:
2009-02-26
发帖:
27
等级:
准仿真大师级
2楼
发表于: 2007-10-26 16:28:55
为了方便编程、运算和调试,程序语言与公式有一些不同。
1W7BN~p14
具体描述请在置顶贴下载
J4X35H=Z
electromagnetic simulation using fdtd method
N#ObxOE6T"
tfQq3 #
0.33可以理解为SigmaMax,计算方法在在葛老师的书中113页有提到。
共
条评分
别人追求完美,我追求完美中的完美!
离线
lanzhiyu
UID :3862
注册:
2007-07-15
登录:
2008-06-06
发帖:
8
等级:
旁观者
3楼
发表于: 2007-10-26 18:25:04
葛老师的书,我这里只有第一版的
共
条评分
离线
海聆羽
谁帮我改下程序啊 。。。万分感谢
UID :81280
注册:
2011-08-09
登录:
2013-01-14
发帖:
13
等级:
仿真新人
4楼
发表于: 2011-08-11 10:57:56
都是一些迭代公式啊
共
条评分
红色六月
发帖
回复