深圳 网站建设培训,凡客网站做SEO能被收录吗,像美团这种网站怎么做,wordpress产品的分类标签属性区别文章目录Gauss模型sympy封装实战sympy.phisics.optics.gaussopt集成了高斯光学中的常见对象#xff0c;包括光线和光学元件等#xff0c;有了这些东西#xff0c;就可以制作一个光学仿真系统。Gauss模型
高斯光束的基本模型为 E(r,z)E0ω0ω(z)exp[−r2ω2(z)]exp[−ik…
文章目录Gauss模型sympy封装实战sympy.phisics.optics.gaussopt集成了高斯光学中的常见对象包括光线和光学元件等有了这些东西就可以制作一个光学仿真系统。Gauss模型
高斯光束的基本模型为
E(r,z)E0ω0ω(z)exp[−r2ω2(z)]exp[−ikz−ikr22R(z)iζ(z)]E(r,z)E_0\frac{\omega_0}{\omega(z)}\exp{[-\frac{r^2}{\omega^2(z)}]}\exp\big[-ikz-ik\frac{r^2}{2R(z)}i\zeta(z)\big] E(r,z)E0ω(z)ω0exp[−ω2(z)r2]exp[−ikz−ik2R(z)r2iζ(z)]
其中部分物理量如下其余物理量在后面列表中列出
rrr 为径向坐标以光轴中心为原点zzz 为横向坐标以束腰位置为参考点k2πλk\frac{2\pi}{\lambda}kλ2π 为波数ω\omegaω 为zzz处光斑半径此半径以强度降低到轴向1e2\frac{1}{e^2}e21时的半径
sympy封装
sympy中按照高斯光束模型实现了光束参数类其构造函数如下
BeamParameter(wavelen, z, z_rNone, wNone, n1)
wavelen 波长z 距离束腰的距离w 束腰半径z_r 瑞利距离n 介质折射率
其属性列表如下
成员物理意义说明w_0ω0\omega_0ω0束腰半径构造函数中的wz_rzrπω02λz_r\frac{\pi\omega_0^2}{\lambda}zrλπω02瑞利距离gouyζ(z)arctanzzr\zeta(z)\arctan\frac{z}{z_r}ζ(z)arctanzrzGouy 相移wω(z)ω01(zzr)2\omega(z)\omega_0\sqrt{1(\frac{z}{z_r})^2}ω(z)ω01(zrz)2z处的光斑半径radiusR(z)z[1(zrz)2]R(z)z\big[1(\frac{z_r}{z})^2\big]R(z)z[1(zzr)2]波前曲率半径qqzifqzifqzif光的复参数divergenceλπω0\frac{\lambda}{\pi\omega_0}πω0λ半角扩散
此外waist_approximation_limit为衍射极限一般为2λπ\frac{2\lambda}{\pi}π2λ。
实战
from sympy.physics.optics import BeamParameter
p BeamParameter(532e-9, 1, w1e-3)
print(p.q) # 1 1.8796992481203*I*pi
print(p.divergence) # 0.000532/pi
print(p.gouy) # atan(0.532/pi)
print(p.radius) # 1 3.53326926338402*pi**2
print(p.w) # 0.001*sqrt(0.283024/pi**2 1)
print(p.w_0) # 0.00100000000000000
print(p.waist_approximation_limit) # 1.064e-6/pi如果让参数z是一个符号那么其成员变量的表达式也会产生自变量
import sympy
from sympy.abc import x,y,z
p BeamParameter(532e-9, z, w1e-3)
sympy.plot(p.w, -p.w)得到经典的Gauss光束传播双曲线