登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
这个程序中ga(i,j)到底和电导率和介电常数是 ..
发帖
回复
2199
阅读
0
回复
[
讨论
]
这个程序中ga(i,j)到底和电导率和介电常数是什么关系?
离线
lalucky
UID :9226
注册:
2008-03-11
登录:
2008-03-12
发帖:
1
等级:
旁观者
0楼
发表于: 2008-03-11 16:54:37
clear;clc;
LEHlfB#z`@
QBai;p{
%%%%%%%%%%%%%%% 1.初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2Xe2%{
Lu1>A {et
T=300; % 迭代次数
{hZZU8*
Nx=116;
nLdI>c9R
Ny=116;
wz>j>e6k`
npml=8; %PML的网格数量
ag[ yM
P8z++h
c0=3*10^8;
9bqfZ"6nXY
f=1.5*10^(9);
/0Zwgxt4?7
lambda=c0/f;
TS-m^Y'R
;(VJZ_
wl=10;
"2Js[uf
dx=lambda/wl; %取lamda/10的精度
*N< 22w
dy=lambda/wl;
o6Vc}jRH
pi=3.14159;
h9g5W'.#
@*A(#U8p3
dt=dx/(2*c0); %由于是二维情况同,取t=dx/2c0
;)cSdA9
t0=20*dt; %为高斯脉冲的仿真作准备
)x?F1/
tv\P$|LV`8
epsz=1/(4*pi*9*10^9);
~wh8)rm
epsilon=1;
SYa!IL-B
sigma=0;
Lr40rLx;u
Kgk9p`C(
ic=Nx/2; % 源的X位置
O#cXvv]Z*
jc=Ny/2; % 源的Y位置
*kZJ
_pjpPSV6J
for i=1:Nx+1;
eEezd[p
for j=1:Ny+1;
Z+I[
dz(i,j)=0; %z方向电位移
vA(3H/)-
ez(i,j)=0; % z方向电场
+% '0;
hx(i,j)=0; % x方向磁场
]5rEwPB
hy(i,j)=0; % y方向磁场
z}u
ihx(i,j)=0;
PyzWpf
ihy(i,j)=0;
7QQ1oPV
iz(i,j)=0; % z方向求和中间参量
-%%2Pz0I
end;
/!jn$4fd:
end;
(p^q3\
@0n #Qs|E!
for i=2:Nx;
]*I&104{
for j=2:Ny;
GMB%A
ga(i,j)=1;
cnhYrX^
end;
lZ/Yp~2S
end;
Jq/([
wR>\5z)^
ga(8:Nx-8,8:60)=0.1;
{Qlvj.Xw
1=W>zC
%%%%%%%%%%%%%%%%%%%%PML参数的设置%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c1jgBty
for i=1:Nx;
xxiEL2"`>
gi2(i)=1;
(fY (-
gi3(i)=1;
A%%WPBk{O
fi1(i)=0;
jDy
fi2(i)=1;
O_KL#xo
fi3(i)=1;
w9i1ag
end
19;\:tN
SijCE~P
for j=1:Ny;
=GFlaGD
gj2(j)=1;
o5. q
gj3(j)=1;
\u",bMQF
fj1(j)=0;
Ql [=
fj2(j)=1;
<@@.~Qm'
fj3(j)=1;
oy/#,R_n%
end
jNrGsIY$
tw\/1wa.
L!-T`R8'c
for i=1:npml+1; %设置PML层中的参数
9b()ck-\F#
xnum=npml+1-i;
9dSKlB5J
xn=0.33*(xnum/npml)^3; %这里的0.333并不是严格的计算,而是经验值
Rz*%(2Vz
gi2(i)=1.0/(1+xn);
T9N /;3
gi2(Nx-1-i)=1/(1+xn);
E]_sl/`{od
gi3(i)=(1-xn)/(1+xn);
Tw-gM-m;
gi3(Nx-1-i)=(1-xn)/(1+xn);
S(9fGh
L[##w?Xf.
xn=0.25*((xnum-0.5)/npml)^3; %这里的0.25和0.333也是一个道理
y*|"!FK
fi1(i)=xn;
q$>At}4
fi1(Nx-2-i)=xn;
>qAQNX
fi2(i)=1.0/(1+xn);
A5Y z|
fi2(Nx-2-i)=1/(1+xn);
LGRX@nF#
fi3(i)=(1-xn)/(1+xn);
RUSBJsMB
fi3(Nx-2-i)=(1-xn)/(1+xn);
^EM##Ss_
end
DkQy.
vKol@7%N
for i=1:npml+1;
b@z/6y!
xnum=npml+1-i;
ndW??wiM
xn=0.33*(xnum/npml)^3;
vSPkm)O0)
gj2(i)=1.0/(1+xn);
N\<M4fn
gj2(Ny-1-i)=1/(1+xn);
~qco -b
gj3(i)=(1-xn)/(1+xn);
),dXaP[
gj3(Ny-1-i)=(1-xn)/(1+xn);
'd0]`2tVg4
~/iE
xn=0.25*((xnum-0.5)/npml)^3;
vMj"%
fj1(i)=xn;
vezX/x D?
fj1(Ny-2-i)=xn;
*%\z#Bje@
1r|'n aiZ
fj2(i)=1.0/(1+xn);
XQHvs{Po
fj2(Ny-2-i)=1/(1+xn);
l*b3Mg
fj3(i)=(1-xn)/(1+xn);
NR^z!+oSR
fj3(Ny-2-i)=(1-xn)/(1+xn);
GC#3{71
end
DHgEhf]
BWfsk/lej
%%%%%%%%%%%%%%%%%%%2.迭代求解电场和磁场%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
([tbFI}A
>%'|@75K
for t=1:T;
|V%Qp5 XJ
for i=2:Nx; % 为了使每个电场周围都有磁场进行数组下标处理
E3;[*ve
for j=2:Ny;
I tp7X
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));
yH@W6' .
end;
4^ $
end; % 电场循环结束
O .m;a_
NFU 5+X-c
%pulse=sin(2*pi*f*t*dt); % 正弦波源
YM/GSSq
pulse=exp(-4*pi*(t*dt-t0)^2/(2/f)^2); %高斯脉冲情况
X0Xs"--}
dz(ic,108)=pulse; %软源,就是为了防止反射做的一个处理
5Y_)%u
C!%BW%"R
for i=1:Nx; % 为了使每个电场周围都有磁场进行数组下标处理
L%U-MOS=
for j=1:Ny;
g' H!%<
ez(i,j)=ga(i,j)* dz(i,j); %反映煤质的情况都是放到这里的
zF3fpEKe
end;
0bS\VUB(
end; % 电荷密度循环结束
j01#Wq_\fk
iK= {pd
for j=1:Ny;
SWPr5h
ez(1,j)=0;
QJ-6aB
ez(Nx,j)=0;
oG3>lqBwD2
end
*|a_(bQ4@
yG2j!D
for i=1:Nx;
:TX!lbCq
ez(i,1)=0;
50Pz+:
ez(i,Ny)=0;
^)D[ W(*
end
$IUT5Gia`
/\_0daUx
for i=1:Nx; % 为了使每个磁场周围都有电场进行数组下标处理
aXhgzI5]
for j=1:Ny-1;
[#M^:Q
curl_e=ez(i,j)-ez(i,j+1);
1^b-J0
ihx(i,j)=ihx(i,j)+fi1(i)*curl_e;
D CcM~
hx(i,j)=fj3(j)*hx(i,j)+fj2(j)*0.5*(curl_e+ihx(i,j));
31Y+bxQ
end;
aOA;"jR1
end; % 磁场HX循环结束
9JJ(KY
q.g<g u]
for i=1:Nx-1; % 为了使每个磁 ..
3?.3Z!H/
-[" .km
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
发帖
回复