qiskit-community / qiskit-metal

Quantum Hardware Design. Open-source project for engineers and scientists to design superconducting quantum devices with ease.
https://qiskit-community.github.io/qiskit-metal/
Apache License 2.0
270 stars 201 forks source link

Error when running qiskit-metal\docs\tut\4-Analysis\4.02-Eigenmode-and-EPR.ipynb #932

Closed ZakEspley closed 1 year ago

ZakEspley commented 1 year ago

Information

What is the current behavior?

I am running the Eigenmode demo from qiskit-metal\docs\tut\4-Analysis\4.02-Eigenmode-and-EPR.ipynb. I am using a new installation of Ansys Electronics Desktop 2022R1. When I run the notebook from a fresh clean kernel I get an error on the cell with

eig_qb.sim.run(name="Qbit", components=['Q1'], open_terminations=[], box_plus_buffer = False)
eig_qb.sim.plot_convergences()

The output looks like:

---------------------------------------------------------------------------
com_error                                 Traceback (most recent call last)
Cell In[17], line 1
----> 1 eig_qb.sim.run(name="Qbit", components=['Q1'], open_terminations=[], box_plus_buffer = False)
      2 eig_qb.sim.plot_convergences()

File d:\projects\qiskit-metal\qiskit_metal\analyses\core\simulation.py:203, in QSimulation.run(self, *args, **kwargs)
    199 def run(self, *args, **kwargs):
    200     """Alias for run_sim() necessary to implement super-class method, while
    201     preventing method name collision when sim and non-sim QAnalysis classes are inherited.
    202     """
--> 203     self.run_sim(*args, **kwargs)

File d:\projects\qiskit-metal\qiskit_metal\analyses\simulation\eigenmode.py:141, in EigenmodeSim.run_sim(self, name, components, open_terminations, port_list, jj_to_port, ignored_jjs, box_plus_buffer)
    129 vars_to_initialize = self.setup.vars
    130 renderer_design_name = self._render(
    131     name=name,
    132     solution_type='eigenmode',
   (...)
    138     box_plus_buffer=box_plus_buffer,
    139     vars_to_initialize=vars_to_initialize)
--> 141 self._analyze()
    142 return renderer_design_name, self.sim_setup_name

File d:\projects\qiskit-metal\qiskit_metal\analyses\simulation\eigenmode.py:81, in EigenmodeSim._analyze(self)
     75 """Executes the analysis step of the Run. First it initializes the renderer setup
     76 to prepare for eignemode analysis, then it executes it. Finally it recovers the
     77 output of the analysis and stores it in self.convergence_t and self.convergence_f.
     78 """
     79 self.sim_setup_name = self.renderer.initialize_eigenmode(**self.setup)
---> 81 self.renderer.analyze_setup(self.sim_setup_name)
     82 self.compute_convergences()

File d:\projects\qiskit-metal\qiskit_metal\renderers\renderer_ansys\hfss_renderer.py:845, in QHFSSRenderer.analyze_setup(self, setup_name)
    843 if self.pinfo:
    844     setup = self.pinfo.get_setup(setup_name)
--> 845     setup.analyze(setup_name)

File ~\Anaconda3\envs\qiskit\Lib\site-packages\pyEPR\ansys.py:1065, in HfssSetup.analyze(self, name)
   1063     name = self.name
   1064 logger.info(f'Analyzing setup {name}')
-> 1065 return self.parent._design.Analyze(name)

File <COMObject GetDesign>:2, in Analyze(self, simulationName)

com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024349), None)

With some sort of com_error.

Steps to reproduce the problem

Install Qiskit following https://qiskit.org/documentation/metal/installation.html Copy the qiskit-metal\docs\tut\4-Analysis\4.02-Eigenmode-and-EPR.ipynb to your project. Run jupyter lab with the qiskit kernel and try to run this notebook.

What is the expected behavior?

That it would run the analysis in HFSS and return it to the jupyter notebook.

Suggested solutions

I am not sure.

ZakEspley commented 1 year ago

It turns out was a licensing issue with Ansys. Once I restarted my computer it was able to connect to the correct licenses and all was well.