
文章目錄生成狹縫干涉仿真屏上的光場(chǎng)分布生成狹縫本文參考prysm文檔提供的雙縫干涉教程。雙縫干涉亮條紋所在位置為y m m λ D d y_m\frac{m\lambda D}zxl6ubazym?dmλD?其中D DD是屏幕的距離d dd是狹縫間距λ \lambdaλ是波長(zhǎng)。設(shè)a 20 μ m a20\mu\mathrm ma20μm為狹縫寬度狹縫間隔d 0.2 m m d0.2\mathrm{mm}d0.2mm。下面對(duì)狹縫進(jìn)行采樣并繪圖效果如下fromprysm.coordinatesimportmake_xy_gridfromprysm.geometryimportrectangle a.02d.2dxa/6# 采樣間隔x,ymake_xy_grid(1024,dxdx)frommatplotlibimportpyplotasplt plt.rcParams[font.sans-serif]Times New RomanxLx-d/2xRxd/2slitLrectangle(widtha,height10,xxL,yy)slitRrectangle(widtha,height10,xxR,yy)apertureslitL|slitR plt.imshow(aperture)plt.show()干涉仿真下面要做的是讓一個(gè)波前通過(guò)狹縫并記錄下其在屏幕上的能量分布并與理論值做對(duì)比。相鄰條紋相對(duì)于狹縫的遠(yuǎn)場(chǎng)發(fā)散角為θ y m 1 ? y m D λ d \theta\frac{y_{m1}-y_m}{D}\frac{\lambda}zxl6ubazθDym1??ym??dλ?。對(duì)于λ 632.8 n m \lambda632.8\mathrm{nm}λ632.8nm的He-Ne光來(lái)說(shuō)上述模型的θ 3.164 m r a d \theta3.164\mathrm{mrad}θ3.164mrad。效果如下兩條虛線表示第一級(jí)亮條紋的理論位置。代碼為fromprysm.propagationimportWavefrontfromprysm.wavelengthsimportHeNe wfWavefront(aperture,HeNe,dx)dx3.164farfieldwf.focus(1)# f1plt.style.use(bmh)fig,axfarfield.intensity.slices().plot(x,xlim(dx*5))ax.axvline(dx,ls:,ck,zorder1)ax.axvline(-dx,ls:,ck,zorder1)plt.show()【slices】可對(duì)光場(chǎng)進(jìn)行切片并提取出該切片上的光強(qiáng)分布。屏上的光場(chǎng)分布下面指定一個(gè)確切的距離模擬雙縫干涉在屏幕上的光強(qiáng)分布效果如下l.6328e-3D75maximal*D/d finite_distwf.free_space(D)figplt.figure(figsize(10,5))axfig.add_subplot(121)finite_dist.intensity.plot2d(axax,figfig)plt.grid(False)axfig.add_subplot(122)finite_dist.intensity.slices().plot([x],lw1,axax)ax.axvline(maxima,ls:,ck,zorder1)ax.axvline(-maxima,ls:,ck,zorder1)plt.tight_layout()plt.show()