アイティプランターで水耕栽培

POPPY( Physical Optics Propagation in Python)

2018年3月14日 - 未分類

面白そうなAPIを見つけました。pythonで、フレネル回折シミュレーション(Fraunhofer and Fresnel diffraction)ができるようです。POPPYは、ジェイムズ・ウェッブ宇宙望遠鏡プロジェクトで研究されたものだそうです。

インストールは、ここを参照してください。Jupyter notebookで動作するチュートリアルが付いていました。


osys = poppy.OpticalSystem()
# 開口半径(メートル単位)
osys.add_pupil( poppy.CircularAperture(radius=3*u.m
# スクリーン座標 arcseconds
osys.add_detector(pixelscale=0.010, fov_arcsec=5.0)
# 波長 2nm
psf = osys.calc_psf(2e-6)
poppy.display_PSF(psf, title='The Airy Function')

これだけで、エアリーディスクが計算できます。

Jupiter notebookのサンプルには、フレネル回折がありました。

50cmの光を2.5cm口径のレンズから射出して、5m先の光束断面(プロフィール)が描画されました。


wf = poppy.FresnelWavefront(0.5*u.m,wavelength=2200e-9,npix=npix,oversample=4)
wf *= poppy.CircularAperture(radius=2.5*u.cm)

plt.figure(figsize=(12,5))
wf.display(‘both’,colorbar=True, showpadding=True)
plt.suptitle(“Entrance Pupil”, fontsize=18)

z = 5.0*u.m
wf.propagate_fresnel(z)

回折が計算できるので、非回折ビームになる条件を見つけることもできそうです。ちなみに、ガウシアンビームの場合には、ビームウエストが決まるだけで、特別な回折は起きません。こちらの資料に詳しく書かれています。

Translate »