RectangularTaperedWaveguideArray

class awg_designer.all.RectangularTaperedWaveguideArray(*args, **kwargs)

U-shaped rectangular bundle of tapered waveguides. Similar to RectangularWaveguideArray but allows to flare out the waveguides in the straight sections.

This array of waveguides implements the delays in the AWG using a U-shaped waveguide bundle. In the straight sections, a broader waveguide can be used (straight_trace_template) to reduce loss and phase errors.

Parameters
delay_lengths: list, required

Delay lengths to implement in the arms

start_ports: PortList, required

Ports that define the starting position, the angle, and the trace template for each waveguide in the array.

end_ports: ( PortList ), *None allowed*

Ports that define the relative ending position, the angle, and the trace template for each waveguide in the array. Only the distances between the neighboring ports are used, as the waveguide array decides how large the array has to be in order to meet the specifications. It then translates the output accordingly. When None, assume these are the same as start_ports.

straight_trace_template: PCell and _WaveguideTemplate

Waveguide template for the expanded waveguides used in the straight sections.

name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Other Parameters
trace_template: PCell and _WaveguideTemplate, locked

Waveguide template to use for drawing the bundles. Derived from the reference ports.

Views

Layout = <class 'awg_designer.components.array._rect.RectangularTaperedWaveguideArray.Layout'>