ThinnedWireWireWaveguideTransitionLinear

class picazzo3.traces.thin_wg.ThinnedWireWireWaveguideTransitionLinear(*args, **kwargs)

Transition from/to thinned wire to/from wire waveguides.

You can provide either a thinned wire for the start, and wire for the end, or vica versa.

Parameters:

end_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, ThinnedWaveguideTemplate, optional

start_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, ThinnedWaveguideTemplate, optional

cell_instances: _PCellInstanceDict, optional

name: optional

The unique name of the pcell

reverse_templates: 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

Layout
Parameters:

grids_per_unit: optional

Number of grid cells per design unit

tip_width: float and number > 0, optional

units_per_grid: optional

Ratio of grid cell and design unit

view_name: str, optional

The name of the view

straight_extension: Coord2, optional

tuple: straight extension at start and end of transition

end_position: Coord2, optional

end position of the transition

start_position: Coord2, optional

start position of the transition

grid: float and number > 0, optional

design grid. Extracted by default from TECH.METRICS.GRID

unit: float and number > 0, optional

design unit. Extracted by default from TECH.METRICS.UNIT

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

length of the transition

Examples

"""This example shows how you transition from a thinned wire to a wire waveguide.
"""
from technologies import silicon_photonics
from picazzo3.traces.wire_wg import WireWaveguideTemplate
from picazzo3.traces.thin_wg import ThinnedWaveguideTemplate, ThinnedWireWireWaveguideTransitionLinear
import ipkiss3.all as i3

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

wg_start = ThinnedWaveguideTemplate(trace_template=wg_start_wire)
wg_start.Layout(thin_width=1.0)

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

t = ThinnedWireWireWaveguideTransitionLinear(name="test_ThinnedWireWireWaveguideTransitionLinear",
                                             start_trace_template=wg_start,
                                             end_trace_template=wg_end)

t_lay = t.Layout(start_position=(3.0, 3.0),
                 end_position=(23.0, 3.0),
                 straight_extension=(0.3, 0.4))

t_lay.visualize()
../../../../_images/picazzo3-traces-thin_wg-ThinnedWireWireWaveguideTransitionLinear-1.png