均匀介质圆柱对平面波的散射Mie级数.docx

上传人:b****6 文档编号:3005194 上传时间:2022-11-17 格式:DOCX 页数:22 大小:213.21KB
下载 相关 举报
均匀介质圆柱对平面波的散射Mie级数.docx_第1页
第1页 / 共22页
均匀介质圆柱对平面波的散射Mie级数.docx_第2页
第2页 / 共22页
均匀介质圆柱对平面波的散射Mie级数.docx_第3页
第3页 / 共22页
均匀介质圆柱对平面波的散射Mie级数.docx_第4页
第4页 / 共22页
均匀介质圆柱对平面波的散射Mie级数.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

均匀介质圆柱对平面波的散射Mie级数.docx

《均匀介质圆柱对平面波的散射Mie级数.docx》由会员分享,可在线阅读,更多相关《均匀介质圆柱对平面波的散射Mie级数.docx(22页珍藏版)》请在冰豆网上搜索。

均匀介质圆柱对平面波的散射Mie级数.docx

均匀介质圆柱对平面波的散射Mie级数

均匀介质圆柱对平面波的散射

1.TMz极化

假设TMz极化均匀平面波垂直入射半径为a的无限长均匀介质圆柱,相对介电常数为εr,相对磁导率为μr,波的传播方向为+x,入射电场和入射磁场用柱面波展开,分别表示为

(1)

(2)

散射场朝外传播,因此,散射电场和磁场用柱第二类Hankel函数展开,分别表示如下

(3)

(4)

透射场则由柱面基本波函数的线性组合表示,由于透射场在介质内部均为有限大,因此

(5)

(6)

根据介质表面的边界条件,切向电场和切向磁场连续,可以得到

(7)

(8)

求解方程组,从而得到展开项的系数为

(9)

(10)

,将系数带入展开式,得到散射电场和磁场的表达式为

(11)

(12)

对于远区散射场,kρ→∞,

,则相应的电场和磁场为

(13)

(14)

c**********************************************************************

cComputeTMzScatteringfromhomogenerouslosslessdielectricCircular

cCylinderbyMieSeries

c

caINPUT,real(8)

cOnentry,'a'specifiestheradiusofthecircularcylinder

cepsRINPUT,real(8)

cOnentry,'epsR'specifiestherelativepermittivityof

cthehomogenerousdielectriccircularcylinder

cMuRINPUT,real(8)

cOnentry,'muR'specifiestherelativepermeabilityof

cthehomogenerousdielectriccircularcylinder

cfINPUT,real(8)

cOnentry,'f'specifiestheincidentfrequency

crINPUT,real(8)

cOnentry,'r'specifiesthedistancebetweentheobservation

cpointandtheoriginofcoordinates

cphINPUT,real(8)

cOnentry,'ph'specifiestheobservationangle

cEzOUTPUT,complex(8)

cOnexit,'Ez'specifiesthezcomponentoftheelectric

cscatteringfield

cHphoOUTPUT,complex(8)

cOnexit,'Hpho'specifiesthephocomponentofthemagnetic

cscatteringfield

cHphiOUTPUT,complex(8)

cOnexit,'Hphi'specifiesthephicomponentofthemagnetic

cscatteringfield

c

cProgrammedbyPandaBrewmaster

c**********************************************************************

subroutinedSca_TM_DIE_Cir_Cyl_Mie(a,epsR,muR,f,r,ph,Ez,Hpho,Hphi)

c**********************************************************************

implicitnone

c-InputParameters

real(8)a,epsR,muR,f,r,ph

complex(8)Ez,Hpho,Hphi

c-ConstantNumbers

real(8),parameter:

:

pi=3.141592653589793

real(8),parameter:

:

eps0=8.854187817d-12

real(8),parameter:

:

mu0=pi*4.d-7

complex(8),parameter:

:

cj=dcmplx(0.d0,1.d0)

c-TemporaryVariables

integerk,nmax

real(8)eta0,wavek0,ka0,kr

real(8)eta1,wavek1,ka1

complex(8)coe1,coe2

real(8),allocatable,dimension(:

):

:

Jnka0,Ynka0,DJnka0,Jnkr,Ynkr

real(8),allocatable,dimension(:

):

:

Jnka1,Ynka1,DJnka1

