|
|
[求助]
含分布源的双导体传输线在电磁脉冲激励下响应的计算FDTD程序请教
含分布源的双导体传输线在电磁脉冲激励下响应的计算FDTD程序
程序如下:
clear;clc;
tic
Z1=50;Z2=50;%端接负载
L=2;h=1e-3;%线长度和两线间距
T=4*1e-7;%仿真时间
e0=8.85e-12;u0=12.57e-7;
v=1/sqrt(u0*e0);%模式传播速度
C0=14.845*1e-12;L0=0.7485*1e-6;%分布参数
dez=0.01;det=1/3*1e-10;%空间和时间步长
a=90*pi/180;thi=90*pi/180;fi=90*pi/180; %入射平面波角度
max_space=fix(L/dez);%空间点数
max_time=fix(T/det);%时间点数
V=zeros(max_time+1,max_space+1);%初始化电压
I=zeros(max_time+1,max_space+1);%初始化电流
E0=zeros(max_time+201,1);%激励源初始化
for n=1:max_time
ex=sin(a)*sin(fi);ez=-sin(a)*cos(fi)*sin(thi)+cos(a)*cos(thi);
vx=-v/cos(fi);vz=-v/(sin(fi)*sin(thi));
E0(n)=38*(exp(-1.2*n*det*1e7)-exp(-8.8*n*det*1e7));%激励源
V(n+1,1)=1/((dez/det)*Z1*C0+1)*(((dez/det)*Z1*C0-1)*V(n,1)-2*Z1*I(n,1)-1*h*ex*Z1*C0*dez/det*(E0(n+1)-E0(n)));%始端电压
for k=2:max_space
if fix(n+1-(k-1)*dez/det/vz)<=1;
V(n+1,k)=V(n,k)-det/dez/C0*(I(n,k)-I(n,k-1));%中间点电压
else
V(n+1,k)=V(n,k)-det/dez/C0*(I(n,k)-I(n,k-1))-1*h*ex*(E0(fix(n+1-(k-1)*dez/det/vz))-E0(fix(n-(k-1)*dez/det/vz)));%中间点电压
end
end
for s=1:max_space
if fix(n+1-(s-1)*dez/det/vz)<=1;
I(n+1,s)=I(n,s)-det/dez/L0*(V(n+1,s+1)-V(n+1,s));%中间点电流
else
I(n+1,s)=I(n,s)-det/dez/L0*(V(n+1,s+1)-V(n+1,s))+1*h*(ex/vz-ez/vx)/L0*(E0(fix(n+1-(s-1)*dez/det/vz))-E0(fix(n-(s-1)*dez/det/vz)));%中间点电流
end
if fix(n+1-(max_space*dez/det/vz))<=1;
V(n+1,max_space+1)=1/((dez/det)*Z2*C0+1)*(((dez/det)*Z2*C0-1)*V(n,max_space+1)+2*Z2*I(n,max_space));%末端电压
else
V(n+1,max_space+1)=1/((dez/det)*Z2*C0+1)*(((dez/det)*Z2*C0-1)*V(n,max_space+1)+2*Z2*I(n,max_space)-(1*h*ex*(dez/det)*Z2*C0)*(E0(fix(n+1-(max_space*dez/det/vz)))-E0(fix(n-(max_space*dez/det/vz)))));%末端电压
end
end
end
%%%%%%%%%%%%%%%%plots progression of V and I%%%%%%%%%%%%%%%%%%%%%
toc
p=0:max_time;
plot(p*det*1e6,2*V(p+1,1),'r',p*det*1e6,2*V(p+1,201),'b');
![]()
1.JPG
![]()
2.JPG
![]()
3.JPG
![]()
4.JPG
![]()
5.JPG |
|