WgDirectCrossing

class picazzo3.wg.crossing.cell.WgDirectCrossing(*args, **kwargs)

A Direct waveguide crossing, consisting of two identical waveguides at right angles. This design is not particularly efficient for high-contrast waveguides, but is OK for low-contrast waveguides (e.g. silica.)

Parameters:

trace_template: PCell and _WaveguideTemplate, optional

Trace template used to define the crossing

waveguides: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, optional

the waveguides through the crossing

cell_instances: _PCellInstanceDict, optional

name: optional

The unique name of the pcell

Views

Layout
Parameters:

view_name: str, optional

The name of the view

length: float and number > 0, optional

straight_stub: float and number > 0, optional

length of the straigth sections of the crossing

grids_per_unit: locked

Number of grid cells per design unit

units_per_grid: locked

Ratio of grid cell and design unit

grid: float and number > 0, locked

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

unit: float and number > 0, locked

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

Examples

from technologies import silicon_photonics
from ipkiss3 import all as i3
from picazzo3.wg.crossing import WgDirectCrossing
from picazzo3.traces.wire_wg.trace import WireWaveguideTemplate

wg_t = WireWaveguideTemplate(name="my_crossing_wg_template1")
wg_t.Layout(core_width=0.550,
            cladding_width=2 * 2.0 + 0.550,
            core_process=i3.TECH.PROCESS.WG)
C = WgDirectCrossing(name="my_direct_crossing",
                     trace_template=wg_t)
layout = C.Layout()

layout.visualize()
../../../../_images/picazzo3-wg-crossing-cell-WgDirectCrossing-1.png