WireRibWireWaveguideTransitionLinear

class picazzo3.traces.rib_wg.WireRibWireWaveguideTransitionLinear

Transition from/to wire (deep etched) to/from ribwire (two-step etched) waveguides.

You can provide either a wire for the start, and ribwire for the end, or vice versa.

Parameters:
modified_start_wg_template: PCell and _TraceTemplate

Modified start waveguide template (using the end_trace_template, but with the dimensions of the start_trace_template)

end_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, RibWireWaveguideTemplate
start_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, RibWireWaveguideTemplate
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

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

Other Parameters:
length: float and Real, number and number >= 0, locked

length of the transition

Examples

"""This example shows how you transition from a wire to a rib waveguide."""
import si_fab.all as pdk  # noqa: F401
import ipkiss3.all as i3
from picazzo3.traces.wire_wg import WireWaveguideTemplate
from picazzo3.traces.rib_wg import RibWireWaveguideTemplate
from picazzo3.traces.rib_wg import WireRibWireWaveguideTransitionLinear

wg_start = WireWaveguideTemplate()
wg_start.Layout(core_width=0.45, cladding_width=0.45 + 2 * i3.TECH.WG.TRENCH_WIDTH)
wg_end = RibWireWaveguideTemplate()
wg_end.Layout(core_width=0.9, strip_width=1.5, cladding_width=0.9 + 2 * 3.0)

t = WireRibWireWaveguideTransitionLinear(start_trace_template=wg_start, end_trace_template=wg_end)

t_lay = t.Layout(start_position=(10.0, 0.0), end_position=(30.0, 0.0), straight_extension=(0.3, 0.4))
t_lay.visualize(annotate=True)
../../../../../_images/picazzo3-traces-rib_wg-WireRibWireWaveguideTransitionLinear-1.png