complex(8),allocatable,dimension(:

):

:

Hnka0,DHnka0,Hnkr,DHnkr

complex(8),allocatable,dimension(:

):

:

Hnka1,DHnka1

complex(8),allocatable,dimension(:

):

:

an

eta0=dsqrt(mu0/eps0)

wavek0=2.d0*pi*f*dsqrt(mu0*eps0)

ka0=wavek0*a

kr=wavek0*r

eta1=dsqrt(muR*mu0/epsR/eps0)

wavek1=2.d0*pi*f*dsqrt(muR*mu0*epsR*eps0)

ka1=wavek1*a

nmax=ka1+10.d0*ka1**(1.d0/3.d0)+1

if(nmax<5)nmax=5

allocate(Jnka0(-1:

nmax+1),Ynka0(-1:

nmax+1),Hnka0(-1:

nmax+1),DJnka0(0:

nmax),DHnka0(0:

nmax))

calldBES(nmax+1,ka0,Jnka0(0:

nmax+1),Ynka0(0:

nmax+1))

Jnka0(-1)=-Jnka0

(1);Ynka0(-1)=-Ynka0

(1)

Hnka0(-1:

nmax+1)=dcmplx(Jnka0(-1:

nmax+1),-Ynka0(-1:

nmax+1))

dok=0,nmax

DJnka0(k)=(Jnka0(k-1)-Jnka0(k+1))/2.d0

DHnka0(k)=(Hnka0(k-1)-Hnka0(k+1))/2.d0

enddo

allocate(Jnka1(-1:

nmax+1),Ynka1(-1:

nmax+1),Hnka1(-1:

nmax+1),DJnka1(0:

nmax),DHnka1(0:

nmax))

calldBES(nmax+1,ka1,Jnka1(0:

nmax+1),Ynka1(0:

nmax+1))

Jnka1(-1)=-Jnka1

(1);Ynka1(-1)=-Ynka1

(1)

Hnka1(-1:

nmax+1)=dcmplx(Jnka1(-1:

nmax+1),-Ynka1(-1:

nmax+1))

dok=0,nmax

DJnka1(k)=(Jnka1(k-1)-Jnka1(k+1))/2.0

DHnka1(k)=(Hnka1(k-1)-Hnka1(k+1))/2.0

enddo

allocate(an(0:

nmax))

dok=0,nmax

coe1=(eta1*DJnka0(k)*Jnka1(k)-eta0*Jnka0(k)*DJnka1(k))

coe2=(eta0*DJnka1(k)*Hnka0(k)-eta1*Jnka1(k)*DHnka0(k))

an(k)=coe1/coe2

enddo

if(r>=0)then!

FiniteDistance

allocate(Jnkr(-1:

nmax+1),Ynkr(-1:

nmax+1),Hnkr(-1:

nmax+1),DHnkr(0:

nmax))

calldBES(nmax+2,kr,Jnkr(0:

nmax+1),Ynkr(0:

nmax+1))

Jnkr(-1)=-Jnkr

(1)

Ynkr(-1)=-Ynkr

(1)

Hnkr(-1:

nmax+1)=dcmplx(Jnkr(-1:

nmax+1),-Ynkr(-1:

nmax+1))

Ez=an(0)*Hnkr(0)

dok=1,nmax

Ez=Ez+cj**(-k)*an(k)*Hnkr(k)*cdexp(dcmplx(0.d0,k*ph))

Ez=Ez+cj**k*an(k)*Hnkr(k)*cdexp(dcmplx(0.d0,-k*ph))

enddo

Hpho=0.d0

dok=1,nmax

Hpho=Hpho+cj**(-k)*k*an(k)*Hnkr(k)*cdexp(dcmplx(0.d0,k*ph))

Hpho=Hpho+cj**k*(-k)*an(k)*Hnkr(k)*cdexp(dcmplx(0.d0,-k*ph))

enddo

Hpho=-Hpho/wavek0/eta0/r

Hphi=0.d0

dok=1,nmax

Hphi=Hphi+cj**(-k)*an(k)*DHnkr(k)*cdexp(dcmplx(0.d0,k*ph))

Hphi=Hphi+cj**k*an(k)*DHnkr(k)*cdexp(dcmplx(0.d0,-k*ph))

enddo

Hphi=

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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