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()
-