WaveguideGrooveGratingPeriod

class picazzo3.wg.grating.cell.WaveguideGrooveGratingPeriod(*args, **kwargs)

Period for a waveguide with grooves etched in the core.

Parameters:

wg_template: PCell and _WaveguideTemplate, optional

Waveguide template of start and end of the period (and ports)

cell_instances: _PCellInstanceDict, optional

name: optional

The unique name of the pcell

Views

Layout
Parameters:

groove_length: float and number > 0, optional

The length of the groove, perpendicular to the waveguide direction. By default, it extends halfway the cladding.

groove_process: ProcessLayer, optional

Process on which the groove is drawn.

groove_purpose: PatternPurpose, optional

Purpose on which the groove is drawn.

groove_width: float and number > 0, optional

The width of the block along the waveguide direction. If ‘relative_groove_width’ is True (default), this is expressed as a fraction of the period length (fill factor).

relative_groove_width: optional

If True, the groove width is expressed as a fraction of the length.

view_name: str, optional

The name of the view

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

Length of the grating period.

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

""" We make a grating with a shallow etched groove
"""
from technologies import silicon_photonics
from ipkiss3 import all as i3
from picazzo3.wg.grating import WaveguideUniformGrating, WaveguideGrooveGratingPeriod
from picazzo3.traces.wire_wg import WireWaveguideTemplate

t1 = WireWaveguideTemplate(name="wire_t")
t1.Layout(core_width=0.6, cladding_width=3.0)

period = WaveguideGrooveGratingPeriod(name="period_g",
                                      wg_template=t1)
period.Layout(length=0.31,
              groove_process=i3.TECH.PROCESS.FC)

grating = WaveguideUniformGrating(name="my_groove_grating",
                                  period_cell=period,
                                  n_o_periods=12)

layout = grating.Layout()

layout.visualize()
../../../../_images/picazzo3-wg-grating-cell-WaveguideGrooveGratingPeriod-1.png