SingleSpiral

class picazzo3.wg.spirals.cell.SingleSpiral(*args, **kwargs)

Single spiral class going from the inside to the outside. 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:

The unique name of the pcell

Other Parameters:
 

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:

shapes: list

List of shapes used to build the traces

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

The name of the view

inner_size: Coord2

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

spacing: float and Real, number and number >= 0

spacing between the individual loops.

spiral_center: Coord2

locatation of the center of the spiral.

flatten: ( bool, bool_, bool or int )

If true the instances are flattened

Other Parameters:
 

auto_transform: locked

Examples

# Example of single spiral using a trace template.
from technologies import silicon_photonics
from picazzo3.wg.spirals import SingleSpiral
from ipkiss3 import all as i3

cell = SingleSpiral(n_o_loops=5, trace_template=i3.TECH.PCELLS.WG.DEFAULT)
layout = cell.Layout(inner_size=(20, 15),
                     spacing=5.0,
                     spiral_center=(2, 1))

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