def Spec2D(ar,ax=2,lenx=2*pi,leny=2*pi,lenz=2*pi):
"""
Spec2D(ar,ax=2,lenx=2*pi,leny=2*pi,lenz=2*pi)
2D spectrum of ar perpendicular to axis ax
"""
if len(ar) == 0:
print 'No array provided! Exiting!'
return
ar=ar-np.mean(ar)
nx=np.shape(ar)[0];kx=nf.fftshift(nf.fftfreq(nx))*nx*(2*pi/lenx)
ny=np.shape(ar)[1];ky=nf.fftshift(nf.fftfreq(ny))*ny*(2*pi/leny)
nz=np.shape(ar)[2];kz=nf.fftshift(nf.fftfreq(nz))*nz*(2*pi/lenz)
if ax==0:
k1=ky; k2=kz
elif ax==1:
k1=kx; k2=kz
elif ax==2:
k1=kx; k2=ky
far = nf.fftshift(nf.fftn(ar))/(nx*ny*nz); fftea=0.5*np.abs(far)**2
ffteb=fftea.sum(axis=ax)
return k1,k2,ffteb
##
## 2D SPECTRUM OF A VECTOR
##
评论列表
文章目录