W1HeteroCavityMulti

class picazzo3.phc.hetero.cell.W1HeteroCavityMulti

Photonic Crystal W1 Waveguide with multiple HeteroCavities with adjusted pitch in the cavity. The unit cells for the waveguide and the cavity can be chosen separately, as well as the different lattice pitches.

Parameters:
n_o_cladding_layers: int and number > 0
cavity: PCell

The cavity child cell (autogenerated)

mirror: PCell

The mirror child cell (autogenerated)

cavity_defect_unit_cell: PCell

The Photonic Crystal unit cell of the cavity lattice. By default it is empty.

mirror_defect_unit_cell: PCell

The Photonic Crystal unit cell of the mirror waveguide. By default it is empty.

cavity_unit_cell: PCell

The Photonic Crystal unit cell of the cavity lattice

mirror_unit_cell: PCell

The Photonic Crystal unit cell of the mirror lattice

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:
cavity_period: float and number > 0

repetition period of the cavity. By default it is calculated automatically.

n_o_cavities: int and number > 0

number of cavities in series

mirror_pos2:
cavity_pos: Coord2
mirror_pos: Coord2
purpose_hfw: PatternPurpose
process_hfw: ProcessLayer
vertical_cavity_pitch: float and number > 0

off-axis pitch of the cavity lattice: default = matched to mirror)

vertical_mirror_pitch: float and number > 0

off-axis pitch of the mirror lattice: default = same as mirror_pitch)

cavity_pitch: float and number > 0
mirror_pitch: float and number > 0
n_o_cavity_periods: int and number > 0
n_o_mirror_periods: int and number > 0
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

import si_fab.all as pdk  # noqa: F401
from picazzo3.phc.generic import DodecHole

mirror_unit_cell = DodecHole(name="Hc1")
mirror_unit_cell.Layout(radius=0.13)
cavity_unit_cell = DodecHole(name="Hc2")
cavity_unit_cell.Layout(radius=0.14)

# If we combine two hetero-interfaces, we get a Cavity.
from picazzo3.phc.hetero import W1HeteroCavityMulti

cell = W1HeteroCavityMulti(
    name="my_multihetero_cavity", mirror_unit_cell=mirror_unit_cell, cavity_unit_cell=cavity_unit_cell
)
layout = cell.Layout(
    n_o_cladding_layers=6,
    mirror_pitch=0.43,
    cavity_pitch=0.46,
    n_o_mirror_periods=10,
    n_o_cavity_periods=6,
    n_o_cavities=3,
)

layout.visualize(annotate=True)
../../../../../_images/picazzo3-phc-hetero-cell-W1HeteroCavityMulti-1.png