> 文章列表 > sympy光束变换

sympy光束变换

sympy光束变换

文章目录

物象关系

最简单的几何光学是在初中学的,主要对象是物点、像点、透镜焦距,这三个物理量任取两个求第三个,总共也只有三对关系,而且光路可逆,所以物点和像点其实是一回事儿:

  • geometric_conj_af(a, f)
  • geometric_conj_bf(a, f)
  • geometric_conj_ab(a, b)

束腰变换

但从高斯光束的角度理解,简单的物像关系只能得到束腰在经过透镜变换后的位置变化,而不能描述束腰尺寸的变化。现有一个束腰为winw_{in}win的光斑,若想通过一个焦距为fff的透镜,使其束腰变为woutw_{out}wout,那么入射光、出射光以及透镜应该如何摆放?下面这个函数就能解决这个问题

conjugate_gauss_beams(wavelen, waist_in, waist_out, f)

其中,wavelen为波长;waist_in, waist_out为入射光和出射光的束腰;f为透镜焦距。

其返回值有三项,分别是入射光束腰和透镜的距离、出射光束腰和透镜的距离,以及透镜焦距。

import sympy
from sympy.physics.optics import conjugate_gauss_beams
l, w_i, w_o, f = sympy.symbols('l w_i w_o f')
x_i, x_o, f_1 = conjugate_gauss_beams(l, w_i, w_o, 
f=f)
sympy.latex(x_i)
sympy.latex(x_o)
sympy.latex(f_1)

结果如下

xi=f⋅(1−wi2wo2−π2wi4f2l2)x_i=f\\cdot(1 - \\sqrt{\\frac{w_{i}^{2}}{w_{o}^{2}} - \\frac{\\pi^{2} w_{i}^{4}}{f^{2} l^{2}}}) xi=f(1wo2wi2f2l2π2wi4)

xo=1/(−1f(1−wi2wo2−π2wi4f2l2)+π2wi4l2(f(1−wi2wo2−π2wi4f2l2)−f)+1f)x_o=1/({- \\frac{1}{f \\left(1 - \\sqrt{\\frac{w_{i}^{2}}{w_{o}^{2}} - \\frac{\\pi^{2} w_{i}^{4}}{f^{2} l^{2}}}\\right) + \\frac{\\pi^{2} w_{i}^{4}}{l^{2} \\left(f \\left(1 - \\sqrt{\\frac{w_{i}^{2}}{w_{o}^{2}} - \\frac{\\pi^{2} w_{i}^{4}}{f^{2} l^{2}}}\\right) - f\\right)}} + \\frac{1}{f}})\\\\ xo=1/(f(1wo2wi2f2l2π2wi4)+l2(f(1wo2wi2f2l2π2wi4)f)π2wi41+f1)

上面这好大一坨的xox_oxo可以把xix_ixi带进去

xo=1/(−1xi+π2wi4l2(xi−f)+1f)x_o=1/({- \\frac{1}{x_i + \\frac{\\pi^{2} w_{i}^{4}}{l^{2} \\left(x_i - f\\right)}} + \\frac{1}{f}})\\\\ xo=1/(xi+l2(xif)π2wi41+f1)

高斯光束通过透镜

与此相关的另一个问题是,若有一个瑞利长度为zrinz_{r_{in}}zrin的光线,在距离束腰位置sins_{in}sin处遇到一个透镜,已知透镜焦距,那么出射光是什么样的?gaussian_conj就解决这个问题

from sympy.physics.optics import gaussian_conj
s_i, z_r_i, f = sympy.symbols('s_i z_r_i f')
s_o, z_r_o, m = gaussian_conj(s_i, z_r_i, f)
sympy.latex(s_o)
sympy.latex(z_r_o)
sympy.latex(m)

结果为

so=1/(−1si+zri2/(si−f)+1f)zro=zri1−(si2−zri2)/f2m=11−si2f2+zri2f2s_o = 1/(-\\frac{1}{s_{i} + z_{r i}^{2}/(s_i-f)} + \\frac{1}{f})\\\\ z_{r o} = \\frac{z_{r i}}{1 -(s_{i}^{2}-z_{r i}^{2})/f^2}\\\\ m = \\frac{1}{\\sqrt{1 - \\frac{s_{i}^{2}}{f^2} + \\frac{z_{r i}^2}{f^2}}} so=1/(si+zri2/(sif)1+f1)zro=1(si2zri2)/f2zrim=1f2si2+f2zri21