电磁场数值分析.docx

上传人:b****5 文档编号:28901038 上传时间:2023-07-20 格式:DOCX 页数:16 大小:416.54KB
下载 相关 举报
电磁场数值分析.docx_第1页
第1页 / 共16页
电磁场数值分析.docx_第2页
第2页 / 共16页
电磁场数值分析.docx_第3页
第3页 / 共16页
电磁场数值分析.docx_第4页
第4页 / 共16页
电磁场数值分析.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

电磁场数值分析.docx

《电磁场数值分析.docx》由会员分享,可在线阅读,更多相关《电磁场数值分析.docx(16页珍藏版)》请在冰豆网上搜索。

电磁场数值分析.docx

电磁场数值分析

《电磁场数值分析》

(作业)

---2016学年---

 

学院:

学号:

姓名:

联系方式:

任课教师:

2016年6月6日

作业1

一个二维正方形(边长a=10mm)的静电场区域,电位边界条件如图所示(单位:

V),求区域内的电位分布。

要求用超松弛迭代法求解差分方程组进行计算。

Ø代码:

hx=11;

hy=11;

v1=zeros(hy,hx);

v1(hy,:

)=ones(1,hx)*100;

v1(1,:

)=ones(1,hx)*50;

fori=1:

hy;

v1(i,1)=0;

v1(i,hx)=100;

end

w=2/(1+sin(pi/(hx-1)));

maxt=1;

t=0;

v2=v1;

n=0;

while(maxt>1e-6)

n=n+1;

maxt=0;

fori=2:

hy-1;

forj=2:

hx-1;

v2(i,j)=(1-w)*v1(i,j)+w*(v1(i+1,j)+v1(i,j+1)+v2(i-1,j)+v2(i,j-1))/4;

t=abs(v2(i,j)-v1(i,j));

if(t>maxt)

maxt=t;

end

end

end

v1=v2;

end

subplot(1,2,1)

mesh(v2)

axis([0,11,0,11,0,100])

subplot(1,2,2)

contour(v2,20)

Ø结果:

 

作业2

模拟真空中二维TM电磁波的传播,边界设置为一阶Mur吸收边界,观察电磁波的传播过程。

波源为正弦函数:

Ø代码:

xmesh=150;

ymesh=150;

mu0=4*pi*(1.0e-7);

eps0=8.85e-12;

c=3.0e-8;

dx=1.0;

dt=0.7*dx/c;

timestep=200;

ez(1:

xmesh+1,1:

ymesh+1)=0.0;

hx(1:

xmesh+1,1:

ymesh)=0.0;

hy(1:

xmesh,1:

ymesh+1)=0.0;

coef1=dt/(mu0*dx);

coef2=dt/(eps0*dx);

coef3=(c*dt-dx)/(c*dt+dx);

ezold=ez;

fornow=1:

timestep;

hx=hx-coef1*(ez(:

2:

ymesh+1)-ez(:

1:

ymesh));

hy=hy+coef1*(ez(2:

xmesh+1,:

)-ez(1:

xmesh,:

));

ez(2:

xmesh,2:

ymesh)=ez(2:

xmesh,2:

ymesh)-...

coef2*(hx(2:

xmesh,2:

ymesh)-hx(2:

xmesh,1:

ymesh-1))-...

coef2*(hy(2:

xmesh,2:

ymesh)-hy(1:

xmesh-1,2:

ymesh));

ez(1,:

)=ezold(2,:

)+coef3*(ez(2,:

)-ezold(1,:

));

ez(xmesh+1,:

)=ezold(xmesh,:

)+coef3*(ez(xmesh,:

)-ezold(xmesh+1,:

));

ez(:

1)=ezold(:

2)+coef3*(ez(:

2)-ezold(:

1));

ez(:

ymesh+1)=ezold(:

ymesh)+coef3*(ez(:

ymesh)-ezold(:

ymesh+1));

ez(xmesh/2+1,ymesh/2+1)=sin(now*dt*2*pi*c/25.0);

mesh(ez)

pause(0.01)

ezold=ez;

end

Ø结果:

 

 

作业3

基于Pocklington方程用MoM分析半波对称振子天线:

观察天线线径和分段数目分别取不同值对天线阻抗和辐射特性的影响(半径分别取0.001λ,0.0001λ,0.00001λ,分段数取11,21,31)

Ø代码:

%%初始化参数

c=3e-8;

r=1;

f=c/r;

w=2*pi*f;

e0=8.85e-12;

u0=4*pi*1e-7;

a=0.0001*r;

L=0.5*r;

k=2*pi/r;

N=31;

dl=L/(N+1);

l=L/2-dl/2;

lz=-l:

dl:

1;

lzs=lz(1:

N);

lzm=lz(1:

N)+dl/2;

lze=lz(2:

N+1);

%%阻抗矩阵元素求解

fi=log(dl/a)/(2*pi*dl)-k/(4*pi)*1j;

fi_1=exp(-k*dl*1j)/(4*pi*dl);

fi_2=exp(-k*2*dl*1j)/(8*pi*dl);

z=ones(N,N);

form=1:

N

forn=1:

N

ifm==n

fi1=fi;

fi2=fi_1;

fi3=fi_2;

z(m,n)=((k^2*dl^2-2)*fi1+fi2+fi3);

elseifabs(m-n)==1

fi1=fi_1;

fi2=fi;

fi3=fi_2;

z(m,n)=((k^2*dl^2-2)*fi+fi2+fi3);

else

fi1=exp(-k*abs(m-n)*dl*1j)/(4*pi*abs(m-n)*dl);

fi2=exp(-k*abs(m+1-n)*dl*1j)/(4*pi*abs(m+1-n)*dl);

