kqcircuits.simulations.double_pads_sim

class kqcircuits.simulations.double_pads_sim.DoublePadsSim(layout, **kwargs)[source]

Bases: kqcircuits.simulations.simulation.Simulation

Initialize a Simulation.

The initializer parses parameters, creates a top cell, and then calls self.build to create the simulation geometry, followed by self.create_simulation_layers to process the geometry so it is ready for exporting.

Parameters

layout – the layout on which to create the simulation

Keyword Arguments

**kwargs

Any parameter can be passed as a keyword argument.

In addition, cell can be passed as keyword argument. If cell is supplied, it will be used as the top cell for the simulation. Otherwise, a new cell will be created. See Simulation.from_cell for creating simulations from existing cells.

build()[source]

Build simulation geometry.

This method is to be overridden, and the overriding method should create the geometry to be simulated and add any ports to self.ports.

ports: List[kqcircuits.simulations.port.Port]
PCell parameters:

  • qubit_face (List) - Bottom or top face qubit position, default=['1t1', '2b1']

  • internal_island_ports (Boolean) - Add InternalPorts on both islands. Use for capacitive simulations., default=False

  • junction_inductance (List) - Qubit junction inductance, default=1.1497e-08, unit=H

  • junction_capacitance (List) - Qubit junction capacitance, default=1e-16, unit=F

  • a (Double) - Width of center conductor, default=10, unit=μm

  • b (Double) - Width of gap, default=6, unit=μm

  • n (Int) - Number of points on turns, default=64

  • r (Double) - Turn radius, default=100, unit=μm

  • margin (Double) - Margin of the protection layer, default=5, unit=μm

  • face_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) - Add opposite face protection too, default=False

  • mirror_squid (Boolean) - Mirror SQUID by its Y axis, default=False

  • junction_total_length (Double) - Simulation junction total length, default=33, unit=µm

  • junction_type (String) - Junction Type, default=Manhattan, choices=['NoSquid', 'Manhattan', 'Manhattan Single Junction', 'Sim']

  • junction_width (Double) - Junction width (only used for code generated element), default=0.02, unit=μm

  • junction_parameters (String) - Extra Junction Parameters, default={}

  • _junction_parameters (String) - Previous state of *_parameters, default={}

  • loop_area (Double) - Loop area, default=100, unit=μm^2

  • fluxline_type (String) - Fluxline Type, default=Fluxline Standard, choices=['none', 'Fluxline Standard', 'Fluxline Straight']

  • fluxline_gap_width (Double) - Fluxline gap width, default=2, unit=μm

  • fluxline_parameters (String) - Extra Fluxline Parameters, default={}

  • _fluxline_parameters (String) - Previous state of *_parameters, default={}

  • ground_gap (List) - Width, height of the ground gap (µm, µm), default=[700, 700]

  • ground_gap_r (Double) - Ground gap rounding radius, default=50, unit=μm

  • coupler_extent (List) - Width, height of the coupler (µm, µm), default=[150, 20]

  • coupler_r (Double) - Coupler rounding radius, default=10, unit=μm

  • coupler_a (Double) - Width of the coupler waveguide center conductor, default=10, unit=μm

  • coupler_offset (Double) - Distance from first qubit island to coupler, default=20, unit=μm

  • squid_offset (Double) - Offset between SQUID center and qubit center, default=0, unit=μm

  • island1_extent (List) - Width, height of the first qubit island (µm, µm), default=[500, 100]

  • island1_r (Double) - First qubit island rounding radius, default=50, unit=μm

  • island2_extent (List) - Width, height of the second qubit island (µm, µm), default=[500, 100]

  • island2_r (Double) - Second qubit island rounding radius, default=50, unit=μm

  • drive_position (List) - Coordinate for the drive port (µm, µm), default=[-450, 0]

  • island1_taper_width (Double) - First qubit island tapering width on the island side, default=10, unit=µm

  • island1_taper_junction_width (Double) - First qubit island tapering width on the junction side, default=10, unit=µm

  • island2_taper_width (Double) - Second qubit island tapering width on the island side, default=10, unit=µm

  • island2_taper_junction_width (Double) - Second qubit island tapering width on the junction side, default=10, unit=µm

  • island_island_gap (Double) - Island to island gap distance, default=70, unit=µm

  • finger_overshoot (Double) - Length of fingers after the junction., default=1.0, unit=μm

  • include_base_metal_gap (Boolean) - Include base metal gap layer, default=True

  • shadow_margin (Double) - Shadow layer margin near the the pads, default=1.0, unit=μm

  • compact_geometry (Boolean) - Compact geometry for metal addition., default=False

  • separate_junctions (Boolean) - Junctions to separate layer., default=False

  • offset_compensation (Double) - Junction lead offset from junction width, default=0, unit=μm

  • mirror_offset (Boolean) - Move the junction lead offset to the other lead, default=False

  • finger_overlap (Double) - Length of fingers inside the pads., default=0.2, unit=μm

../_images/kqcircuits.simulations.double_pads_sim.png