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