Коэффициенты отражения и передачи амплитуды для поляризованного света TE и TM
Я строю уравнения Френеля по оси у амплитуды коэффициентов пропускания и отражения для ТЕ и ТМ поляризованного света. Это используется для 2 сред, в которых один имеет показатель преломления 1,33, который представляет собой воду, и другой с показателем преломления 1,50, который представляет собой стекло. Я использовал код ниже, но я не получаю правильные графики. Кто-нибудь может мне помочь?
код:
import matplotlib.pyplot as plt
import numpy as np
"DEFINE FRESNEL EQUATIONS"
"""Define reflection coefficient for Transverse electric waves"""
### Reflection coefficient
def Ref_1(theta):
n_1=1.33
r_TE_1 = np.cos(theta) - np.sqrt(n_1**2 - np.sin(theta)**2)
r_TE_1 = r_TE_1 / (r_TE_1 + 2*np.sqrt(n_1**2 - np.sin(theta)**2))
return r_TE_1
### transmission coefficient
def Trans_1(theta):
n_2=1.5
r_TE_2 = 2*np.cos(theta)
r_TE_2 = r_TE_2 / (np.cos(theta) + np.sqrt(n_2**2 - np.sin(theta)**2))
return r_TE_2
"""Define reflection coefficient for Transverse magnetic waves"""
### Reflection coefficient
def Ref_2(theta):
n_1=1.33
r_TM = np.sqrt(n_1**2 - np.sin(theta)**2) - n_1**2*np.cos(theta)
r_TM = r_TM / (np.sqrt(n_1**2 - np.sin(theta)**2) + n_1**2*np.cos(theta))
return r_TM
### transmission coefficient
def Trans_2(theta):
n_2=1.5
r_TM_2 = 2*np.cos(theta)
r_TM_2 = r_TM_2 / (np.cos(theta)*n_2**2+np.sqrt(n_2**2-np.sqrt(theta))**2)
return r_TM_2
"Set Fontlabel, Fontaxis"
Fontlabel=12
Fontaxis=13
"Plot results"
plt.figure()
fig=plt.figure()
"Set the input for for the equations"
Hoek = np.linspace(0,90,10)
print(Trans_2(50))
ax1=fig.add_subplot(221)
ax1.plot(Hoek,Ref_1(Hoek),'blue',linewidth=0.8)
plt.title('TE polarised light for reflection')
plt.xlabel('$ Angle (\Theta)$')
plt.ylabel('$Amplitude$')
ax2=fig.add_subplot(222)
ax2.plot(Hoek,Trans_1(Hoek),'red',linewidth=0.8)
plt.title('TE polarised light for transmission')
plt.xlabel('$ Angle (\Theta)$')
plt.ylabel('$Amplitude$')
ax3=fig.add_subplot(223)
ax3.plot(Hoek,Ref_2(Hoek),'green',linewidth=0.8)
plt.title('TM polarised light for reflection')
plt.xlabel('$ Angle (\Theta)$')
plt.ylabel('$Amplitude$')
ax4=fig.add_subplot(224)
ax4.plot(Hoek,Trans_2(Hoek),'green',linewidth=0.8)
plt.title('TM polarised light for transmission')
plt.xlabel('$ Angle (\Theta)$')
plt.ylabel('$Amplitude$')
plt.subplots_adjust(top=1.5, bottom=0.18, left=0.2, right=2, hspace=0.4,
wspace=0.2)
#plt.show()
Это мои результаты. Очевидно, что-то не так. У меня есть углы падения в градусах в качестве входных данных.