SocketWaveguideTransitionFromPortLinear
- class picazzo3.traces.socket_wg.SocketWaveguideTransitionFromPortLinear
A linear transition between two SocketWaveguideTemplates, starting from a port.
- Parameters:
- start_port: _PortInterface
the port on which to extract trace template, position and angle
- end_trace_template: PCell and _TraceTemplate and SocketWaveguideTemplate
- start_trace_template: PCell and _TraceTemplate and SocketWaveguideTemplate
- 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:
- reverse_templates: ( bool, bool_ or int ), locked
When True, treat start_trace_template as end_trace_template and vice versa. To use the correct templates, use the _{start/stop}_trace_template properties. This should not be set manually, but calculated by the transition itself.
Views
- class Layout
- Parameters:
- straight_extension: Coord2 and number >= 0
tuple: straight extension at start and end of transition
- length: float and Real, number and number >= 0
length of the transition
- end_position: Coord2
end position of the transition
- start_position: Coord2
start position of the transition
- 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
Examples
"""This example shows how to append a transition onto a component. We define a PCell with a port with a socket waveguide template. Then we use SocketWaveguideTransitionFromPortLinear to connect this port to a transition that creates a transition to another socket waveguide. """ import si_fab.all as pdk # noqa: F401 from ipkiss3 import all as i3 from picazzo3.traces.socket_wg import SocketWaveguideTemplate, SocketWaveguideTransitionFromPortLinear wg_start = SocketWaveguideTemplate() wg_start.Layout(core_width=0.6, cladding_width=4.0) wg_end = SocketWaveguideTemplate() wg_end.Layout(core_width=2.0, cladding_width=6.0) p = i3.OpticalPort(name="out", position=(5.0, 0.0), angle=20.0, trace_template=wg_start) t = SocketWaveguideTransitionFromPortLinear(start_port=p, end_trace_template=wg_end) t_lay = t.Layout(length=15.0, straight_extension=(0.5, 1.0)) t_lay.visualize(annotate=True)