DoubleSpiralWithInCoupling

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

Double spiral class with both access waveguides on the outside of the spiral. In coupling waveguides are added to the spiral, one at the east side and one at the west side. 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

stub_direction:

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

The name of the view

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

length of the incoupling section.

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.

flatten: ( bool, bool_, bool or int )

If true the instances are flattened

Other Parameters:
 

spiral_center: locked

auto_transform: locked

Examples

from technologies import silicon_photonics
from picazzo3.wg.spirals import DoubleSpiralWithInCoupling
from ipkiss3 import all as i3

cell = DoubleSpiralWithInCoupling(n_o_loops=3, trace_template=i3.TECH.PCELLS.WG.DEFAULT)
layout = cell.Layout(inner_size=(30.0, 30.0),
                     incoupling_length=10.0,
                     spacing=5)

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