DoubleSpiral¶
-
class
picazzo3.wg.spirals.cell.
DoubleSpiral
(*args, **kwargs)¶ Double spiral class with both access waveguides on the outside of the spiral. The trace template provided in the property
trace_template
is used to build a chain of waveguides.Parameters: n_o_loops: int and number > 0, optional
Number of loops in the spiral
trace_template: PCell and _TraceTemplate, optional
Trace template used in the chain.
cell_instances: _PCellInstanceDict, optional
name: optional
The unique name of the pcell
traces: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked
n_o_traces: int and number > 0, locked
Total number of traces used in the spiral.
Views
-
Layout
¶ Parameters: stub_direction: optional
view_name: str, optional
The name of the view
inner_size: Coord2, optional
Inner size of the the spiral, defaults to 3 * spacing + 2 * bend_radius, in each direction
spacing: float and Real, number and number >= 0, optional
spacing between the individual loops.
spiral_center: Coord2, optional
locatation of the center of the spiral.
shapes: list, optional
List of shapes used to build the traces
flatten: optional
If true the instances are flattened
grids_per_unit: locked
Number of grid cells per design unit
units_per_grid: locked
Ratio of grid cell and design unit
auto_transform: locked
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
from technologies import silicon_photonics from picazzo3.wg.spirals import DoubleSpiral from ipkiss3 import all as i3 cell = DoubleSpiral(n_o_loops=2, trace_template=i3.TECH.PCELLS.WG.DEFAULT) layout = cell.Layout(inner_size=(15.0, 15.0), spacing=1.0, stub_direction="H", # either H or V spiral_center=(0, 0)) layout.visualize()
-