WaveguideUniformGrating
- class picazzo3.wg.grating.cell.WaveguideUniformGrating
Waveguide with inline, uniform grating. The grating consists of a Child cell with the period, which is repeated to create the grating.
- Parameters:
- n_o_periods: int and number > 0
The number of periods
- period_cell: PCell and _WaveguideGratingPeriod
The unit cell of the grating
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
Views
- class Layout
- Parameters:
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Examples
"""How to create a uniform grating with a custom unit cell.""" import si_fab.all as pdk # noqa: F401 from picazzo3.wg.grating import WaveguideUniformGrating, WaveguideSectionsGratingPeriod from picazzo3.traces.wire_wg import WireWaveguideTemplate from picazzo3.traces.slot_wg import SlotWaveguideTemplate # 2 templates to make a single period t1 = WireWaveguideTemplate(name="wire_t") t1.Layout(core_width=0.6, cladding_width=3.0) t2 = SlotWaveguideTemplate(name="slot_t") t2.Layout(core_width=0.6, slot_width=0.15, cladding_width=3.0) period = WaveguideSectionsGratingPeriod(name="period", wg_templates=[t1, t2, t1]) period.Layout(section_lengths=[0.11, 0.5, 0.11]) grating = WaveguideUniformGrating(name="my_uniform_grating", period_cell=period, n_o_periods=12) layout = grating.Layout() layout.visualize(annotate=True)