TransmonCross

class TransmonCross(design, name: str | None = None, options: Dict | None = None, options_connection_pads: dict | None = None, make: bool = True, **kwargs)[source]

The base TransmonCross class.

Inherits BaseQubit class.

Simple Metal Transmon Cross object. Creates the X cross-shaped island, the “junction” on the south end, and up to 3 connectors on the remaining arms (claw or gap).

‘claw_width’ and ‘claw_gap’ define the width/gap of the CPW line that makes up the connector. Note, DC SQUID currently represented by single inductance sheet

Add connectors to it using the connection_pads dictionary. See BaseQubit for more information.

Sketch:

Below is a sketch of the qubit

                            claw_length
Claw:       _________                    Gap:
            |   ________________             _________    ____________
      ______|  |                             _________|  |____________
            |  |________________
            |_________
apidocs/transmon_cross.png
BaseQubit Default Options:
  • connection_pads: Empty Dict – The dictionary which contains all active connection lines for the qubit.

  • _default_connection_pads: empty Dict – The default values for the (if any) connection lines of the qubit.

Default Options:
  • cross_width: ‘20um’ – Width of the CPW center trace making up the Crossmon

  • cross_length: ‘200um’ – Length of one Crossmon arm (from center)

  • cross_gap: ‘20um’ – Width of the CPW gap making up the Crossmon

  • _default_connection_pads: Dict
    • connector_type: ‘0’ – 0 = Claw type, 1 = gap type

    • claw_length: ‘30um’ – Length of the claw ‘arms’, measured from the connector center trace

    • ground_spacing: ‘5um’ – Amount of ground plane between the connector and Crossmon arm (minimum should be based on fabrication capabilities)

    • claw_width: ‘10um’ – The width of the CPW center trace making up the claw/gap connector

    • claw_gap: ‘6um’ – The gap of the CPW center trace making up the claw/gap connector

    • connector_location: ‘0’ – 0 => ‘west’ arm, 90 => ‘north’ arm, 180 => ‘east’ arm

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

TransmonCross.TOOLTIP

TransmonCross.class_name

the full module name with the class name.

TransmonCross.component_metadata

Component metadata

TransmonCross.default_options

Default options.

TransmonCross.design

Return a reference to the parent design object.

TransmonCross.id

The unique id of component within a design.

TransmonCross.logger

The Qiskit Metal Logger.

TransmonCross.name

Name of the component.

TransmonCross.options

A dictionary of the component-designer-defined options.

TransmonCross.pin_names

The names of the pins.

TransmonCross.qgeometry_types

Get a list of the names of the element tables.

TransmonCross.pins

Dictionary of pins.

TransmonCross.metadata

Metadata allows a designer to store extra information or analysis results.

TransmonCross.status

Stores the latest status of the component.

Methods

TransmonCross.add_dependency(parent, child)

Add a dependency between one component and another.

TransmonCross.add_pin(name, points, width[, ...])

Adds a pin from two points which are normal/tangent to the intended plane of the pin.

TransmonCross.add_qgeometry(kind, geometry)

Add QGeometry.

TransmonCross.connect_components_already_in_design(...)

WARNING: Do NOT use this method during generation of component instance.

TransmonCross.delete()

Delete the QComponent.

TransmonCross.get_pin(name)

Interface for components to get pin data.

TransmonCross.get_template_options(design[, ...])

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.

TransmonCross.make()

This is executed by the GUI/user to generate the qgeometry for the component.

TransmonCross.make_connection_pad(name)

Makes individual connector pad.

TransmonCross.make_connection_pads()

Goes through connector pads and makes each one.

TransmonCross.make_pocket()

Makes a basic Crossmon, 4 arm cross.

TransmonCross.parse_options([options])

Parse the options, converting string into interpreted values.

TransmonCross.parse_value(value)

Parse a string, mappable (dict, Dict), iterable (list, tuple) to account for units conversion, some basic arithmetic, and design variables.

TransmonCross.populate_to_track_table_usage()

Use the element_handler to get a list of all the table names used in QGeometry.

TransmonCross.qgeometry_bounds()

Fetched the component bound dict_value.

TransmonCross.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.

TransmonCross.qgeometry_list([element_type])

Returns a list of element qgeometry (shapely geometry) of the component as a python list of shapely geometries.

TransmonCross.qgeometry_plot([ax, plot_kw])

Draw all the qgeometry of the component (polys and path etc.)

TransmonCross.qgeometry_table(element_type)

Returns the entire element table for the component.

TransmonCross.rebuild()

Builds the QComponent.

TransmonCross.to_script([thin, is_part_of_chip])

param thin:

If true then any key in the QComponent's options whose value