W1Waveguide¶
-
class
picazzo3.phc.w1.cell.
W1Waveguide
(*args, **kwargs)¶ A Uniform Photonic Crystal W1 waveguide consisting of 12-sided holes. You can specify the diameter of the lattice and the diameter of the defect holes in the core of the waveguide.
It is also possible to override the parameters of DodecPhCLayout, which allows you to customize the PCell in more detail.
Parameters: cell_instances: _PCellInstanceDict, optional
name: optional
The unique name of the pcell
Views
-
Layout
¶ Parameters: lattice_pitches: Coord2, optional
Lattice constants along the horizontal and the oblique direction. Choose identical values for a regular grid. If ‘pitches’ is manually set, this property will be ignored. If this property is set, the property ‘pitch’ will be ignored.
purpose: PatternPurpose, optional
Purpose of the layer on which the holes should be drawn.
view_name: str, optional
The name of the view
defect_diameter: float and Real, number and number >= 0, optional
Diameter of the defect holes. If zero, no holes are drawn.
diameter: float and number > 0, optional
diameter of the photonic crystal lattice holes
n_o_cladding_layers: int and number > 0, optional
Number of cladding layers north and south.
n_o_periods: int and number > 0, optional
Number of lattice periods in the propagation direction.
cells: optional
dictionary of Unit Cells for a Photonic Crystal. The value should be of the form {‘x’: cell1, ‘y’: cell2}. The keys of the dictionary should be characters and each character can be used to identify the unit cell in the map. The default value of this property is automatically calculated from the dictiornary ‘hole_sizes’. Only assign to this property if you want to override this value. If you do this, the property ‘hole_sizes’ will be ignored.
hole_sizes: dict, optional
dictionary of the hole sizes of the Photonic Crystal. The value should be of the form {‘x’: 0.25, ‘y’: 0.26}. The keys of the dictionary should be characters and each character can be used to identify the unit cell in the map. If the property ‘cells’ is set manually, hole_sizes’ will be ignored.
process_wg: ProcessLayer, optional
Process of the layer on which the holes should be drawn.
pitch: float and Real, number and number >= 0, optional
Lattice constant for a uniform triangular lattice. This property will be ignored if ‘lattice_pitches’ or ‘pitches’ are set manually
pitches: optional
Cartesian (X, Y) pitches of the lattice. If this is specified, the properties ‘lattice_pitches’ and ‘pitch’ will be ignored
map: str, optional
Map of the photonic crystal. This property accepts a multi-line string. Every character in the string represents a unit cell of the photonic crystal, which can be found in the property cells
ports_coordinates: optional
list of tuple with (coordinate (in pitches), angle, waveguide_template, [name])
process_hfw: ProcessLayer, optional
process for underetching
purpose_hfw: PatternPurpose, optional
drawing purpose for underetching
zero_line_y: float, optional
line in the map which corresponds to the coordinate y=0. This can be a fractional number, and the unit is relative to pitches.y .
grids_per_unit: locked
Number of grid cells per design unit
units_per_grid: locked
Ratio of grid cell and design unit
grid: float and number > 0, locked
design grid. Extracted by default from TECH.METRICS.GRID
unit: float and number > 0, locked
design unit. Extracted by default from TECH.METRICS.UNIT
Examples
""" A W1 waveguide with a missing row of holes """ from technologies import silicon_photonics from ipkiss3 import all as i3 from picazzo3.phc.w1 import W1Waveguide cell = W1Waveguide(name="my_w1") layout = cell.Layout(pitch=0.43, # lattice period of the triangular lattice diameter=0.28, # hole diameter of the lattice n_o_cladding_layers=5, # number of rows on each side of the defect n_o_periods=20 # length of the lattice ) layout.visualize()
""" A W1 waveguide with a center row of holes of different size""" from technologies import silicon_photonics from ipkiss3 import all as i3 from picazzo3.phc.w1 import W1Waveguide cell = W1Waveguide(name="my_w1_with_defect") layout = cell.Layout(pitch=0.43, # lattice period of the triangular lattice diameter=0.28, # hole diameter of the lattice defect_diameter=0.16, # defect hole diameter n_o_cladding_layers=6, # number of rows on each side of the defect n_o_periods=21 # length of the lattice ) layout.visualize()
-