WgParabolicCrossing

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

Highly efficient crossing for high-contrast silicon photonics. The crossing consists of double-etched parabolic transitions at right angles, collimating the optical field over a short distance to a parallel beam at the cnter of the crossing. This allows for a minimum of crosstalk. The details of this crossing are described in detail in [W. Bogaerts et al., Optics Letters, 32(19), p.2801-2803 (2007)]

Parameters:

trace_template: PCell and _WaveguideTemplate

Trace template used to define the crossing

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

the waveguides through the crossing

name:

The unique name of the pcell

Views

Layout
Parameters:

cladding_process: ProcessLayer

process for the full etched strip cladding

cladding_purpose: PatternPurpose

pattern purpose for the full etched strip cladding

core_cladding_process: ProcessLayer

process for the shallow etched core cladding

core_cladding_purpose: PatternPurpose

pattern purpose for the shallow etched core cladding

core_cladding_width: float and number > 0

width of the cladding of the shallow etched core

core_process: ProcessLayer

process for the shallow etched core

core_purpose: PatternPurpose

pattern purpose for the shallow etched core

core_width: float and number > 0

width of the shallow waveguide etch at the ports. defaults to same value as deep waveguide

core_width_center: float and number > 0

shallowetched core width at the center

length: float and number > 0

length of the parabolic section (from start to crossing center to the end)

strip_process: ProcessLayer

process for the full etched strip

strip_purpose: PatternPurpose

pattern purpose for the full etched strip

strip_width_center: float and number > 0

full etched strip width at the center

view_name: str and ( Alphanumeric string or Contains _$ )

The name of the view

width_step: float and number > 0

discretisation in width for the parabolic shapes

straight_stub: float and number > 0

length of the straigth sections of the crossing

Examples

from technologies import silicon_photonics
from ipkiss3 import all as i3
from picazzo3.wg.crossing import WgParabolicCrossing

C = WgParabolicCrossing(name="my_parabolic_crossing")
layout = C.Layout(length=5.7,
                  strip_width_center=2.6,
                  core_width_center=0.8,
                  core_cladding_width=2*0.5+0.8)

layout.visualize(annotate=True)
../../../../_images/picazzo3-wg-crossing-cell-WgParabolicCrossing-1.png