DoubleSpiral

class picazzo3.wg.spirals.cell.DoubleSpiral

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

Number of loops in the spiral

trace_template: PCell and _TraceTemplate

Trace template used in the chain.

name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Other Parameters:
n_o_traces: int and number > 0, locked

Total number of traces used in the spiral.

traces: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked

Views

class Layout
Parameters:
shapes: list

List of shapes used to build the traces

flatten: ( bool, bool_ or int )

If true the instances are flattened

inner_size: Coord2 and number >= 0

Inner size of the the spiral, defaults to 3 * spacing + 2 * bend_radius, in each direction

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

stub_direction: List with value restriction, allowed values: [‘H’, ‘V’]
spacing: float and Real, number and number >= 0

spacing between the individual loops.

spiral_center: Coord2

location of the center of the spiral.

Other Parameters:
auto_transform: locked

Examples

import si_fab.all as pdk  # noqa: F401
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",
    spiral_center=(0, 0),  # either H or V
)

layout.visualize(annotate=True)
../../../../../_images/picazzo3-wg-spirals-cell-DoubleSpiral-1.png