class picazzo3.traces.socket_wg.WireSocketWaveguideTransitionLinear(*args, **kwargs)

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

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

The wire_only_length is the part of the transition in which the socket part is gradually built up. After this length, we abruptly change to the socket waveguide. If the socket part is sufficiently wide in the first part, there should be no reflections at the interface.


end_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, SocketWaveguideTemplate, optional

start_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, SocketWaveguideTemplate, optional

modified_start_wg_template: PCell and _TraceTemplate, optional

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, 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.



grids_per_unit: optional

Number of grid cells per design unit

units_per_grid: optional

Ratio of grid cell and design unit

view_name: str, optional

The name of the view

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

width of the wire core at its end point.

wire_only_length: optional

Length of transition where shallow part is built up.

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


""" This example shows how you use the template as a parameter for a rounded
Waveguide PCell. """
import technologies.silicon_photonics
from picazzo3.traces.wire_wg import WireWaveguideTemplate
from picazzo3.traces.socket_wg import SocketWaveguideTemplate, WireSocketWaveguideTransitionLinear

wt1 = WireWaveguideTemplate()
wt1.Layout(core_width=0.45, cladding_width=1.6)
wt2 = SocketWaveguideTemplate()
wt2.Layout(core_width=0.85, cladding_width=2.0)

t = WireSocketWaveguideTransitionLinear(start_trace_template=wt1,

t_lay = t.Layout(start_position=(0.0, 0.0), end_position=(5.0, 0.0))