Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve single transmon example #36

Merged
merged 2 commits into from
Mar 14, 2025
Merged

Improve single transmon example #36

merged 2 commits into from
Mar 14, 2025

Conversation

gpeairs
Copy link
Contributor

@gpeairs gpeairs commented Mar 13, 2025

Adds a demo using the CAD + simulation pipeline to run closed loop optimization. To do this, I had to add mesh sizing to the transmon and resonator components to ensure mesh/solver order 2 was enough to get optimization to converge to target frequencies within 1% without any refinement. Also cleaned up the text and code a bit.

@gpeairs gpeairs force-pushed the gp/singletransmon branch from e098d98 to c2e7fb6 Compare March 13, 2025 23:05
Copy link

codecov bot commented Mar 13, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@gpeairs
Copy link
Contributor Author

gpeairs commented Mar 14, 2025

Documentation preview is live here (until this is merged).

@gpeairs gpeairs requested a review from hughcars March 14, 2025 15:36
Copy link
Contributor

@hughcars hughcars left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Minor thing about describing the proximity, but otherwise all good.

qubit_node = add_node!(g, qubit)
rres_node = fuse!(g, qubit_node, rres)
# Equivalent to `fuse!(g, qubit_node=>:readout, rres=>:qubit)`
# because `matching_hooks` was implemented for that component pai
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pair

@@ -120,8 +137,11 @@ function single_transmon(;
chip = centered(Rectangle(substrate_x, substrate_y), on_pt=center_xyz)
sim_area = centered(Rectangle(substrate_x, substrate_y), on_pt=center_xyz)

# Define bounds for bound simulation box
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bounding simulation box?

Comment on lines 138 to 139
# This component creates narrow regions defined by the gap between it and others
# For now we should explicitly set mesh sizing since meshing doesn't use proximity
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe drop the "for now" as supporting proximity would be complicated, so we don't want to give the impression we'll definitely be doing it at some point.


- `solver_order = 2`: Finite element order (degree) for the solver. Palace supports arbitrary
high-order spaces.
- `mesh_order = 2`: Element order for the mesh.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe polynomial order used to represent the element geometries in the mesh.

@gpeairs gpeairs merged commit a832fb7 into main Mar 14, 2025
5 checks passed
@gpeairs gpeairs deleted the gp/singletransmon branch March 14, 2025 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants