登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
FDTD迷你代码-2D BPML
发帖
回复
1314
阅读
0
回复
[
RFEDA原创
]
FDTD迷你代码-2D BPML
离线
zuzero
UID :90389
注册:
2012-03-16
登录:
2014-09-11
发帖:
17
等级:
仿真新人
0楼
发表于: 2014-06-11 08:58:30
n^7m^1to
clear;
<=7N2t)s4
clc;
96.Vm*/7
e0=1e-9/(36*pi);%epsilon0
ps=+wg?]
m0=1e-7*(4*pi);%mu0
PquATAzQA
c=3e8;%light speed
s#2<^6
f=1e9;
y.m;4((
lambda=c/f;%wavelength
S+Vsy(
omega=2*pi*f;%omega
EU@XLm6
nd=20;%space grid ratio to lambda
|nTZ/MXbw
d=lambda/nd;%grid size
.7Lv
s=0.5;%courantsteadycoefficient
P<GHX~nB
dt=s*d/c;%time step
~A =?_ 5kJ
nx=100;%grid x number
8 y+N l&"V
ny=100;%grid y number
KQ\d$fX
na=10;%absorber layers thickness
@mu2,%
ezx=zeros(nx+1,ny+1);%Hz
X=d;WT4,,
ezy=zeros(nx+1,ny+1);%Hz
k9iXVYQ.;r
hx=zeros(nx-1,ny);%Ex,derive to y
.ugQH<B
hy=zeros(nx,ny-1);%Hy,derive to x
[H8QxJk
m=2;
m"RE[dQ
sigmaMax=(m+1)/(150*pi*d);%lost tangent max
*UlL\
sigma=sigmaMax*((na-1:-1:0)/(na-1)).^m;%linearly distribution sigma
y$^.HI02jP
sigmam=sigma*m0/e0;% sigma m
O)i]K`jk
sigma=(sigma(1:end-1)+sigma(2:end))/2;
Wy.Xx-3W
sigmax=zeros(nx-1,ny-1);
sB>ZN3ptH^
sigmay=zeros(nx-1,ny-1);
;UB$Uqs6
sigmamx=zeros(nx,ny-1);
UZq1qn@+
sigmamy=zeros(nx-1,ny);
#m<<]L(o8W
sigmax(1:na-1,:)=repmat(sigma',1,ny-1);
:\+\/HTbh
sigmax(end-na+2:end,:)=repmat(fliplr(sigma)',1,ny-1);
)ls<"WTC.
sigmay(:,1:na-1)=repmat(sigma,nx-1,1);
dxI t.h
sigmay(:,end-na+2:end)=repmat(fliplr(sigma),nx-1,1);
d[Lr`=L;
sigmamx(1:na,:)=repmat(sigmam',1,ny-1);
"-;l{tL
sigmamx(end-na+1:end,:)=repmat(fliplr(sigmam)',1,ny-1);
|~I-
sigmamy(:,1:na)=repmat(sigmam,nx-1,1);
q|fZdTw
sigmamy(:,end-na+1:end)=repmat(fliplr(sigmam),nx-1,1);
;r}>1LhN
caEzx=(e0/dt-sigmax/2)./(e0/dt+sigmax/2);
;4 rTm@6
cbEzx=1/d./(e0/dt+sigmax/2);
61^5QHur
caEzy=(e0/dt-sigmay/2)./(e0/dt+sigmay/2);
m;]glAtt
cbEzy=1/d./(e0/dt+sigmay/2);
d3| oKP6
cpHx=(m0/dt-sigmamy/2)./(m0/dt+sigmamy/2);
o)hQ]d
cqHx=1/d./(m0/dt+sigmamy/2);
F&I ;E i
cpHy=(m0/dt-sigmamx/2)./(m0/dt+sigmamx/2);
j/9Uf|z-_
cqHy=1/d./(m0/dt+sigmamx/2);
`!$I6KxT
h=imagesc(ezx+ezy,0.1*[-1,1]);
; 3WA-nn
axis equal tight;
_hb@O2f
for n=0:300
Oor&1
ezx(nx/2+1,ny/2+1)=ezx(nx/2+1,ny/2+1)+sin(omega*n*dt);
x3>PM]r(V
ezy(nx/2+1,ny/2+1)=ezy(nx/2+1,ny/2+1)+sin(omega*n*dt);
Cw_XLMY%V1
ezx(2:end-1,2:end-1)=caEzx.*ezx(2:end-1,2:end-1)+cbEzx.*diff(hy,1,1);
i`2X[kc
ezy(2:end-1,2:end-1)=caEzy.*ezy(2:end-1,2:end-1)-cbEzy.*diff(hx,1,2);
zz+p6`
hx=cpHx.*hx-cqHx.*diff(ezx(2:end-1,:)+ezy(2:en ..
ugI9rxT]Kv
4z##4^9g
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
描述:请输入描述
图片:untitled.jpg
共
条评分
发帖
回复