Build a circuit
Connect junctions, linear components, subcircuits, scattering models, and transmission lines.
Harmonic balance and transient simulation of Josephson circuits. Calculate gain, frequency conversion, stability, noise, and sensitivities.
JosephsonCircuits.jl simulates nonlinear microwave circuits containing Josephson junctions. It is designed for devices such as Josephson parametric amplifiers and traveling-wave amplifiers with thousands of components.
Use harmonic balance for a steady driven state and its small-signal response. Use transient simulation for pump turn-on, pulses, and drives with too many independent tones for a practical harmonic grid. Both analyses use the same circuit description, subject to the component restrictions.
The noise calculations propagate small fluctuations about a classical operating point or trajectory. They describe Gaussian quantum noise; they do not evolve the full quantum state of a nonlinear circuit.
In a Julia environment, install the registered release with:
using Pkg
Pkg.add("JosephsonCircuits")Then follow the first calculation. The plotting examples also need Plots; examples using external solvers or WRspice list their additional dependencies.
The version selector distinguishes the released manual from development versions. Development documentation can describe APIs that are not yet in the registered release. To use the current development branch:
using Pkg
Pkg.add(name = "JosephsonCircuits", rev = "main")If an example does not match your installation, check Pkg.status() and VERSION first. Include those values and a minimal reproducer in a bug report. See the migration guide for the changes since v0.5.4.
The quickstart builds a one-port JPA, solves its pumped operating point, and reads its reflection gain. It also shows how to apply the same pump in time, including the Fourier-amplitude convention.
| Task | Start here |
|---|---|
| Run a first simulation | Quickstart |
| Check units or normalization | Conventions |
| Define components and connections | Circuits |
| Include measured data or a fitted amplifier | Scattering blocks |
| Find a driven operating point and gain | Harmonic balance |
| Test temporal stability of a driven state | Harmonic-balance stability |
| Warm ports, a readout chain's efficiency, the noise reaching a qubit | Noise at the ports |
| Simulate pulses | Transient simulation |
| Calculate fluctuations in temporal modes | Quantum noise in time |
| Reuse work or run on a GPU | Performance |
| Supply another numerical solver | Using other solvers |
| Understand the equations and algorithms | HB theory, transient theory |
Nonlinear steady states with one or more strong drive tones.
Small-signal scattering, frequency conversion, quantum efficiency, and sensitivities about a driven state.
Temporal stability poles about a driven state, with method-specific limits and convergence checks in the stability guide.
Linear circuit responses, and the circuit matrices with the component values left as Symbolics expressions (symbolicmatrices).
Transient trajectories, their tangent and adjoint responses, and noise in selected temporal modes.
The examples include comparisons with WRspice. Reference 6 below describes comparisons of the frequency-domain solver with ADS and Fourier analysis of WRspice simulations.
We welcome contributions in the form of issues/bug reports or pull requests. This project uses the MIT open source license. You retain the copyright to any code you contribute.
Andrew J. Kerman "Efficient numerical simulation of complex Josephson quantum circuits" arXiv:2010.14929 (2020)
Jiří Vlach and Kishore Singhal "Computer Methods for Circuit Analysis and Design" 2nd edition, Springer New York, NY (1993)
Stephen A. Maas "Nonlinear Microwave and RF Circuits" 2nd edition, Artech House (1997)
José Carlos Pedro, David E. Root, Jianjun Xu, and Luís Cótimos Nunes. "Nonlinear Circuit Simulation and Modeling: Fundamentals for Microwave Design" The Cambridge RF and Microwave Engineering Series, Cambridge University Press (2018)
David E. Root, Jan Verspecht, Jason Horn, and Mihai Marcu. "X-Parameters: Characterization, Modeling, and Design of Nonlinear RF and Microwave Components" The Cambridge RF and microwave engineering series, Cambridge University Press (2013)
Kaidong Peng, Rick Poore, Philip Krantz, David E. Root, and Kevin P. O'Brien "X-parameter based design and simulation of Josephson traveling-wave parametric amplifiers for quantum computing applications" IEEE International Conference on Quantum Computing & Engineering (QCE22) (2022)
The motivation for developing this package is to simulate the gain and noise performance of ultra low noise amplifiers for quantum computing applications such as the Josephson traveling-wave parametric amplifier, which have thousands of linear and nonlinear circuit elements.
We prioritize speed (including compile time and time to first use), simplicity, and scalability.
Xyce.jl provides a wrapper for Xyce, the open source parallel circuit simulator from Sandia National Laboratories which can perform time domain and harmonic balance method simulations.
NgSpice.jl and LTspice.jl provide wrappers for NgSpice and LTspice, respectively.
ModelingToolkit.jl supports time domain circuit simulations from scratch and using their standard library
ACME.jl simulates electrical circuits in the time domain with an emphasis on audio effect circuits.
Cedar EDA is a Julia-based commercial cloud service for circuit simulations.
Keysight ADS, Cadence AWR, Cadence Spectre RF, and Qucs are capable of time and frequency domain analysis of nonlinear circuits. WRSPICE performs time domain simulations of Josephson junction containing circuits and frequency domain simulations of linear circuits.
We gratefully acknowledge funding from the AWS Center for Quantum Computing and the MIT Center for Quantum Engineering (CQE).