尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

prysm双缝干涉仿真

prysm双缝干涉仿真 文章目录生成狭缝干涉仿真屏上的光场分布生成狭缝本文参考prysm文档提供的双缝干涉教程。双缝干涉亮条纹所在位置为y m m λ D d y_m\frac{m\lambda D}{d}ym​dmλD​其中D DD是屏幕的距离d dd是狭缝间距λ \lambdaλ是波长。设a 20 μ m a20\mu\mathrm ma20μm为狭缝宽度狭缝间隔d 0.2 m m d0.2\mathrm{mm}d0.2mm。下面对狭缝进行采样并绘图效果如下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()干涉仿真下面要做的是让一个波前通过狭缝并记录下其在屏幕上的能量分布并与理论值做对比。相邻条纹相对于狭缝的远场发散角为θ y m 1 − y m D λ d \theta\frac{y_{m1}-y_m}{D}\frac{\lambda}{d}θDym1​−ym​​dλ​。对于λ 632.8 n m \lambda632.8\mathrm{nm}λ632.8nm的He-Ne光来说上述模型的θ 3.164 m r a d \theta3.164\mathrm{mrad}θ3.164mrad。效果如下两条虚线表示第一级亮条纹的理论位置。代码为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】可对光场进行切片并提取出该切片上的光强分布。屏上的光场分布下面指定一个确切的距离模拟双缝干涉在屏幕上的光强分布效果如下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()
返回列表