kqcircuits.elements.spiral_resonator_polygon
- class kqcircuits.elements.spiral_resonator_polygon.SpiralResonatorPolygon[source]
Bases:
ElementThe PCell declaration for a polygon shaped spiral resonator.
The resonator waveguide starts at the first point of self.input_path and goes through each each of its points. The last point of self.input_path will connect to the first point of self.poly_path, unless the length of self.input_path is already longer than self.length.
The polygon shape is defined by self.poly_path, where each point is a vertex of the polygon. The points should either be in clockwise or counter-clockwise order. The waveguide will first continue along the polygon edges, and then spiral inside the polygon such that each segment will be parallel to one of the edges defined by self.polygon_path.
Note, that if you want the segment from self.input_path to self.poly_path to be “a part of the spiral” (following the polygon shape), you will need to choose the points such that the edge self.input_path[-1] - self.poly_path[0] is parallel to the edge self.poly_path[0] - self.poly_path[-1].
The spacing between waveguides in the spiral can either be chosen manually or automatically. The automatic spacing attempts to find the largest possible spacing.
Airbridges can optionally be placed with a given spacing along the resonator waveguide by setting non-zero value to bridge_spacing. Alternatively, one can independently set number of airbridges on each straight segment of spiral polygon by using parameter n_bridges_pattern.
Non-negative value to connector_dist inserts face-to-face connector to spiral resonator so that the beginning and the end of resonator will be on different faces.
- kqcircuits.elements.spiral_resonator_polygon.rectangular_parameters(above_space=500, below_space=400, right_space=1000, x_spacing=100, y_spacing=100, bridges_left=False, bridges_bottom=False, bridges_right=False, bridges_top=False, r=100, **kwargs)[source]
A utility function to easily produce rectangular spiral resonator (old SpiralResonatorRectangle).
- Parameters:
above_space – Space above the input (µm)
below_space – Space below the input (µm)
right_space – Space right of the input (µm)
x_spacing – Spacing between vertical segments (µm)
y_spacing – Spacing between horizontal segments (µm)
bridges_left – Crossing airbridges left
bridges_bottom – Crossing airbridges bottom
bridges_right – Crossing airbridges right
bridges_top – Crossing airbridges top
r – Turn radius (µm)
- Returns:
dictionary of parameters for SpiralResonatorPolygon
length (Double) - Resonator length, default=
5000, unit=μminput_path (Shape) - Input waveguide path, default=
(-200,0;0,0) w=10 bx=0 ex=0 r=falsepoly_path (Shape) - Polygon path, default=
(0,800;1000,0;0,-800) w=10 bx=0 ex=0 r=falseauto_spacing (Boolean) - Use automatic spacing, default=
Trueinclude_connector_length (Boolean) - Include connector length, default=
Falsemanual_spacing (List) - Manual spacing pattern, default=
[300], unit=[μm]bridge_spacing (Double) - Airbridge spacing, default=
0, unit=μmn_bridges_pattern (List) - Pattern for number of airbridges on edges, default=
[0]connector_dist (Double) - Negative value means single face resonator without connector., default=
-1, unit=µmterm1 (Double) - Termination length start, default=
0, unit=μmterm2 (Double) - Termination length end, default=
0, unit=μmconnector_a (Double) - Conductor width at the connector area, default=
40, unit=μmconnector_b (Double) - Gap width at the connector area, default=
40, unit=μmround_connector (Boolean) - Use round connector shape, default=
Falsea (Double) - Width of center conductor, default=
10, unit=μmb (Double) - Width of gap, default=
6, unit=μmn (Int) - Number of points on turns, default=
64r (Double) - Turn radius, default=
100, unit=μmmargin (Double) - Margin of the protection layer, default=
5, unit=μmface_ids (List) - Chip face IDs list, default=
['1t1', '2b1', '1b1', '2t1']display_name (String) - Name displayed in GUI (empty for default), default=
protect_opposite_face (Boolean) - This applies only on signal carrying elements that typically include some metal between gaps., default=
Falseopposing_face_id_groups (List) - Opposing face ID groups (list of lists), default=
[['1t1', '2b1']]etch_opposite_face (Boolean) - Etch avoidance shaped gap on the opposite face too, default=
Falseetch_opposite_face_margin (Double) - Margin of the opposite face etch shape, default=
5, unit=μm_epr_show (Boolean) - Show geometry related to EPR simulation, if available, default=
False_epr_cross_section_cut_layer (Layer) - Layer where EPR cross section cuts are placed, default=
None_epr_cross_section_cut_width (Double) - Width of the EPR cross section cuts when visualised, default=
0.0airbridge_type (String) - Airbridge type, default=
Airbridge Rectangular, choices=['Airbridge Rectangular', 'Airbridge Multi Face']bridge_width (Double) - Bridge width, default=
40, unit=μmpad_length (Double) - Pad length, default=
40, unit=μmbridge_length (Double) - Bridge length (from pad to pad), default=
44, unit=μminclude_bumps (Boolean) - Include bumps, default=
Trueubm_diameter (Double) - Under-bump metalization diameter, default=
40, unit=μmbump_diameter (Double) - Bump diameter, default=
25, unit=μmbump_type (String) - Bump type, default=
Flip Chip Connector Dc, choices=['Flip Chip Connector Dc']