Single transmon with read-out resonator from DeviceLayout.jl
The files for this example can be found in the examples/transmon/ directory of the Palace source code. The configuration and mesh files were generated with DeviceLayout.jl.
In this example, we simulate a superconducting transmon qubit coupled to a readout resonator, a fundamental building block of superconducting quantum processors.
The configuration and mesh for this example are generated with DeviceLayout.jl, a Julia package for computer-aided design of quantum integrated circuits. DeviceLayout.jl supports the generation of 2D layouts and 3D models using both low-level geometry interfaces and high-level schematic-driven workflows, enabling automated design and optimization of quantum devices. For a detailed tutorial on using DeviceLayout.jl to generate this geometry, see this example.
Overview and Configuration
The system consists of three main components: a transmon qubit, a quarter-wave coplanar waveguide resonator, and a feedline for signal input and output. The transmon is capacitively coupled to the resonator through a "claw" structure that extends around the transmon cutout, while the resonator couples to the feedline to enable readout of the qubit state.
The image below shows the meshed geometry of the system. The metal structures are fabricated on a dielectric substrate and enclosed within a simulation box filled with vacuum to model the actual device environment.
The metal conductors are modeled as perfect electric conductors (PEC), with three lumped ports defining the electromagnetic boundary conditions. Two resistive ports at the feedline ends represent 50-Ohm terminations to the external world, while a third port models the Josephson junction as a linearized LC circuit with both inductance and capacitance. The substrate is sapphire, chosen for its low dielectric loss and well-characterized anisotropic material properties (see, config["Domains"]["Materials"] for more information on how to configure anisotropic materials). config["Boundaries"]["Absorbing"] boundary conditions on the external boundaries of the simulation box capture electromagnetic radiation and prevent artificial reflections.
The JSON configuration file and mesh are generated automatically by the SingleTransmon module in DeviceLayout.jl. This module demonstrates how to programmatically assign domain and boundary attributes from a schematic design, enabling semi-automated configuration generation for electromagnetic simulations.
The system design is fully parametric, allowing customization of all geometric and material properties. Physical details can be modified by passing keyword arguments to the generate_transmon function in the transmon.jl file. To see the available design parameters, run the following command in the transmon example directory:
julia --project -E 'include("transmon.jl"); @doc SingleTransmon.single_transmon'This displays the available design parameters, including geometric dimensions and processing options:
single_transmon(
w_shield=2μm,
claw_gap=6μm,
w_claw=34μm,
l_claw=121μm,
cap_width=24μm,
cap_length=620μm,
cap_gap=30μm,
n_meander_turns=5,
hanger_length=500μm,
bend_radius=50μm,
save_mesh::Bool=false,
save_gds::Bool=false
)Beyond the physical dimensions, the save_mesh and save_gds options enable output of a mesh file for simulation and a GDS file for fabrication, respectively. This integration between design, simulation, and fabrication workflows demonstrates the power of automated quantum device design tools.
We perform an eigenmode analysis to determine the system's resonant frequencies and quality factors. This simulation identifies the two fundamental modes corresponding to the transmon and readout resonator, providing essential information for device characterization including mode frequencies, decay rates, and electromagnetic field distributions. Such analysis is crucial in the quantum device design process, as it informs design decisions and enables optimization before fabrication. The DeviceLayout.jl example extends this approach by demonstrating an automated optimization loop that tunes device parameters to achieve target frequencies.
Results
The simulation completes in approximately 10 minutes on a modern computer using 6 CPU cores.
The primary results are the eigenfrequencies and quality factors, stored in the eig.csv file:
m, Re{f} (GHz), Im{f} (GHz), Q, Error (Bkwd.), Error (Abs.)
1.00e+00, +4.099115457610e+00, +1.104722583251e-04, +1.855269151390e+04, +3.275563953950e-14, +1.108615314934e-08
2.00e+00, +5.603265962190e+00, +3.541371834327e-04, +7.911151716785e+03, +3.490195627919e-14, +1.181261238013e-08The columns represent the mode number, real and imaginary parts of the eigenfrequency, and computed quality factor, respectively. The results successfully identify two distinct eigenmodes with predominantly real frequencies and small imaginary components representing dissipation.
To verify the physical nature of these modes, we can examine the electromagnetic field distributions. Below, we embed an interactive visualization of the magnetic energy density of the second eigenmode. This visualization leverages GLVis. For a quick introduction to this tool, refer to the box below. We encourage you to play with the visualization and inspect the mesh, looking at how DeviceLayout refines certain regions of interest (e.g., the claw).
GLVis provides fast visualization of Palace output when config["Problem"]["Output"]["OutputFormats"]["GridFunction"] is enabled. While less quantitative than ParaView, GLVis excels at rapid solution inspection and is particularly well-suited for interactive exploration. The interface is primarily keyboard-driven with extensive keybindings.
Essential commands include:
icut through the solutionx/X,y/Yrotate the cutting planez/Ztranslate the cutting planeRcycle through 2D viewpointscdisplay the colorbarmshow the meshright click + mouse movementzoom in/outcenter click + mouse movementtranslate viewpoint
The ParaView visualization below shows the magnetic energy density distribution, providing clear confirmation that the computed modes correspond to the expected transmon and resonator physics.
Additional simulation outputs provide detailed characterization of the system. The port-Q.csv file contains port coupling rates and quality factors for the resistive terminations at the feedline ends, while port-EPR.csv reports energy participation ratios for inductive lumped elements (the Josephson junction). The domain-E.csv file provides bulk dielectric loss and participation ratios for the sapphire substrate, enabling comprehensive analysis of loss mechanisms throughout the device.
Balancing Speed and Accuracy: Solver Order Considerations
While this simulation provides accurate results, computational time can be significantly reduced by adjusting the finite element order. Changing from second order to first order decreases runtime by a factor of 30, though this comes at the cost of reduced accuracy. This trade-off can be controlled by modifying the solver order in the JSON configuration file or by passing the solver_order parameter to the generate_transmon function.
The error-indicators.csv file provides quantitative measures of numerical accuracy (see, the reference section on error estimation). For a second-order solution:
Norm, Minimum, Maximum, Mean
+4.690747555093e-01, +2.516786902262e-07, +4.777198409619e-02, +8.064975469561e-04These error indicators provide metrics for estimating numerical accuracy across the computational domain, with the Norm column representing a measure related to the H(curl) seminorm of the solution error. When reducing to first order, the error norm increases by a factor of two, and the computed eigenfrequencies deviate noticeably from the converged values. While first-order simulations are valuable for rapid prototyping and debugging, second order (or higher) is generally recommended for accurate results.