si_fab.all.WaveguideBend

class si_fab.all.WaveguideBend

A 90-degree waveguide bend. Provide the bend size (distance from the ports to the corner), the bend radius and the rounding algorithm to generate this bend.

Parameters:
trace_template: PCell and _TraceTemplate

The trace template of the waveguide bend

external_port_names: str

Dictionary for remapping of the port names of the contents to the external ports

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:
contents: PCell and _Trace, locked
from si_fab import technology
from si_fab.all import WaveguideBend

lo = WaveguideBend().Layout()
lo.visualize(annotate=True)
../../../../../../_images/si_fab-all-WaveguideBend-1.png

Ports

Name

Type

Position

Angle

Waveguide Template

Inclination

in

Optical

(0.0, 0.0)

180.0

SWG450

0.0

out

Optical

(10.0, 10.0)

90.0

SWG450

0.0

Circuit

Parameters

reflection_phase: ndarray

Polynomial coefficients, reflection phase as a function of wavelength

reflection: ndarray

Polynomial coefficients, reflection as a function of wavelength

transmission_phase: ndarray

Polynomial coefficients, transmission phase as a function of wavelength

transmission: ndarray

Polynomial coefficients, transmission as a function of wavelength

center_wavelength: float and number > 0

Center wavelength around which the transmission is provided

layout_view: ( _LayoutView ), None allowed

netlist_view: ( NetlistView ), None allowed

view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.

The name of the view

Other Parameters

solver: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters, locked

circuit solver to use

Layout

Parameters

bend_size: float and number > 0

The distance between the corner of the bend and the ports

output_port: TracePort

trace_template_for_ports: _TraceTemplate.Layout

Trace template to be used for the ports.

cover_layers: List with type restriction, allowed types: <class ‘ipkiss.primitives.layer.Layer’>

layers that can be used to generate additional coverage of the trace (e.g. manhattan corners)

reverse_individual_bends: list<( bool, bool_ or int )>

When set to True, it will generate the individual bends backwards. This has only effect when the bend algorithm is not symmetric. Should have length equal to the shape for closed shapes, but equal to shape-2 for open shapes.

rounding_algorithms:

Rounding algorithm for every individual bend. Can be circular, spline, … Should have length equal to the shape for closed shapes, but equal to shape-2 for open shapes.

bend_radii: list<number > 0>

Bend radius for every individual bend.

reverse_bends: ( bool, bool_ or int )

When set to True, it will generate the bends backwards. This has only effect when the bend algorithm is not symmetric.

remove_straight_angles: ( bool, bool_ or int )

Removes the waypoints with straight angles. Set to False if the algorithm uses waypoint-specific information.

core_layer: __Layer__

layer used to define the core of the waveguide

input_port: TracePort

control_shape_layer: __Layer__

layer on which the control shape is drawn

draw_control_shape: ( bool, bool_ or int )

draws the control shape on top of the waveguide

contents_transformation: GenericNoDistortTransform

flatten_contents: ( bool, bool_ or int )

if True, it will insert the contents as elements in the layout, rather than as an Instance

view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.

The name of the view

manhattan: ( bool, bool_ or int )

Adds rectangular blocks in the bends to avoid as much as possible non-manhattan angles.

angle_step: float and number > 0

Angle step for rounding.

rounding_algorithm:

Rounding algorithm used to generate the bends. Can be circular, spline, ….

bend_radius: float and number > 0

Bend radius for the auto-generated bends.

Other Parameters

shape: locked

center_line_shape: locked

Automatically calculated shape of the center line of the trace