Group Index¶
Getting Started¶
This function returns group index of light at fundamental mode for given waveguide width and wavelength.
Group Index can be expressed as the following equation where $n_{eff}$ is the effective index, $n_g$ is the group index, $\omega$ is the waveguide width, and $\lambda$ is the wavelength.
$$n_g(\omega, \lambda) = n_{eff}(\omega, \lambda) - \lambda \cdot \frac{\partial n_{eff}(\omega, \lambda)}{\partial \lambda}$$Thanks to Siphotonics, group index can be either calculated from scratch using neff function, or built-in function group_index.
Note: group_index function implementation is based on finite difference method. Therefore, the result is not exact. However, the result is accurate enough for most of the cases. If you need exact result, please use grad_neff function to calculate the derivative of neff function.
import sipkit
my_ng = sipkit.group_index(width=0.5, wavelength=1.55)
print(my_ng)
Free Spectral Range (FSR)¶
FSR is the distance between two consecutive resonant frequencies. It can be expressed as the following equation where $L$ is the spee, $\lambda$ is the wavelength, and $n_g$ is the group index.
$$FSR = \frac{\lambda^2}{n_{g}L}$$def fsr(length, width, wavelength):
"""
Calculates the free spectral range of a waveguide. This is the distance
between two consecutive resonances.
:param length: Propagation length in microns.
:param width: Waveguide width in microns.
:param wavelength: Wavelength in microns.
:return: Free spectral range in microns.
"""
return wavelength ** 2 / (sipkit.group_index(width, wavelength) * length)
my_fsr = fsr(wavelength=1.55, width=0.5, wavelength=1.55)
print(my_fsr)
Created: 2022-10-19