racetrack#

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

Racetrack waveguide arc, used to connect to a racetrack directional coupler.

Racetrack port numbering
Parameters
  • width (float) – Width of the waveguide in nanometers (valid from 400 to 600).

  • thickness (float) – Thickness of waveguide in nanometers (valid for 180 to 240).

  • radius (float) – Distance from center of ring to middle of waveguide, in nanometers.

  • gap (float) – Minimum distance from ring waveguide edge to “straight” waveguide edge, in nanometers (must be greater than 100).

  • length (float) – Length of straight portion of ring waveguide, in nanometers.

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

Examples

>>> dev = Racetrack(500, 220, 5000, 200, 5000)

Notes

You can produce a GDS file of the model you instantiate using SiPANN (see more on SiPANN’s docs).