RouteToWestAtMaxY

ipkiss3.all.RouteToWestAtMaxY(**kwargs)

Routes the start_port to a line pointing West at a Y coordinate which is smaller or equal to the y_position specified.

This means that the output port will be at, or southward of, the y_position.

Parameters:
start_portPort object

port to be routed (starting point of the Route)

bend_radiuspositive number

radius of the bends used in the route. Default is taken from TECH.WG.BEND_RADIUS

min_straightnonnegative number

minimum length of a straight section between bends. Default is taken from TECH.WG.MIN_STRAIGHT

start_straightnonnegative number

minimum length of the first straight section. Default is the same as min_straight

end_straightnonnegative number

minimum length of the last straight section. Default is the same as min_straight

rounding algorithmShapeModifier object

algorithm which produces the bend shape given the coordinates of the waypoints. default is a circular bend

y_positionnumber

y-coordinate of the output port

Returns:
RouteToAngle or RouteToLine object

Examples

import si_fab.all as pdk
import ipkiss3.all as i3

start_port = i3.OpticalPort(name="in", position=(0.0, 0.0), angle_deg=45.0)

# create the route object
route = i3.RouteToWestAtMaxY(start_port=start_port,
                             start_straight=10.0,
                             end_straight=20.0,
                             y_position=0.0)

# a route is a Shape, so we can use it to draw a waveguide
wg = i3.RoundedWaveguide()
layout = wg.Layout(shape=route)
layout.visualize()
../../../../_images/ipkiss3-all-RouteToWestAtMaxY-1.png
import si_fab.all as pdk
import ipkiss3.all as i3

start_port = i3.OpticalPort(name="in", position=(0.0, 0.0), angle_deg=45.0)

# create the route object
route = i3.RouteToWestAtMaxY(start_port=start_port,
                             start_straight=10.0,
                             end_straight=20.0,
                             y_position=40.0)

# a route is a Shape, so we can use it to draw a waveguide
wg = i3.RoundedWaveguide()
layout = wg.Layout(shape=route)
layout.visualize()
../../../../_images/ipkiss3-all-RouteToWestAtMaxY-2.png