# FixedLengthSpiralRounded¶

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

Rounded spiral with incoupling sections that calculates its length. The total length is set by the property total_length and the inner size of the spiral will be adapted so that the total length of the spiral (including the incoupling sections) would be equal to total_length. The way this inner size is calculated can set using properties in the Layout view.

Parameters: total_length: float and number > 0, optional Total design length of the spiral. 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: , locked n_o_traces: int and number > 0, locked Total number of traces used in the spiral.

Views

Layout

The inner size of the spiral is calculated by assuming a minimal inner_size and growing it in either the direction set by growth_direction. An error is raised when that is impossible to do with the set number of loops.

Parameters: angle_step: float and number > 0, optional angle step for rounding manhattan: optional adds rectangular blocks in the bends to avoid as much as possible non-manhattan angles stub_direction: optional view_name: str, optional The name of the view growth_direction: optional incoupling_length: float and Real, number and number >= 0, optional length of the incoupling section. rounding_algorithm: optional rounding algorithm used to generate the bends. Can be circular, spline, … spacing: float and Real, number and number >= 0, optional spacing between the individual loops. shapes: list, optional List of shapes used to build the traces flatten: optional If true the instances are flattened bend_radius: float and number > 0, optional bend radius for the auto-generated bends grid: float and number > 0, locked design grid. Extracted by default from TECH.METRICS.GRID grids_per_unit: locked Number of grid cells per design unit units_per_grid: locked Ratio of grid cell and design unit inner_size: locked spiral_center: locked auto_transform: locked 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 FixedLengthSpiralRounded
from ipkiss3 import all as i3

cell = FixedLengthSpiralRounded(total_length=4000, n_o_loops=6, trace_template=i3.TECH.PCELLS.WG.DEFAULT)

layout = cell.Layout(incoupling_length=10.0,