登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
请帮忙看下我做的fdtd程序
发帖
回复
950
阅读
0
回复
[
求助
]
请帮忙看下我做的fdtd程序
离线
lylmy
UID :58065
注册:
2010-04-25
登录:
2012-02-29
发帖:
40
等级:
仿真新人
0楼
发表于: 2010-09-10 22:37:16
小弟刚学fdtd不久,照葛德彪那本书天线那张做了个二维柱坐标系下的TE波线电流源,激励源采用双指数函数,吸收边界采用一阶Mur
|U12fuQ
感觉激励源的加入还是有很大问题
&u$l2hSS
另外步长改为1的话出来的波形明显震荡
2f F)I&
请各位高手指点一下
P^+Og_$
'tF<7\!
!! #\P7P
}**^g:
3&_(D)+
clear all
?jy^WF`
close all
6jom6/F 4
clc
=n%?oLg^
@"Do8p!*(6
'v4AM@%u
%--------------------------------------------------
9'O<d/xj/
%FDTD法模拟柱坐标二维TE波的传播(Mur吸收边界条件)
~KEnZa0
%--------------------------------------------------
V5R``Tp
r)ga{Nn,.
DAJh9I
%初始化
GMd81@7
c=3e8; %光速
df}B:?Ew.
delta=10;
aNfgSo05@n
% delta=1e-3; %空间步长
erqg|TsFj
dt=delta/(2*c); %时间步长
O=ci"2!\-
u0=(4*pi)*1e-7; %磁导率
M=@U]1n*c
e0=(1/(36*pi))*1e-9; %介电常数
RtK/bUa
I0=15e3; %基电流
)p( XY34]
n0=200; %空间网格数
>[ywrB ?T
% n1=33; %源的位置
q18dSu
abi=4*dt/(pi*e0*delta^2); %激励源系数
<4^a(Zh
CA=1;
POx~m
CB=dt/(e0*delta); %Er与Ez中的系数
VAV@Qn
CP=1;
<[b\V+M
CQ=dt/(u0*delta); %Hphi中的系数
&:w{[H$-
C1=(1/(2*delta)-1/(2*c*dt)-1/(8*delta*(n0)))/(1/(2*delta)+1/(2*c*dt)+1/(8*delta*(n0))); %一阶边界条件中的系数
>KC*xa"
C2=(-1/(2*delta)+1/(2*c*dt)-1/(8*delta*(n0)))/(1/(2*delta)+1/(2*c*dt)+1/(8*delta*(n0)));
{{:MJ\_"h_
C3=(1/(2*delta)+1/(2*c*dt)-1/(8*delta*(n0)))/(1/(2*delta)+1/(2*c*dt)+1/(8*delta*(n0)));
Xo }w$q5
% C1=-(4*n0+1)/(12*n0+1); %一阶边界条件中的系数
Dr<% Lr
% C2=-(-4*n0+1)/(12*n0+1);
9NKZE?5P|D
% C3=-(-12*n0+1)/(12*n0+1);
#kk_iS>8
% C1=-(4*(n0+1)+1)/(12*(n0+1)+1); %一阶边界条件中的系数
0A\o8T.12
% C2=-(-4*(n0+1)+1)/(12*(n0+1)+1);
ePB=aCZ
% C3=-(-4*(n0+1)+1)/(-12*(n0+1)+1);
!dGy"-i$h
C4=(1.3e8*dt-delta)/(1.3e8*dt+delta);
2L ~U^
Er=zeros(n0+1,n0+1);
@zSoPDYv,
Ez=zeros(n0+1,n0+1);
'Zk&AD ~
Hphi=zeros(n0,n0);
2x'JR yef
Hphi_last=zeros(n0,n0); %大型矩阵维数的预先确定
Q-BciBh$
HA"LU;5>2J
7-bU9{5
(iH5F9WO
Oxy.V+R
for k=1:2000
7?b'"X"
t4h5R
zaR~ fO
%迭代求电场
cYW F)WAog
mii9eZ
,odjL6u
#2|sS|0 <
%求Er
kVZ>Dc2M
for j=2:n0
0p:n'P
for i=1:n0
XW`&1qx
Er(i,j)=CA*Er(i,j)-CB*(Hphi(i,j)-Hphi(i,j-1));
NcRY Ch
end
XA>@0E>1r
end %Er循环结束
SbrBlP:G
%求Ez
v:<u0B-)$
for j=1:n0
PJ9JRG7j
for i=2:n0
9 bGN5.5
Ez(i,j)=CA*Ez(i,j)+CB*(delta*i*Hphi(i,j)-delta*(i-1)*Hphi(i-1,j))/(delta*(i-0.5));
*(s)CWf
end
'^}l|(
end %Ez循环结束
dLG5yx\js
%激励源
G$Z8k,g+<7
t=k*dt;
:@ 19,.L
I=1.1*I0*(exp(-9.2e4*t)-exp(-0.5e7*t));
z_CBOJl#C!
for j=1:n0
|\Jpjm)?
Ez(1,j)=CA*Ez(1,j)+4*CB*Hphi(1,j)/delta-abi*I;
RwN*/Li
end
Qq^>7OU>Co
zLC\Rc4
7_n@iUG2n
%迭代求解磁场
rn U2EL
Hphi_last=Hphi;
Z6 (;~"Em
for j=1:n0
:!J!l u
for i=1:n0
b[VP"KZ ?
Hphi(i,j)=CP*Hphi(i,j)+CQ*(Ez(i+1,j)-Ez(i,j))-CQ*(Er(i,j+1)-Er(i,j));
n+j'FfSz
end
f`P%aX'cBQ
end %磁场循环结束
hZ5h(CQ?"#
>=[w{Vn'Mf
O>)8< yi$
&`0heJ 5Yn
%Mur边界条件
8BC}D+q
FtT+Q$q=
% r=h
/k(0}g=\
for j=1:n0
!&ac}uD^g
Hphi(n0,j)=C1*Hphi(n0-1,j)+C2*Hphi_last(n0,j)+C3*Hphi_last(n0-1,j);
[P,1UO|$B
end
G)iV
%z=0,h
jja9:$#
for i=1:n0
[u=b[(
..
jats)!:
<JDkvpckx.
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
发帖
回复