AnalysisFunctions.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:TurbPlasma 作者: tulasinandan 项目源码 文件源码
def kfilter(ar, kf, lx=2*pi, ly=2*pi, lz=2*pi):
   """
   Function to filter a 3D array by zeroing out larger k values
   """

   while len(ar.shape) < 3:
      ar = ar.reshape(ar.shape + (1,))

   #  COMPUTE THE ARRAY SIZE 
   kx, ky, kz, km = create_kgrid(*ar.shape, lx=lx, ly=ly, lz=lz)

   #  FOURIER TRANSFORM THE ARRAY 
   far = nf.fftshift(nf.fftn(ar))

   #  SET VALUES ABOVE kf AS 0+0i
   far = (np.sign(km - kf) - 1.)/(-2.)*far

   #  BACK TRANSFORM TO REAL SPACE
   arf = np.real(nf.ifftn(nf.ifftshift(far)))
   return arf

#==================================================
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号