fi3=exp(-k*abs(n+1-m)*dl*1j)/(4*pi*abs(n+1-m)*dl);

z(m,n)=((k^2*dl^2-2)*fi+fi2+fi3);

end

end

end

%%电压矩阵求解

V=zeros(N,1);

V((N+1)/2)=-1*(1j*w*e0);

I=z\V;

Z_in=1/I((N+1)/2);

disp(['输入阻抗=',num2str(Z_in)])

I_amp=abs(I);

Max=max(I_amp);

Iunit2=[0;I_amp/Max

(1);0];

figure

(1)

h=0:

dl/r:

L/r;

Ithe=sin(pi*h*r/L);

plot(h,Iunit2,'b',h,Ithe,'r','linewidth',2)

legend('pocklinton','解析值')

gridon

xlabel('电长度')

ylabel('归一化电流')

%%方向图

theta=0:

0.01:

2*pi;

abs_f=zeros(1,length(theta));

forn=1:

1:

N

abs_f=abs_f+I(n)*exp(k*(n*dl-L/2)*cos(theta)*1j);

end

abs_f=abs(sin(theta)*dl.*abs_f);

Max_f=abs(sum(I)*dl);

Far_patten2=abs_f/Max_f

(1);

theta_2=0:

0.1:

2*pi;

Far_theory=abs((cos(k*(L/2)*cos(theta_2))-cos(k*L/2))./sin(theta_2));

figure

(2)

polar(theta,Far_patten2,'-b')

holdon

polar(theta_2,Far_theory,'or')

holdoff

legend('pocklinton','解析值')

title('半波阵子天线E面方向图')

figure(3)

polar(theta,ones(1,length(theta)),'-b')

title('半波阵子天线H面方向图')

%%半波阵子增益

I_in=I((N+1)/2);

A=(w*u0)^2/(4*pi*sqrt(u0/e0)*real(Z_in)*(abs(I_in))^2);

G_theta=A*abs_f.^2;

Max_gain=max(G_theta);

Max_gain_dB=10*log10(Max_gain);

disp(['半波阵子增益=',sprintf('%.4fdB',Max_gain_dB)])

Ø结果:

 

 

作业4

基于电场积分方程用MoM分析对称振子天线:

计算振子总长度分别为0.25λ,0.5λ,λ,1.5λ时,振子的输入阻抗和E面方向图。

Ø代码:

lamda=1;

a=0.0001;

me=8.85e-12;

mu=4*pi*(1e-7);

arg=2*pi*(3e-8)/lamda;

L=0.2*lamda;

k=2*pi/lamda;

N=21;

dL=L/(N+1);

l=L/2-dL/2;

lz=-l:

dL:

1;

lzs=lz(1:

N);

lzm=lz(1:

N)+dL/2;

lze=lz(2:

N+1);

form=1:

N

forn=1:

N

ifn==m

Fmnmm=(1/(2*pi*dL))*log(dL/a)-1j*k/(4*pi);

Fmnee=(1/(2*pi*dL))*log(dL/a)-1j*k/(4*pi);

Fmnss=(1/(2*pi*dL))*log(dL/a)-1j*k/(4*pi);

Fmnse=exp(-1j*k*dL)/(4*pi*dL);

Fmnes=exp(-1j*k*dL)/(4*pi*dL);

elseifabs(n-m)==1

Fmnmm=exp(-1j*k*dL)/(4*pi*dL);

Fmnee=exp(-1j*k*dL)/(4*pi*dL);

Fmnss=exp(-1j*k*dL)/(4*pi*dL);

ifn>m

Fmnse=exp(-1j*k*2*dL)/(4*pi*2*dL);

Fmnes=exp(1/(2*pi*dL))*log(dL/a)-1j*k/(4*pi);

else

Fmnes=exp(-1j*k*2*dL)/(4*pi*2*dL);

Fmnse=exp(1/(2*pi*dL))*log(dL/a)-1j*k/(4*pi);

end

else

num=abs(n-m);

Fmnmm=exp(-1j*k*num*dL)/(4*pi*num*dL);

Fmnee=exp(-1j*k*num*dL)/(4*pi*num*dL);

Fmnss=exp(-1j*k*num*dL)/(4*pi*num*dL);

ifn>m

Fmnse=exp(-1j*k*(num+1)*dL)/(4*pi*(num+1)*dL);

Fmnes=exp(-1j*k*(num-1)*dL)/(4*pi*(num-1)*dL);

else

Fmnes=exp(-1j*k*(num+1)*dL)/(4*pi*(num+1)*dL);

Fmnse=exp(-1j*k*(num-1)*dL)/(4*pi*(num-1)*dL);

end

end

z(m,n)=1j*arg*mu*dL*dL*Fmnmm+(1/(1j*arg*me))*(Fmnee-Fmnes-Fmnse-Fmnss);

end

end

V=zeros(N,1);

fedp=(N+1)/2;

V(fedp)=1;

I=linsolve(z,V);

Z=V(fedp)/I(fedp);

theta=0:

pi/100:

2*pi;

ftheta=0;

form=1:

length(theta)

F(m)=0;

forn=1:

N

F(m)=F(m)+I(n)*exp(1j*k*(n-fedp)*dL*cos(theta(m)));

end

end

F=abs(F);

F1=F/max(F);

polar(theta,F1,'b.-')

Ø结果:

作业5

对课程的建议、自己的收获等。

通过学习这门与数学和计算机编程联系紧密的课程,我发现自己数学理论知识还不是很扎实,而且自己对MATLAB的使用也不是很熟练,希望自己在今后能够加强对这方面知识的学习。

在学习的过程中也锻炼了自己对所学知识的应用,增加了自己的学习兴趣。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1