登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
这个程序中ga(i,j)到底和电导率和介电常数是 ..
发帖
回复
2200
阅读
0
回复
[
讨论
]
这个程序中ga(i,j)到底和电导率和介电常数是什么关系?
离线
lalucky
UID :9226
注册:
2008-03-11
登录:
2008-03-12
发帖:
1
等级:
旁观者
0楼
发表于: 2008-03-11 16:54:37
clear;clc;
E`)e ;^
#{6VdWZ
%%%%%%%%%%%%%%% 1.初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
G_F_TNO
5U2%X pO
T=300; % 迭代次数
K*@?BE
Nx=116;
2*cNd}qr
Ny=116;
F5*-HR
npml=8; %PML的网格数量
-H60T,o
+~5Lo'^
c0=3*10^8;
n{?Du
f=1.5*10^(9);
)G2Bx+Z;L
lambda=c0/f;
b] 5dBZ(
/@`"&@W'
wl=10;
S Qmn*CW
dx=lambda/wl; %取lamda/10的精度
XJ7B?Zg
dy=lambda/wl;
dn h qg3Y
pi=3.14159;
x1@,k=qrd
o,i_py
dt=dx/(2*c0); %由于是二维情况同,取t=dx/2c0
QbJ7$, 4
t0=20*dt; %为高斯脉冲的仿真作准备
OX;bA^+}P
4@{;z4*`
epsz=1/(4*pi*9*10^9);
D$FTnY
epsilon=1;
@/#G2<Vp1
sigma=0;
mS%4
z 0?Me H#
ic=Nx/2; % 源的X位置
,a5q62)q
jc=Ny/2; % 源的Y位置
$.tT
L1kn="5
for i=1:Nx+1;
-RP{viGWK
for j=1:Ny+1;
lMgguu~qg
dz(i,j)=0; %z方向电位移
(Yy#:r;U
ez(i,j)=0; % z方向电场
|j+JLB
hx(i,j)=0; % x方向磁场
4 $k{,
hy(i,j)=0; % y方向磁场
#VhdYDbW
ihx(i,j)=0;
^tTM 7
ihy(i,j)=0;
s)\PY
iz(i,j)=0; % z方向求和中间参量
@WazSL;N
end;
r*{.|>me
end;
0*MUe1{
w"v96%"Y
for i=2:Nx;
}hn?4ny
for j=2:Ny;
o "r
ga(i,j)=1;
g0 Q,]\~
end;
Ic3a\FTr\
end;
rO}1E<g (
Y~Uf2(7b5
ga(8:Nx-8,8:60)=0.1;
Aw7N'0K9UN
xhALJfv
%%%%%%%%%%%%%%%%%%%%PML参数的设置%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mU[\//
for i=1:Nx;
%s}{5Qcl/
gi2(i)=1;
R*6TS"aL
gi3(i)=1;
}oD^tU IK
fi1(i)=0;
O]IAIM
fi2(i)=1;
&&;.7E
fi3(i)=1;
'l<#;{
end
V dJ
TFHYB9vV
for j=1:Ny;
U R^r>
gj2(j)=1;
^2dQVV.
gj3(j)=1;
P,8TO-e7
fj1(j)=0;
}X9&!A8z
fj2(j)=1;
D&fOZVuqZ
fj3(j)=1;
>FeCa hFn
end
N!7?D'y
!~zn*Hm
",~ZO<P
for i=1:npml+1; %设置PML层中的参数
Ifp8oL? S;
xnum=npml+1-i;
fhg'4FO
xn=0.33*(xnum/npml)^3; %这里的0.333并不是严格的计算,而是经验值
3=wcA/"!
gi2(i)=1.0/(1+xn);
O}C*weU
gi2(Nx-1-i)=1/(1+xn);
y_:{p5u
gi3(i)=(1-xn)/(1+xn);
z&9ljQ iF
gi3(Nx-1-i)=(1-xn)/(1+xn);
whN<{AG
~JRq :
xn=0.25*((xnum-0.5)/npml)^3; %这里的0.25和0.333也是一个道理
6(7 56
fi1(i)=xn;
b\\lEM>o1
fi1(Nx-2-i)=xn;
`{ Ox=+]M
fi2(i)=1.0/(1+xn);
&tUX(
fi2(Nx-2-i)=1/(1+xn);
5Y;&L!T
fi3(i)=(1-xn)/(1+xn);
blomB2vQ
fi3(Nx-2-i)=(1-xn)/(1+xn);
<mJ8~
end
0<V/[$}\D
q>+!Ete1p
for i=1:npml+1;
}>iNT.Lvd
xnum=npml+1-i;
hcW>R
xn=0.33*(xnum/npml)^3;
|zRrGQYm
gj2(i)=1.0/(1+xn);
/pRv i>_(:
gj2(Ny-1-i)=1/(1+xn);
.8'c c8
gj3(i)=(1-xn)/(1+xn);
~APS_iG[
gj3(Ny-1-i)=(1-xn)/(1+xn);
[$} \Gv
zZd.U\"2
xn=0.25*((xnum-0.5)/npml)^3;
LmY[{.'tX
fj1(i)=xn;
e6*,MnqBh
fj1(Ny-2-i)=xn;
_rSwQ<38>
`\##M=
fj2(i)=1.0/(1+xn);
d v4~CW%Td
fj2(Ny-2-i)=1/(1+xn);
r7R39#
fj3(i)=(1-xn)/(1+xn);
fNda&
fj3(Ny-2-i)=(1-xn)/(1+xn);
n"?*"Ya
end
md bi@ms@
H{*rV>%
%%%%%%%%%%%%%%%%%%%2.迭代求解电场和磁场%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
&CQ28WG X
;pL!cG@
for t=1:T;
) M8,Tv*~
for i=2:Nx; % 为了使每个电场周围都有磁场进行数组下标处理
SP<(24zdd
for j=2:Ny;
Jr'a_(~
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));
Y{~`g(~9_A
end;
X#by Dg
end; % 电场循环结束
jBEW("4R
j 0LZ )V
%pulse=sin(2*pi*f*t*dt); % 正弦波源
M4|ION
pulse=exp(-4*pi*(t*dt-t0)^2/(2/f)^2); %高斯脉冲情况
I@qGDKz;
dz(ic,108)=pulse; %软源,就是为了防止反射做的一个处理
^$`mS&3/q
}x#e.}hf&
for i=1:Nx; % 为了使每个电场周围都有磁场进行数组下标处理
O:'qwJ#~
for j=1:Ny;
,+d8
ez(i,j)=ga(i,j)* dz(i,j); %反映煤质的情况都是放到这里的
x;SY80D
end;
pq_U?_5Z'r
end; % 电荷密度循环结束
\>9^(N
AP`1hz4].-
for j=1:Ny;
Z molL0y
ez(1,j)=0;
u[SqZftmO
ez(Nx,j)=0;
X
end
@[v,q_^8
Js:U1q
for i=1:Nx;
7'At_oG
ez(i,1)=0;
UFZOu%Y
ez(i,Ny)=0;
x4 4V 9-o
end
W9} ,f
0i5S=L`j
for i=1:Nx; % 为了使每个磁场周围都有电场进行数组下标处理
/j3",N+I
for j=1:Ny-1;
%*K zP{
curl_e=ez(i,j)-ez(i,j+1);
#Mk3cp^Yl
ihx(i,j)=ihx(i,j)+fi1(i)*curl_e;
!Mgo~h"]#
hx(i,j)=fj3(j)*hx(i,j)+fj2(j)*0.5*(curl_e+ihx(i,j));
8,F|*YA
end;
-G7)Y:
end; % 磁场HX循环结束
'cu14m_
1.N2!:&G|
for i=1:Nx-1; % 为了使每个磁 ..
R@uA4Al
cBbumf 9C
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
发帖
回复