SingleSpiralRounded¶
-
class
picazzo3.wg.spirals.cell.
SingleSpiralRounded
(*args, **kwargs)¶ Rounded 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. All the rounding properties can be set at the layout level.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: angle_step: float and number > 0
Angle step for rounding.
manhattan: ( bool, bool_, bool or int )
Adds rectangular blocks in the bends to avoid as much as possible non-manhattan angles.
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
bend_radius: float and number > 0
Bend radius for the auto-generated bends.
rounding_algorithm:
Rounding algorithm used to generate the bends. Can be circular, spline, ….
Other Parameters: auto_transform: locked
Examples
from technologies import silicon_photonics from picazzo3.wg.spirals import SingleSpiralRounded from ipkiss3 import all as i3 cell = SingleSpiralRounded(n_o_loops=5, trace_template=i3.TECH.PCELLS.WG.DEFAULT) layout = cell.Layout(inner_size=(30.0, 30.0), bend_radius=3.0, manhattan=True, spacing=5.0, spiral_center=(2, 1)) layout.visualize(annotate=True)
-