Source code for squadds.simulations.utils_component_factory
from qiskit_metal import Dict
from qiskit_metal.qlibrary.couplers.cap_n_interdigital_tee import CapNInterdigitalTee
from qiskit_metal.qlibrary.couplers.coupled_line_tee import CoupledLineTee
from qiskit_metal.qlibrary.tlines.meandered import RouteMeander
from squadds.components.claw_coupler import TransmonClaw
from squadds.components.coupled_systems import QubitCavity
[docs]
def create_qubitcavity(opts, design):
return QubitCavity(design, "qubitcavity", options=opts)
[docs]
def create_claw(opts, cpw_length, design):
opts["orientation"] = "-90"
opts["pos_x"] = "-1500um" if cpw_length > 2500 else "-1000um"
return TransmonClaw(design, "claw", options=opts)
[docs]
def create_ncap_coupler(opts, design):
opts["orientation"] = "-90"
return CapNInterdigitalTee(design, "cplr", options=opts)
[docs]
def create_clt_coupler(opts, design):
opts["orientation"] = "-90"
return CoupledLineTee(design, "cplr", options=opts)
[docs]
def create_cpw(opts, cplr, design):
opts.update({"lead": Dict(start_straight="50um", end_straight="50um")})
opts.update(
{
"pin_inputs": Dict(
start_pin=Dict(component=cplr.name, pin="second_end"),
end_pin=Dict(component="claw", pin="readout"),
)
}
)
opts.update({"meander": Dict(spacing="100um")})
return RouteMeander(design, "cpw", options=opts)