standard_coupler#

standard_coupler(wl: Union[float, jax.Array, numpy.ndarray, numpy.bool_, numpy.number, bool, int, complex] = 1.55, width: float = 500.0, thickness: float = 220.0, gap: float = 100.0, length: float = 1000.0, horizontal: float = 10000.0, vertical: float = 10000.0, sw_angle: float = 90.0) Dict[Tuple[str, str], jaxtyping.Complex[Array, '...']][source]#

Standard-shaped directional coupler.

Described by a gap, length, horizontal and vertical distance.

Standard coupler port numbering.
Parameters
  • width (float) – Width of waveguides in nanometers (valid from 400 to 600).

  • thickness (float) – Thickness of waveguides in nanometers (Valid from 180 to 240).

  • gap (float) – Distance between the two waveguide edges, in nanometers (must be greater than 100).

  • length (float) – Length of the straight portion of both waveguides, in nanometers.

  • horizontal (float) – Horizontal distance between end of coupler and straight segment, in nanometers.

  • vertical (float) – Vertical distance between end of coupler and straight segment, in nanometers.

  • sw_angle (float, optional) – Sidewall angle of waveguide from horizontal in degrees (valid from 80 to 90, defaults to 90).

Examples

>>> s = standard_coupler(wl, 500, 220, 100, 5000, 5e3, 2e3)