gap_func_symmetric#

gap_func_symmetric(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: Callable[[float], float] = 100.0, dgap: Callable[[float], float] = 0.0, zmin: float = 0.0, zmax: float = 10000.0, sw_angle: float = 90.0) Dict[Tuple[str, str], jaxtyping.Complex[Array, '...']][source]#

Symmetric directional coupler, meaning both waveguides are the same shape.

A gap function must describe the shape of the two waveguides, where the distance between the waveguides is the return value of the gap function at every horizontal point from left to right. The derivative of the gap function is also required.

Ports are numbered as:

|       2---\      /---4       |
|            ------            |
|            ------            |
|       1---/      \---3       |
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 (callable) – Gap function along the waveguide, values it returns must be in nanometers (and must always be greater than 100).

  • dgap (callable) – Derivative of the gap function.

  • zmin (float) – Real number at which to begin integration of gap function.

  • zmax (float) – Real number at which to end integration of gap function.

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