Where do EJ and EC come from in the first place, and which other programs does a lab use before and after the two in this part?
The last two topics step back. The first follows a chip from its layout to the numbers EJ and EC, names the other open tools used on either side of the two programs, and says plainly what could not be established about which of them is used where. The second turns it round: given three measured numbers, find the circuit that makes them.
Pick the job from the list. The panel names the tool, says in a sentence why, links the tool’s own pages, and points to the topic of this course that teaches it (or says that none does). The list is short on purpose: it covers the jobs in the figure above.
Honest limits: the chooser is a signpost built from the tools’ own descriptions and papers, not a ranking. It does not know your problem; where two tools do the same job it names both.
The first thing to notice is where the numbers of this part come from. Topic 29 started from EJ and EC as if somebody handed them over. Somebody did: a chip designer, who got them from a drawing. The capacitor of a transmon is two metal pads separated by a gap, so its capacitance is a fact about shape; the junction is a thin oxide between two aluminium films, so its Josephson energy is a fact about the film and the area. Neither can be read off a formula for a real chip, because the electric field of one pad reaches the other pads, the resonator, the control line and the ground plane around it. The standard way to find it is to solve Maxwell’s equations on the layout, which is a finite-element calculation, and read the capacitance matrix and the frequencies of the modes out of the result.
Two ways to get from the fields to the circuit. One is to extract a capacitance matrix (how much charge sits on each electrode for a given voltage on each) and build a circuit of capacitors, inductors and junctions from it; EC follows from a diagonal element. The other, the energy-participation ratio method of Minev and co-authors, takes the electromagnetic eigenmodes of the layout with the junction replaced by a linear inductor, and computes for each mode how much of its energy is stored in the junction. That number, between zero and one, is all that is needed to write the quantum Hamiltonian, and it needs one simulation, however many junctions there are (arXiv:2010.00620; npj Quantum Information 7 (2021), DOI 10.1038/s41534-021-00461-8). Both routes end at the same place as the previous topics: a Hamiltonian with a few numbers in it.
The tools, by job. For the layout, Quantum Metal (the community project formerly called Qiskit Metal, started at IBM) and IQM’s KQCircuits, which sits on the KLayout drawing program. For the fields, the open-source Palace solver from the AWS Center for Quantum Computing, or the commercial packages Ansys HFSS and Sonnet; KQCircuits can write project files for HFSS, Q3D, Elmer and Sonnet. For the circuit and its levels, scqubits (this part), QuCAT from Delft, and SQcircuit from Stanford, which handles circuits of any layout. For time evolution, QuTiP (this part), Qiskit Dynamics from IBM, and dynamiqs from the company Alice & Bob, which runs on JAX and so can use a graphics card and compute gradients.
What this page does not claim. It would be natural to ask which of these a given company or university uses day to day. Most of that is not published, and we did not find a source that would let us rank the tools by use. What we can say, with a source for each, is who built what and what each tool’s authors say it is for; the table under “Where it actually matters” does exactly that. We can also say that a tool being on this list is not a recommendation over one that is not: this is the part of the field that is open source and documented well enough to learn from.
Capacitance to charging energy. The charging energy is the energy of one extra electron on the island, EC = e²/(2CΣ), where CΣ is the total capacitance from the island to everything else, including the junction’s own. Dividing by Planck’s constant gives a frequency. For CΣ = 80 fF this is EC/h = 242 MHz. In this convention (the one scqubits uses) the Hamiltonian of topic 29 is H = 4EC(n − ng)², where n counts Cooper pairs; the 4 is there because a pair carries charge 2e and (2e)²/2C = 4 · e²/2C. Papers differ on whether “EC” includes that factor, so check the definition before comparing numbers.
Critical current to Josephson energy. The junction’s two descriptions are its critical current Ic and its energy scale EJ, related by EJ = (Φ₀/2π) Ic with the flux quantum Φ₀ = h/2e. For Ic = 30 nA this is EJ/h = 14.9 GHz, and with the EC above EJ/EC = 61.5, in the transmon range of topic 29. Put into the transmon of that topic, these two numbers give a 0–1 frequency of 5.118 GHz and an anharmonicity of −274 MHz (the code below prints both).
Resistance to critical current. What a fabrication lab measures at room temperature is the junction’s resistance RN, not Ic. The Ambegaokar–Baratoff relation gives Ic = πΔ/(2eRN) at zero temperature, with Δ the superconducting gap of the film. Combining the two, EJ = hΔ/(8e²RN), so EJ/h = Δ/(8e²RN). Take Δ = 180 µeV, the size of the BCS value for bulk aluminium (1.76 kBTc with Tc near 1.2 K; thin films differ, so treat it as a round number) and RN = 10 kΩ; this gives EJ/h = 14.0 GHz. Two consequences follow from the algebra: EJ is inversely proportional to RN, so a 5% error in the resistance is a 5% error in EJ, and, because the qubit frequency goes roughly as the square root of EJ, about half as large an error in the frequency (for these numbers a 5% rise in EJ raises the 0–1 frequency by 2.6%, from a full diagonalisation); and a junction of twice the area has half the resistance and twice the EJ. Because RN can be measured at room temperature, the relation lets a resistance predict a frequency before the chip is cooled. It is the relation for an ideal tunnel junction at zero temperature; how far a real junction departs from it is an experimental question that this page does not try to answer.
Participation, in words. If a mode of the linearised layout keeps a fraction p of its energy in the junction, then p measures how much of the junction’s nonlinearity the mode inherits: a mode that lives mostly in the junction (p near 1) is strongly anharmonic and behaves as a qubit, and a mode that lives mostly in a resonator (p small) is nearly harmonic. The paper gives the exact expressions for the frequency shifts and the anharmonicities with several junctions and several modes; this page uses only the idea and does not reproduce the formulas.
Try it in Python. The code below does steps three and four: from a capacitance and a critical current, build the transmon, and read off its transition frequency and anharmonicity. The first two lines use only the constants of the SI (e and h are exact since 2019). Run on scqubits 4.3.1 with QuTiP 5.2.0, 25 October 2026:
import numpy as np
import scqubits as scq
scq.settings.PROGRESSBAR_DISABLED = True
e, h = 1.602176634e-19, 6.62607015e-34 # SI, exact values
phi0 = h / (2 * e) # flux quantum
C = 80e-15 # total capacitance of the island, 80 fF
Ic = 30e-9 # critical current, 30 nA
EC = e**2 / (2 * C) / h / 1e9 # charging energy, GHz
EJ = (phi0 / (2 * np.pi)) * Ic / h / 1e9 # Josephson energy, GHz
print(round(EC, 4), round(EJ, 3), round(EJ / EC, 1))
tmon = scq.Transmon(EJ=EJ, EC=EC, ng=0.0, ncut=30)
E = tmon.eigenvals(evals_count=3)
print(np.round(E - E[0], 4)) # 0, f01, f02
print(round(E[1] - E[0], 4), round((E[2] - E[1]) - (E[1] - E[0]), 4)) # f01 and the anharmonicity
0.2421 14.901 61.5
[0. 5.1178 9.9621]
5.1178 -0.2735
An open tool for each step, and who built it Every row below is stated in the tool’s own documentation or paper; none is a ranking. Check a tool’s page before you rely on it, since open-source projects change names and homes (Qiskit Metal is being renamed Quantum Metal as this is written).
| Step | Tool | What its authors say it is | Where it comes from |
|---|---|---|---|
| 1 Layout | Quantum Metal (formerly Qiskit Metal) | “An open-source framework for engineers and scientists to design superconducting quantum devices.” Apache 2.0; pip install quantum-metal; the import is still qiskit_metal. | Developed originally at IBM; now maintained by a community under the Quantum Device Consortium. |
| 1 Layout | KQCircuits | A Python library for automating the design of superconducting quantum circuits, built on the KLayout API; GPL-3.0. Exports to Ansys HFSS and Q3D (and pyEPR), Elmer and Sonnet. | IQM, with Aalto University. |
| 2 Fields | Palace | A parallel finite-element code for full-wave electromagnetics: eigenmode, driven frequency- and time-domain, and electrostatic and magnetostatic simulation for lumped-parameter extraction. Open source; announced in an AWS blog post of 22 February 2023. | AWS Center for Quantum Computing (Grimberg, Carson and Keller wrote the post). |
| 2 Fields | Ansys HFSS, Q3D; Sonnet; COMSOL | Commercial electromagnetic solvers. The open workflows around Palace report validating against COMSOL and Ansys (arXiv:2511.01220, SQDMetal). | Commercial vendors. |
| 3 Numbers | pyEPR | “Automated Python module for the design and quantization of Josephson quantum circuits”: takes a 3-D Ansys HFSS eigenmode simulation as input, and can also run from user-supplied frequencies and inductances. | Minev, Leghtas, Mundhada, Christakis, Pop and Devoret, npj Quantum Information 7, 131 (2021), arXiv:2010.00620. |
| 4 Levels | scqubits | Spectra, matrix elements, wavefunctions and a QuTiP interface for the common circuits (topics 36 and 37). | Groszkowski and Koch, Quantum 5, 583 (2021). |
| 4 Levels | QuCAT | Builds a superconducting circuit programmatically or graphically and computes its Hamiltonian, with dissipation rates and current-flow plots. | Gely and Steele (Delft), New J. Phys. 22, 013025 (2020). |
| 4 Levels | SQcircuit | Builds the quantised Hamiltonian of an arbitrary superconducting circuit from its description; uses NumPy, SciPy and QuTiP. | Rajabzadeh and co-authors (Stanford), Quantum 7, 1118 (2023). |
| 5 Dynamics | QuTiP | Quantum dynamics in Python; version 5 is described in arXiv:2412.04705 (Physics Reports 1153). | A community project; the version 5 paper lists Lambert and seventeen co-authors. |
| 5 Dynamics | Qiskit Dynamics | An open-source project for building, transforming and solving models of quantum systems in Qiskit; JAX is an optional array backend. Version 0.6.0 when checked. Qiskit’s own Pulse module was removed in Qiskit 2.0. | The Qiskit community. |
| 5 Dynamics | dynamiqs | A JAX library for the Schrödinger, Lindblad and stochastic master equations with a QuTiP-like interface, GPU execution and gradients with respect to system parameters. | Alice & Bob (Guilmin, Gautier, Bocquet, Genois). |
The honest point about the loop The arrow that goes back in the figure is the whole job. A lab does not draw a chip, simulate it once and believe the answer: it measures, finds that the model is a few percent off in a frequency, and asks which of the inputs (the junction resistance, the stray capacitance of the wiring, the Hamiltonian that left something out) is to blame. The next topic turns that into a game you can play.
Check yourself
A junction’s normal-state resistance is measured at room temperature. What does the Ambegaokar–Baratoff relation let you predict?
For an ideal tunnel junction at zero temperature I_c = πΔ/(2eR_N), so E_J = hΔ/(8e²R_N): 14.0 GHz for 180 µeV and 10 kΩ. E_C comes from the capacitance, and the relation says nothing about T1.
The tempting wrong answers.