TunableCoupler01¶
- class TunableCoupler01(design, name: str | None = None, options: Dict | None = None, options_connection_pads: dict | None = None, make: bool = True, **kwargs)[source]¶
One of the tunable couplers Based off the implementation in https://arxiv.org/pdf/2011.01261.pdf.
WIP - initial test structure
Inherits BaseQubit class
- Description:
Creates a tunable coupler, interdigitated capacitor to ground, with a junction to ground and a coupler arm. The shapes origin is shown with 0. X the location of the SQUID.
connection claw _____ X | | | | | | | | | | | | | | | | | | charge island | | | | | | --------------------0--------------------
- Options:
Convention: Values (unless noted) are strings with units included, (e.g., ‘30um’)
- BaseQubit Default Options:
connection_pads: empty Dict – Currently not used, connection count is static. (WIP)
_default_connection_pads: empty Dict – The default values for the (if any) connection lines of the qubit.
- Default Options:
c_width: ‘400um’ – The width (x-axis) of the interdigitated charge island
l_width: ‘20um’ – The width of lines forming the body and arms of the charge island
l_gap: ‘10um’ – The dielectric gap of the charge island to ground
a_height: ‘60um’ – The length of the arms forming the ‘fingers’ of the charge island
cp_height: ‘15um’ – The thickness (y-axis) of the connection claw
cp_arm_length: ‘30um’ – The length of the ‘fingers’ of the connection claw (Warning: can break the component if they are too long)
cp_arm_width: ‘6um’ – The width of the ‘fingers’ of the connection claw (Warning: can break the component if too wide)
cp_gap: ‘6um’ – The dielectric gap of the connection claw
cp_gspace: ‘3um’ – How much ground remains between the connection claw and the charge island
fl_width: ‘5um’ – Width of the flux line
fl_gap: ‘3um’ – Dielectric gap of the flux line
fl_length: ‘10um’ – Length of the flux line for mutual inductance to the SQUID
fl_ground: ‘2um’ – Amount of ground between the SQUID and the flux line
_default_connection_pads: Currently empty
- Parameters:
design (QDesign) – The parent design.
name (str) – Name of the component.
options (dict) – User options that will override the defaults. Defaults to None.
options_connection_pads (dict) – User options for connection pads on qubit
make (bool) – True if the make function should be called at the end of the init. Options be used in the make function to create the geometry. Defaults to None.
Attributes
the full module name with the class name.
Component metadata
Default options.
Return a reference to the parent design object.
The unique id of component within a design.
The Qiskit Metal Logger.
Name of the component.
A dictionary of the component-designer-defined options.
The names of the pins.
Get a list of the names of the element tables.
Dictionary of pins.
Metadata allows a designer to store extra information or analysis results.
Stores the latest status of the component.
Methods
TunableCoupler01.add_dependency
(parent, child)Add a dependency between one component and another.
TunableCoupler01.add_pin
(name, points, width)Adds a pin from two points which are normal/tangent to the intended plane of the pin.
TunableCoupler01.add_qgeometry
(kind, geometry)Add QGeometry.
WARNING: Do NOT use this method during generation of component instance.
Delete the QComponent.
TunableCoupler01.get_pin
(name)Interface for components to get pin data.
Creates template options for the Metal Component class required for the class to function, based on the design template; i.e., be created, made, and rendered.
Builds the component.
TunableCoupler01.parse_options
([options])Parse the options, converting string into interpreted values.
TunableCoupler01.parse_value
(value)Parse a string, mappable (dict, Dict), iterable (list, tuple) to account for units conversion, some basic arithmetic, and design variables.
Use the element_handler to get a list of all the table names used in QGeometry.
Fetched the component bound dict_value.
TunableCoupler01.qgeometry_dict
(element_type)Returns a dict of element qgeometry (shapely geometry) of the component as a python dict, where the dict keys are the names of the qgeometry and the corresponding values are the shapely geometries.
TunableCoupler01.qgeometry_list
([element_type])Returns a list of element qgeometry (shapely geometry) of the component as a python list of shapely geometries.
TunableCoupler01.qgeometry_plot
([ax, plot_kw])Draw all the qgeometry of the component (polys and path etc.)
TunableCoupler01.qgeometry_table
(element_type)Returns the entire element table for the component.
Builds the QComponent.
TunableCoupler01.to_script
([thin, ...])- param thin:
If true then any key in the QComponent's options whose value