Source code for sipkit.group_index
from __future__ import annotations
import jaxlib
from jax import grad
from sipkit.effective_index import neff
[docs]def ng(width: float, wavelength: float) -> jaxlib.xla_extension.DeviceArray | jaxlib.xla_extension.Array:
"""
Group Index of light at a specified wavelength in a waveguide with a specified width.
Args:
width (float): Waveguide width in microns. (0.24 - 0.7) Scalar
wavelength (float): Wavelength in microns. (1.2 - 1.7) Scalar
Returns:
Group Index value.
Examples:
>>> group_index(0.5, 1.5)
Array(0.5, dtype=float32)
"""
return neff(width, wavelength) - wavelength * grad(neff, argnums=1)(width, wavelength)