光学:绘制两个TE en TM的相移图



我正在尝试绘制垂直波和平行波的相移,具有可变入射角,0到180度。波从折射率1.33传播到折射率为1.5的介质。

我使用了以下公式:方程理论 <-- 第 18 页

我使用了以下代码:

def Phase(theta):
    n=1.5/1.33
    Shift=np.sqrt(np.sin(theta*np.pi/180)**2-n**2)
    Shift=Shift/np.cos(theta*np.pi/180)
    Shift=2*np.degrees(np.arctan(Shift))
    return Shift
print(Phase(x))
x=np.linspace(0,180,30)  

问题是我得到[ nan nan nan nan nan nan nan nan nan nan]作为回报。

如果你的代码如图所示,你在赋值前使用 x。

试试这个:

def Phase(theta):
    n=1.5/1.33
    Shift=np.sqrt(np.sin(theta*np.pi/180)**2-n**2)
    Shift=Shift/np.cos(theta*np.pi/180)
    Shift=2*np.degrees(np.arctan(Shift))
    return Shift
x=np.linspace(0,180,30) 
print(Phase(x))

您正在使用全内反射 (TIR( 方程,该方程对 theta > theta_critical 有效。您需要将输入角度限制在此范围内。此外,这些方程需要n<1,>其中n定义为透射介质与入射介质的比率。对于 TIR,您要从较高的索引转到较低的索引,因此n = n_2/n_1 = 1.33/1.5 .最后,入射角是相对于表面法线定义的,因此它们应该在 0 <= θ<= 90° 的范围内。

相关内容

  • 没有找到相关文章

最新更新