TransmonInterdigitated

class TransmonInterdigitated(design: QDesign, name: str = None, options: Dict = None, make=True, component_template: Dict = None)[source]

The base “TransmonInterdigitated” inherits the “QComponent” class.

This creates a transmon pocket with two large pads connected by a Josephson junction. Both pads have four interdigitated “fingers” which increase the capacitance of the structure. There are three coupling capacitor pads with qpins defined; these can be connected to other structures in a design using CPWs.

apidocs/Transmon_Interdigitated.png
Default Options:
  • pad_width: ‘1000um’ – width of the large rectangular pads on either side of the junction

  • pad_height: ‘300um’ – height of the large rectangular pads on either side of the junction

  • finger_width: ‘50um’ – width of the “finger” on either side of the junction

  • finger_height: ‘100um’ – height of the “finger” on the side of the junction

  • finger_space: ‘50um’ – height of the Josephson Junction (equivalently; space between two fingers)

  • pad_pos_x: ‘0um’ – the internal coordinate defining the center of the bottom rectangular pad

  • pad_pos_y: ‘0um’ – the internal coordinate defining the center of the bottom rectangular pad

  • comb_width: ‘50um’ – the width of the four interdigitated combs connected to either pad

  • comb_space_vert: ‘50um’ – the space between the edge of a comb and the edge of the opposite rectangular pad

  • comb_space_hor: ‘50um’ – the space between adjacent interdigitated comb structures

  • jj_width: ‘20um’ – the width of the Josephson Junction located between the two fingers of the device

  • cc_space: ‘50um’ – the space between the lower rectangular pad and the coupling capacitor below it

  • cc_width: ‘100um’ – the width of the coupling capacitor located below the bottom rectangular pad

  • cc_height: ‘100um’ – the height of the coupling capacitor located below the bottom rectangular pad

  • cc_topleft_space: ‘50um’ – the space between the upper rectangular pad and the top left coupling capacitor

  • cc_topleft_width: ‘100um’ – the width of the top left coupling capacitor pad

  • cc_topleft_height: ‘100um’ – the height of the top left coupling capacitor pad

  • cc_topright_space: ‘50um’ – the space between the upper rectangular pad and the top right coupling capacitor

  • cc_topright_width: ‘100um’ – the width of the top right coupling capacitor pad

  • cc_topright_height: ‘100um’ – the height of the top right coupling capacitor pad

  • rotation_top_pad: ‘180’ – internal coordinate defining the angle of rotation between top and bottom pads

  • inductor_width: ‘20.0um’ – the width of the Josephson Junction

Create a new Metal component and adds it’s default_options to the design.

Parameters:
  • design (QDesign) – The parent design.

  • name (str) – Name of the component. Auto-named if possible.

  • options (dict) – User options that will override the defaults. Defaults to None.

  • 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 True.

  • component_template (dict) – User can overwrite the template options for the component that will be stored in the design, in design.template, and used every time a new component is instantiated. Defaults to None.

Raises:

ValueError – User supplied design isn’t a QDesign

Note: Information copied from QDesign class.

self._design.overwrite_enabled (bool): When True - If the string name, used for component, already exists in the design, the existing component will be deleted from design, and new component will be generated with the same name and newly generated component_id, and then added to design.

When False - If the string name, used for component, already exists in the design, the existing component will be kept in the design, and current component will not be generated, nor will be added to the design. The variable design.self.status will still be NotBuilt, as opposed to Initialization Successful.

Either True or False - If string name, used for component, is NOT being used in the design, a component will be generated and added to design using the name.

Attributes

TransmonInterdigitated.TOOLTIP

TransmonInterdigitated.class_name

the full module name with the class name.

TransmonInterdigitated.component_metadata

Component metadata

TransmonInterdigitated.default_options

Default drawing options

TransmonInterdigitated.design

Return a reference to the parent design object.

TransmonInterdigitated.id

The unique id of component within a design.

TransmonInterdigitated.logger

The Qiskit Metal Logger.

TransmonInterdigitated.name

Name of the component.

TransmonInterdigitated.options

A dictionary of the component-designer-defined options.

TransmonInterdigitated.pin_names

The names of the pins.

TransmonInterdigitated.qgeometry_types

Get a list of the names of the element tables.

TransmonInterdigitated.pins

Dictionary of pins.

TransmonInterdigitated.metadata

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

TransmonInterdigitated.status

Stores the latest status of the component.

Methods

TransmonInterdigitated.add_dependency(...)

Add a dependency between one component and another.

TransmonInterdigitated.add_pin(name, points, ...)

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

TransmonInterdigitated.add_qgeometry(kind, ...)

Add QGeometry.

TransmonInterdigitated.connect_components_already_in_design(...)

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

TransmonInterdigitated.delete()

Delete the QComponent.

TransmonInterdigitated.get_pin(name)

Interface for components to get pin data.

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

TransmonInterdigitated.make()

Convert self.options into QGeometry.

TransmonInterdigitated.parse_options([options])

Parse the options, converting string into interpreted values.

TransmonInterdigitated.parse_value(value)

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

TransmonInterdigitated.populate_to_track_table_usage()

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

TransmonInterdigitated.qgeometry_bounds()

Fetched the component bound dict_value.

TransmonInterdigitated.qgeometry_dict(...)

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.

TransmonInterdigitated.qgeometry_list([...])

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

TransmonInterdigitated.qgeometry_plot([ax, ...])

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

TransmonInterdigitated.qgeometry_table(...)

Returns the entire element table for the component.

TransmonInterdigitated.rebuild()

Builds the QComponent.

TransmonInterdigitated.to_script([thin, ...])

param thin:

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