class kqcircuits.simulations.xmons_direct_coupling_sim.XMonsDirectCouplingSim(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.


layout – the layout on which to create the simulation

Keyword Arguments


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.


A dedicated function to be used also by the corresponding simulation object.

Assumes following attributes:

  • arm_width_a

  • arm_width_b

  • qubit_spacing

  • fluxline_type

  • rr_cpl_width

  • squid_type

  • layout

  • insert_cell


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_spacing (Double) - Qubit spacing, default=3, unit=μm

  • arm_width_b (Double) - Qubit 2 arm width, default=66, unit=μm

  • waveguide_length (Double) - Length of waveguide stubs or distance between couplers and waveguide turning point, default=100

  • cpl_width (Double) - Qubit RR coupler width, default=24, unit=μm

  • arm_width_a (Double) - Qubit 1 and 3 arm width, default=24, unit=μm

  • rr_cpl_width (List) - RR to QB coupler width (um for each RR), default=[24, 24, 24]

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

  • squid_type (String) - SQUID Type, default=SIM1, choices=['NoSquid', 'Manhattan', 'QCD1', 'Sim', 'SIM1']