{ "cells": [ { "cell_type": "markdown", "id": "8b818a75", "metadata": {}, "source": [ "# A.6 Hackathon exercise — South Korea 2020\n", "\n", "## Preparation" ] }, { "cell_type": "markdown", "id": "2ea2e480", "metadata": {}, "source": [ "[](https://colab.research.google.com/github/qiskit-community/qiskit-metal/blob/main/docs/circuit-examples/full-design-flow-examples/A.6-Hackathon-exercise-South-Korea-2020.ipynb)\n", "[](https://mybinder.org/v2/gh/qiskit-community/qiskit-metal/main?labpath=docs%2Fcircuit-examples%2Ffull-design-flow-examples%2FA.6-Hackathon-exercise-South-Korea-2020.ipynb)\n", "\n", "> 💡 **Running in Colab or Binder?** Skip the desktop GUI install — the cell below grabs the lite (no-Qt) wheel, and `qm.gui(design)` auto-picks an inline matplotlib viewer with the same API as the desktop `MetalGUI`." ] }, { "cell_type": "markdown", "id": "simulation-pathways", "metadata": {}, "source": [ "> 🧭 **Other simulation pathways.** This notebook uses Ansys, which needs a license. Without one, the same kind of result can come from the open-source ElmerFEM path for capacitance (tutorial 4.19) or the pip-installable gmsh + scikit-fem solver for eigenmodes, couplings and capacitance (tutorials 4.43–4.45); AWS Palace is available through SQDMetal, with a native integration in progress. [Simulation pathways](https://qiskit-community.github.io/qiskit-metal/simulation-pathways.html) summarizes what each solver computes, how to install it, and which tutorials use it." ] }, { "cell_type": "code", "execution_count": null, "id": "3896fec5", "metadata": {}, "outputs": [], "source": [ "# In Colab / Binder, uncomment to install Quantum Metal (lite, no Qt).\n", "# Locally you should already have it via `pip install quantum-metal` or\n", "# `pip install 'quantum-metal[gui]'` for the desktop GUI.\n", "# !pip install -q quantum-metal" ] }, { "cell_type": "markdown", "id": "186ba0ca", "metadata": {}, "source": [ "> 💡 **Using this tutorial without the Qt GUI**\n", "> \n", "> This tutorial uses the desktop `MetalGUI`. To follow along on Colab, Binder, JupyterHub, or any environment where Qt isn't available, **replace any `gui.rebuild()` / `gui.screenshot()` call with `qm.view(design)`** — it renders the design to a matplotlib `Figure` you can display inline or save with `fig.savefig(...)`.\n", "> \n", "> See [1.1 Quick start](https://qiskit-community.github.io/qiskit-metal/tut/1-Overview/1.1-Quick-start.html) for a complete runnable walkthrough and [`docs/headless-usage.rst`](https://qiskit-community.github.io/qiskit-metal/headless-usage.html) for the full reference." ] }, { "cell_type": "markdown", "id": "4123e509", "metadata": {}, "source": [ "*Make sure to have the right kernel selected!*" ] }, { "cell_type": "code", "execution_count": 2, "id": "a7df1cf7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
| \n", " | bus_connector_pad_Q1 | \n", "cl_metal_Q1 | \n", "ground_main_plane | \n", "pad_bot_Q1 | \n", "pad_top_Q1 | \n", "readout_connector_pad_Q1 | \n", "
|---|---|---|---|---|---|---|
| bus_connector_pad_Q1 | \n", "50.94746 | \n", "-0.01089 | \n", "-34.51380 | \n", "-13.78934 | \n", "-1.64509 | \n", "-0.13815 | \n", "
| cl_metal_Q1 | \n", "-0.01089 | \n", "16.45248 | \n", "-15.95762 | \n", "-0.22648 | \n", "-0.13072 | \n", "-0.05207 | \n", "
| ground_main_plane | \n", "-34.51380 | \n", "-15.95762 | \n", "223.34149 | \n", "-39.67813 | \n", "-39.72822 | \n", "-34.46752 | \n", "
| pad_bot_Q1 | \n", "-13.78934 | \n", "-0.22648 | \n", "-39.67813 | \n", "90.65573 | \n", "-32.51137 | \n", "-1.65418 | \n", "
| pad_top_Q1 | \n", "-1.64509 | \n", "-0.13072 | \n", "-39.72822 | \n", "-32.51137 | \n", "90.63398 | \n", "-13.78691 | \n", "
| readout_connector_pad_Q1 | \n", "-0.13815 | \n", "-0.05207 | \n", "-34.46752 | \n", "-1.65418 | \n", "-13.78691 | \n", "50.95160 | \n", "
| \n", " | fQ | \n", "EC | \n", "EJ | \n", "alpha | \n", "dispersion | \n", "gbus | \n", "chi_in_MHz | \n", "χr MHz | \n", "gr MHz | \n", "
|---|---|---|---|---|---|---|---|---|---|
| 1 | \n", "5.433205 | \n", "363.111929 | \n", "11.671114 | \n", "-437.282573 | \n", "412.984875 | \n", "[-83.73617714546809, 1.1128526337938494, 0.021... | \n", "[-1.994068841431115, -7.989263976338063e-05, -... | \n", "1.994069 | \n", "83.736177 | \n", "
| 2 | \n", "5.359559 | \n", "352.526273 | \n", "11.671114 | \n", "-422.910894 | \n", "328.817583 | \n", "[-85.55836719637072, 1.2075255039009807, 0.011... | \n", "[-1.8712048806620007, -9.333269933033329e-05, ... | \n", "1.871205 | \n", "85.558367 | \n", "
| 3 | \n", "5.289608 | \n", "342.642825 | \n", "11.671114 | \n", "-409.587339 | \n", "263.228965 | \n", "[-86.58355838924892, 1.2287794333424544, 0.009... | \n", "[-1.7356985051848983, -9.594339235372308e-05, ... | \n", "1.735699 | \n", "86.583558 | \n", "
| 4 | \n", "5.225892 | \n", "333.78405 | \n", "11.671114 | \n", "-397.721712 | \n", "213.807793 | \n", "[-86.0689723014061, 1.2277846691044672, 0.0100... | \n", "[-1.5700613626258655, -9.516083595729247e-05, ... | \n", "1.570061 | \n", "86.068972 | \n", "
| 5 | \n", "5.181793 | \n", "327.732575 | \n", "11.671114 | \n", "-389.657353 | \n", "184.582809 | \n", "[-86.93865718651006, 1.2380032996345856, 0.010... | \n", "[-1.5083189493249503, -9.63170258686212e-05, -... | \n", "1.508319 | \n", "86.938657 | \n", "
| 6 | \n", "5.143493 | \n", "322.529414 | \n", "11.671114 | \n", "-382.749903 | \n", "162.123297 | \n", "[-87.53699141755507, 1.2635437523017465, 0.010... | \n", "[-1.4520753068740948, -9.994380459904714e-05, ... | \n", "1.452075 | \n", "87.536991 | \n", "
| 7 | \n", "5.122549 | \n", "319.704668 | \n", "11.671114 | \n", "-379.010078 | \n", "150.892951 | \n", "[-88.90295086829036, 1.2722707773971214, 0.010... | \n", "[-1.4563031695757316, -0.00010111569119596609,... | \n", "1.456303 | \n", "88.902951 | \n", "
| 8 | \n", "5.103385 | \n", "317.132734 | \n", "11.671114 | \n", "-375.611156 | \n", "141.225627 | \n", "[-89.0288019265413, 1.2787672658122802, 0.0100... | \n", "[-1.4235997603008703, -0.00010195477935975125,... | \n", "1.423600 | \n", "89.028802 | \n", "
| 9 | \n", "5.092977 | \n", "315.741024 | \n", "11.671114 | \n", "-373.774404 | \n", "136.208482 | \n", "[-89.58507857804825, 1.2841634593028393, 0.010... | \n", "[-1.421663253364802, -0.00010271006641627329, ... | \n", "1.421663 | \n", "89.585079 | \n", "
| 10 | \n", "5.084037 | \n", "314.548466 | \n", "11.671114 | \n", "-372.201855 | \n", "132.025608 | \n", "[-89.75013779296071, 1.2893744190101681, 0.010... | \n", "[-1.4101109966641798, -0.00010345292930883918,... | \n", "1.410111 | \n", "89.750138 | \n", "
| 11 | \n", "5.078996 | \n", "313.877183 | \n", "11.671114 | \n", "-371.317232 | \n", "129.717505 | \n", "[-90.3167187695716, 1.295820610268069, 0.01029... | \n", "[-1.4184853890828102, -0.00010443741877410954,... | \n", "1.418485 | \n", "90.316719 | \n", "
| 12 | \n", "5.072608 | \n", "313.027676 | \n", "11.671114 | \n", "-370.198317 | \n", "126.843837 | \n", "[-90.53023682621938, 1.2988231682250144, 0.010... | \n", "[-1.413230425615815, -0.00010485521159682165, ... | \n", "1.413230 | \n", "90.530237 | \n", "
| 13 | \n", "5.068138 | \n", "312.434126 | \n", "11.671114 | \n", "-369.41691 | \n", "124.866964 | \n", "[-90.71509224226395, 1.3013751515724767, 0.010... | \n", "[-1.4106702883237312, -0.00010522084928401761,... | \n", "1.410670 | \n", "90.715092 | \n", "
| 14 | \n", "5.065364 | \n", "312.066053 | \n", "11.671114 | \n", "-368.932498 | \n", "123.653727 | \n", "[-90.92467056390035, 1.3048977251333183, 0.010... | \n", "[-1.4120265412685657, -0.00010576206087240421,... | \n", "1.412027 | \n", "90.924671 | \n", "
| 15 | \n", "5.06157 | \n", "311.563069 | \n", "11.671114 | \n", "-368.270728 | \n", "122.011358 | \n", "[-91.03296800373701, 1.305996499030395, 0.0102... | \n", "[-1.4083417525016215, -0.00010590030281529206,... | \n", "1.408342 | \n", "91.032968 | \n", "
Error:
| Lj1 | \n", "14 | \n", "
|---|---|
| eigenmode | \n", "\n", " |
| 0 | \n", "5047.47 | \n", "
| 1 | \n", "5480.40 | \n", "
| \n", " | \n", " | 0 | \n", "1 | \n", "
|---|---|---|---|
| Lj1 | \n", "\n", " | \n", " | \n", " |
| 14 | \n", "0 | \n", "344.93 | \n", "0.70 | \n", "
| 1 | \n", "0.70 | \n", "341.29 | \n", "