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
cavity: PCell

The cavity child cell (autogenerated)

cavity_defect_unit_cell: PCell

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

cavity_unit_cell: PCell

The Photonic Crystal unit cell of the cavity lattice

mirror: PCell

The mirror child cell (autogenerated)

mirror_defect_unit_cell: PCell

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

mirror_unit_cell: PCell

The Photonic Crystal unit cell of the mirror lattice

n_o_cladding_layers: int and number > 0
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_pitch: float and number > 0
cavity_pos: Coord2
mirror_pitch: float and number > 0
mirror_pos: Coord2
n_o_cavity_periods: int and number > 0
n_o_mirror_periods: int and number > 0
process_hfw: ProcessLayer
purpose_hfw: PatternPurpose
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)

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

from technologies import silicon_photonics  # 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