W1HeteroCavityMulti

class picazzo3.phc.hetero.cell.W1HeteroCavityMulti(*args, **kwargs)

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 seperately, 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:

The unique name of the pcell

Views

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

view_name: str and ( Alphanumeric string or Contains _$ )

The name of the view

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)

Examples

from technologies import silicon_photonics
from ipkiss3 import all as i3
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