ideal
ideal#
Ideal circuit models.
- coupler(*, coupling: float = 0.5, loss: float = 0.0, phi: float = 1.5707963267948966) Dict[Tuple[str, str], jaxtyping.Complex[Array, '...']] [source]
A simple ideal coupler model.
Ports are arranged as follows:
o2 ---\ /--- o3 -------- -------- o0 ---/ \--- o1
- Parameters
coupling (float) – Power coupling coefficient (default 0.5).
loss (float) – Loss in dB (default 0.0). Positive values indicate loss.
phi (float) – Phase shift of the reflected signal (default jnp.pi/2).
- Returns
sdict – A dictionary of scattering matrices.
- Return type
sax.SDict
- waveguide(*, wl: Union[jax.Array, numpy.ndarray, numpy.bool_, numpy.number, bool, int, float, complex] = 1.55, wl0: float = 1.55, neff: float = 2.34, ng: float = 3.4, length: float = 10.0, loss: float = 0.0) Dict[Tuple[str, str], jaxtyping.Complex[Array, '...']] [source]
A simple straight waveguide model.
Port names are “o0” and “o1”.
- Parameters
wl (ArrayLike or float) – Wavelength in microns (default 1.55).
wl0 (float) – Center wavelength in microns (default 1.55).
neff (float) – Effective index (default 2.34).
ng (float) – Group index (default 3.4).
length (float) – Length in microns (default 10.0).
loss (float) – Loss in dB/cm (default 0.0).
Returns – A dictionary of scattering matrices.