WireRibWaveguideTransitionLinear

class picazzo3.traces.rib_wg.WireRibWaveguideTransitionLinear

Transition from/to wire (deep etched) to/from rib (shallow etched) waveguides.

You can provide either a wire for the start, and rib for the end, or vice versa. The wire_only_length is the part of the transition in which the rib part is gradually built up. After this length, we abruptly change to the rib waveguide. If the rib part is sufficiently wide in the first part, there should be no reflections at the interface.

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)

wire_only_wg_template: PCell and _TraceTemplate
end_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, RibWaveguideTemplate
start_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, RibWaveguideTemplate
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:
wire_only_cladding_width: float and number > 0

width of the cladding at the end of the wire_only_length

wire_end_width: float and Real, number and number >= 0

width of the wire core at its end point.

wire_only_length: ( float and Real, number and number >= 0 ), *None allowed*

Length of transition where shallow part is built up.

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 RibWaveguideTemplate
from picazzo3.traces.rib_wg import WireRibWaveguideTransitionLinear

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

wg_deeponly = WireWaveguideTemplate()
wg_deeponly.Layout(core_width=3.0, cladding_width=3.0 + 2 * i3.TECH.WG.TRENCH_WIDTH)

t = WireRibWaveguideTransitionLinear(
    start_trace_template=wg_start, end_trace_template=wg_end, wire_only_wg_template=wg_deeponly
)

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