Cogitan
Documentation menu

Quickstart

Qubit design for a lab

One design task on WM1 Q1, the public SQuADDS chip, in the order of the qubit guide: the qubit, a refusal, its readout, flux tuning, coupling, the next qubit from targets, its junction, its GDS and the chip's collision yield. Nothing here is silicon: the TransmonCross chain is trained on SQuADDS HFSS and exact elsewhere.
Each step is a CLI command and the same request with curl. The curl lines read $FLUXUS_API and $COGITAN_API_KEY; set them as in Getting started. The CLI runs the engine in-process and needs neither.
  1. What the engine accepts

    Fields, units, defaults, envelopes, engines, refusal kinds and exit codes.

    CLI
    fluxus qubit schema
    curl
    curl -s "$FLUXUS_API/qem/schema" -H "Authorization: Bearer $COGITAN_API_KEY"
  2. Q1 from the design notebook

    f01, anharmonicity, fr, g, chi, EC and kappa with 90% intervals against HFSS.

    CLI
    fluxus qubit cross --cross-length-um 240 --claw-length-um 215 --ground-spacing-um 10 --junction-lj-nh 9.686 --length-um 3900 --coupling-length-um 225 --intervals
    curl
    curl -s "$FLUXUS_API/qem/cross" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"cross_length_um": 240, "claw_length_um": 215, "ground_spacing_um": 10, "junction_lj_nh": 9.686, "length_um": 3900, "coupling_length_um": 225, "intervals": true}'
  3. A refusal, by name

    Q6's ground spacing, 10.9 um, is outside the HFSS data: HTTP 422 outside_envelope naming the field, the value and the allowed range; exit 3 on the CLI.

    CLI
    fluxus qubit cross --cross-length-um 240 --claw-length-um 215 --ground-spacing-um 10.9 --junction-lj-nh 9.686 --length-um 3900 --coupling-length-um 225 --json
    curl
    curl -s "$FLUXUS_API/qem/cross" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"cross_length_um": 240, "claw_length_um": 215, "ground_spacing_um": 10.9, "junction_lj_nh": 9.686, "length_um": 3900, "coupling_length_um": 225}'
  4. A half-wave readout with its own coupler

    The lambda/2 NCap engine answers fr and kappa for Q3's readout even though the qubit itself is refused.

    CLI
    fluxus qubit resonator --length-um 8150 --kind lambda2 --claw-length-um 185.9 --finger-count 10 --finger-length-um 30.9 --cap-gap-um 4.1 --cap-width-um 10.9 --ground-spacing-um 4.1
    curl
    curl -s "$FLUXUS_API/resonator" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"length_um": 8150, "kind": "lambda2", "claw_length_um": 185.9, "finger_count": 10, "finger_length_um": 30.9, "cap_gap_um": 4.1, "cap_width_um": 10.9, "ground_spacing_um": 4.1}'
  5. Make Q1 flux-tunable

    A DC SQUID of 14.53 nH and 29.06 nH junctions and its tuning curve on 61 points.

    CLI
    fluxus qubit flux-sweep --cross-length-um 240 --claw-length-um 215 --ground-spacing-um 10 --length-um 3900 --coupling-length-um 225 --squid-lj1-nh 14.53 --squid-lj2-nh 29.06 --n-points 61
    curl
    curl -s "$FLUXUS_API/qem/cross/flux-sweep" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"cross_length_um": 240, "claw_length_um": 215, "ground_spacing_um": 10, "length_um": 3900, "coupling_length_um": 225, "squid": {"lj1_nh": 14.53, "lj2_nh": 29.06, "flux_bias_phi0": 0.0}, "n_points": 61}'
  6. Move the bias off the sweet spot

    Everything at a quarter flux quantum, with intervals.

    CLI
    fluxus qubit cross --cross-length-um 240 --claw-length-um 215 --ground-spacing-um 10 --length-um 3900 --coupling-length-um 225 --squid-lj1-nh 14.53 --squid-lj2-nh 29.06 --flux-bias-phi0 0.25 --intervals
    curl
    curl -s "$FLUXUS_API/qem/cross" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"cross_length_um": 240, "claw_length_um": 215, "ground_spacing_um": 10, "length_um": 3900, "coupling_length_um": 225, "intervals": true, "squid": {"lj1_nh": 14.53, "lj2_nh": 29.06, "flux_bias_phi0": 0.25}}'
  7. Couple two Q1-like qubits

    J, static ZZ and dressed levels for two transmons and a 1 fF capacitor. Every capacitance is your input.

    CLI
    fluxus qubit couple --c1-ff 123.65 --c2-ff 123.65 --cc-ff 1 --q1-lj-nh 9.686 --q2-lj-nh 10.6
    curl
    curl -s "$FLUXUS_API/coupling/pair" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"capacitive": {"c1_ff": 123.65, "c2_ff": 123.65, "cc_ff": 1, "qubit1": {"lj_nh": 9.686}, "qubit2": {"lj_nh": 10.6}}}'
  8. The tunable-coupler sweep

    Yan et al. 2018, Fig. 2(a): ZZ and coupling against coupler frequency, and the idle points.

    CLI
    fluxus qubit coupler-sweep --c1-ff 70 --c2-ff 72 --cc-ff 200 --c1c-ff 4 --c2c-ff 4.2 --c12-ff 0.1 --q1-f01-ghz 4 --q2-f01-ghz 4 --fc-min-ghz 4.5 --fc-max-ghz 7 --n-points 41
    curl
    curl -s "$FLUXUS_API/coupling/coupler-sweep" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"c1_ff": 70, "c2_ff": 72, "cc_ff": 200, "c1c_ff": 4, "c2c_ff": 4.2, "c12_ff": 0.1, "qubit1": {"f01_ghz": 4.0}, "qubit2": {"f01_ghz": 4.0}, "fc_min_ghz": 4.5, "fc_max_ghz": 7.0, "n_points": 41}'
  9. Any lumped circuit

    The trimon of Maurya et al. (arXiv:2603.04566, Appendix B design values): every mode's frequency and anharmonicity and the chi matrix.

    CLI
    fluxus qubit modes --matrix "46,21,4,21;21,30,21,3;4,21,53,21;21,3,21,36" --junction 0,1,ej=8.16 --junction 1,2,ej=8.16 --junction 2,3,ej=8.16 --junction 3,0,ej=8.16
    curl
    curl -s "$FLUXUS_API/coupling/modes" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"capacitance_ff": [[46, 21, 4, 21], [21, 30, 21, 3], [4, 21, 53, 21], [21, 3, 21, 36]], "convention": "branch", "labels": "normal", "junctions": [{"a": 0, "b": 1, "ej_ghz": 8.16}, {"a": 1, "b": 2, "ej_ghz": 8.16}, {"a": 2, "b": 3, "ej_ghz": 8.16}, {"a": 3, "b": 0, "ej_ghz": 8.16}]}'
  10. The next qubit from targets

    Ranked TransmonCross designs, each re-solved with the full chain, each carrying the exact /qem/cross body that reproduces it.

    CLI
    fluxus qubit inverse --f01-ghz 4.5 --anharmonicity-mhz -200 --fr-ghz 6.5 --json
    curl
    curl -s "$FLUXUS_API/inv/cross" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"f01_ghz": 4.5, "anharmonicity_mhz": -200, "fr_ghz": 6.5}'
  11. The junction for that Lj

    At your process's Jc (0.5 uA/um^2 is an example, not a process number).

    CLI
    fluxus qubit junction --lj-nh 10.755042613636363 --jc-ua-per-um2 0.5
    curl
    curl -s "$FLUXUS_API/junction" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"lj_nh": 10.755042613636363, "jc_ua_per_um2": 0.5}'
  12. GDS of the qubit cell

    Cross, claw and junction marker; the resonator is not drawn, and this is not a tape-out reticle. The route returns the file.

    CLI
    fluxus qubit gds --cross-length-um 240 --claw-length-um 215 --ground-spacing-um 10 --junction-lj-nh 9.686 --length-um 3900 --coupling-length-um 225 -o q1.gds
    curl
    curl -s "$FLUXUS_API/gds/cross" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"cross_length_um": 240, "claw_length_um": 215, "ground_spacing_um": 10, "junction_lj_nh": 9.686, "length_um": 3900, "coupling_length_um": 225}' -o q1.gds
  13. Frequency-collision yield

    A 127-qubit heavy-hex chip at a 12 MHz spread (your fab's number), seeded so it replays exactly.

    CLI
    fluxus qubit yield --n-qubits 127 --sigma-f-mhz 12 --n-trials 20000 --seed 1
    curl
    curl -s "$FLUXUS_API/yld" -H "Authorization: Bearer $COGITAN_API_KEY" \
      -H 'content-type: application/json' \
      -d '{"n_qubits": 127, "sigma_f_mhz": 12, "n_trials": 20000, "seed": 1}'

Generated from Fluxus 0.3.0 at commit b9aa57d on 2026-10-20 by python -m fluxus.docs_bundle.