sipkit package#
Submodules#
sipkit.effective_index module#
- sipkit.effective_index.neff(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
Examples
>>> neff(0.5, 1.5) array(2.)
>>> neff(0.5, [1.5, 1.6]) array([2. , 2.1])
>>> neff([0.5, 0.6], 1.5) array([2. , 1.9])
>>> neff([0.5, 0.6], [1.5, 1.6]) array([[2. , 2.1],
>>> neff(0.5, [[1.5, 1.6], [1.7, 1.8]]) array([[2. , 2.1], [1.9, 2. ]])
>>> neff([[0.5, 0.6], [0.7, 0.8]], 1.5) array([[2. , 1.9], [1.8, 1.7]])
>>> waveguide_width = jnp.array([0.5, 0.6]) >>> wavelength = np.array([1.5, 1.6, 1.7]) >>> waveguide_width, wavelength = np.meshgrid(waveguide_width, wavelength) >>> neff(waveguide_width, wavelength) array([[2. , 2.1], [1.9, 2. ], [1.8, 1.9]])
- sipkit.effective_index.neff_te0(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value of TE0 by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
- sipkit.effective_index.neff_te1(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value of TE1 by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
- sipkit.effective_index.neff_te2(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value of TE2 by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
- sipkit.effective_index.neff_tm0(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value of TM0 by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
- sipkit.effective_index.neff_tm1(width: float, wavelength: float) float | list[float][source]#
Gets Effective Index value of TM1 by using corresponding parameters. This is a JAX compatible function. JIT is enabled.
- Parameters:
width (float) – Waveguide width in microns. (0.24 - 0.7) Scalar or list
wavelength (float) – Wavelength in microns. (1.2 - 1.7) Scalar or list
- Returns:
Effective Index value(s).
sipkit.group_index module#
- sipkit.group_index.ng(width: float, wavelength: float) jaxlib.xla_extension.DeviceArray | jaxlib.xla_extension.Array[source]#
Group Index of light at a specified wavelength in a waveguide with a specified width.
- Parameters:
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)
sipkit.permittivity module#
- sipkit.permittivity.perm_oxide(wavelength: float | list[float]) jaxlib.xla_extension.DeviceArray | jaxlib.xla_extension.Array[source]#
Permittivity value of SiO2 at given wavelength.
- Parameters:
wavelength (float) – Wavelength in microns. (1.2 - 1.7) float or list
- Returns:
Permittivity value(s).
Examples
>>> perm_oxide(1.5) 3.44
>>> perm_oxide([1.5, 1.6]) [3.44, 3.44]
- sipkit.permittivity.perm_si(wavelength: float | list[float]) jaxlib.xla_extension.DeviceArray | jaxlib.xla_extension.Array[source]#
Permittivity value of Si at given wavelength.
- Parameters:
wavelength (float) – Wavelength in microns. (1.2 - 1.7) float or list
- Returns:
Permittivity value(s).
Examples
>>> perm_si(1.5) 11.68
>>> perm_si([1.5, 1.6]) [11.68, 11.68]