-
Notifications
You must be signed in to change notification settings - Fork 5
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
Conversation
e098d98
to
c2e7fb6
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
Documentation preview is live here (until this is merged). |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bounding simulation box?
# 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 |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.
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.