Коэффициенты отражения и передачи амплитуды для поляризованного света 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()

Это мои результаты. Очевидно, что-то не так. У меня есть углы падения в градусах в качестве входных данных.

0 ответов

Другие вопросы по тегам