Group indexΒΆ

[1]:
import numpy as np
import matplotlib.pyplot as plt
import modes
import opticalmaterialspy as mat
[2]:
ms = modes.group_index?
[3]:
wavelength = np.arange(1500, 1600, 10)*1e-3
widths = np.arange(400, 601, 50)*1e-3

for width in widths:
    ng = [modes.group_index(w, width=width) for w in wavelength]
    plt.plot(wavelength, ng, label=f'{width*1e3}')
plt.legend()
plt.xlabel('Wavelength (um)')
plt.xlabel('ng')
[3]:
Text(0.5, 0, 'ng')
../_images/notebooks_21_sweep_wavelength_3_1.png
[4]:
w = wavelength[0]
modes.group_index(w, width=width)
[4]:
[4.003720129511326]
[5]:
widths = np.array([490, 500, 510])*1e-3
ng = [modes.group_index(w, width=width)[0] for width in widths]
[6]:
np.diff(ng)/np.diff(widths) # dng/dw [/um]
[6]:
array([-2.96626677, -2.78207519])
[7]:
thicknesss = np.array([200, 220, 240])*1e-3
ng = [modes.group_index(w, thickness=thickness)[0] for thickness in thicknesss]
[8]:
np.diff(ng)/np.diff(thicknesss) # dng/dh [/um]
[8]:
array([0.10379131, 0.58652733])
[9]:
plt.plot(thicknesss*1e3, ng, '-o')
plt.ylabel('ng')
plt.xlabel('thickness (nm)')
[9]:
Text(0.5, 0, 'thickness (nm)')
../_images/notebooks_21_sweep_wavelength_9_1.png
[ ]: