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

LOM - Capacitive matrix not right size #1003

Open
FactOxx opened this issue Nov 28, 2024 · 0 comments
Open

LOM - Capacitive matrix not right size #1003

FactOxx opened this issue Nov 28, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@FactOxx
Copy link

FactOxx commented Nov 28, 2024

Information

  • Qiskit Metal version: 0.1.5
  • Python version: 3.10
  • Operating system: Windows 11

What is the current behavior?

while running the simulation on ansys, it gives the error of "{
"name": "ValueError",
"message": "Capacitance matrix is not the right size",
"stack": "---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[33], line 4
1 c1.setup.junctions=Dict(Lj=10, Cj=0)
----> 4 c1.run_lom()
5 c1.lumped_oscillator_all

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\qiskit_metal\analyses\quantization\lumped_oscillator_model.py:171, in LOManalysis.run_lom(self)
169 all_res = {}
170 for idx_cmat, df_cmat in self.sim.capacitance_all_passes.items():
--> 171 res = extract_transmon_coupled_Noscillator(
172 df_cmat,
173 ic_amps,
174 cj,
175 num_cpads,
176 fbus,
177 fread,
178 g_scale=1,
179 print_info=bool(
180 idx_cmat == len(self.sim.capacitance_all_passes)))
181 all_res[idx_cmat] = res
182 self.lumped_oscillator = all_res[len(self.sim.capacitance_all_passes)]

File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\qiskit_metal\analyses\quantization\lumped_capacitive.py:198, in extract_transmon_coupled_Noscillator(capMatrix, Ic, CJ, N, fb, fr, res_L4_corr, g_scale, print_info)
196 raise ValueError('N must positive')
197 if len(capMatrix) != (N + 3):
--> 198 raise ValueError('Capacitance matrix is not the right size')
200 # make list of angular frequencies of resonators
201 wr = np.zeros(N) # angular freq of resonators (GHz-rad)

ValueError: Capacitance matrix is not the right size"
}"

Steps to reproduce the problem

Run this simple code for the LOM analysis import qiskit_metal as metal
from qiskit_metal import designs, draw
from qiskit_metal import MetalGUI, Dict, Headings
import pyEPR as epr

design = designs.DesignPlanar({}, True)
design.chips.main.size['size_x'] = '2mm'
design.chips.main.size['size_y'] = '2mm'

gui = MetalGUI(design)

from qiskit_metal.qlibrary.tlines.meandered import RouteMeander
from qiskit_metal.qlibrary.terminations.open_to_ground import OpenToGround
from qiskit_metal.qlibrary.terminations.short_to_ground import ShortToGround

design.delete_all_components()

otg = OpenToGround(design, 'open_to_ground', options=dict(pos_x='1.25mm', pos_y='0um', orientation='0'))
stg = ShortToGround(design, 'short_to_ground', options=dict(pos_x='-1.25mm', pos_y='0um', orientation='180'))
rt_meander = RouteMeander(design, 'readout', Dict(
total_length='6 mm',
hfss_wire_bonds = True,
fillet='90 um',
lead = dict(start_straight='100um'),
pin_inputs=Dict(
start_pin=Dict(component='short_to_ground', pin='short'),
end_pin=Dict(component='open_to_ground', pin='open')), ))

gui.rebuild()
gui.autoscale()

gui.screenshot()

from qiskit_metal.analyses.quantization import LOManalysis
c1 = LOManalysis(design, "q3d")

q3d = c1.sim.renderer
q3d.start()

q3d.activate_ansys_design("TransmonQubit_q3d", 'capacitive')

q3d.render_design(['readout'], [])
q3d.analyze_setup("Setup")

c1.sim.capacitance_matrix, c1.sim.units = q3d.get_capacitance_matrix()
c1.sim.capacitance_all_passes, _ = q3d.get_capacitance_all_passes()
print(c1.sim.capacitance_matrix)

c1.run_lom()
print(c1.lumped_oscillator_all)

c1.plot_convergence()
c1.plot_convergence_chi()

Close the simulation renderer

c1.sim.close()

What is the expected behavior?

I run with the same setup an EPR analysis which works just fine. The capacitative matrix should be 22 or more but it gives only a 11 matrix.

Suggested solutions

I am sorry for my incompetence but it is my first project on Qiskit metal and it gives the same error for the trasmon cross. So in order to better understand how the simulation works I tried a simpler setup, but still no results.

@FactOxx FactOxx added the bug Something isn't working label Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant