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

QHFSSPyaedt now updates Ljs #955

Closed clarkmiyamoto closed 1 year ago

clarkmiyamoto commented 1 year ago

What are the issues this pull addresses (issue numbers / links)?

https://github.com/qiskit-community/qiskit-metal/issues/954

Did you add tests to cover your changes (yes/no)?

Yes- updated method test_design_get_list_of_tables_in_metadata in test_designs.py

Did you update the documentation accordingly (yes/no)?

No - not applicable. Changes are not exposed to front-end user / any function input-output.

Did you read the CONTRIBUTING document (yes/no)?

Yes

Summary

When calling QHFSSPyaedt.render_design() it now will update the Ljs in ANSYS.

To reduce confusion for the front-end user, I removed the QHFSSEigenmodePyaedt and QHFSSDrivenmodalPyaedt from qiskit_metal.config.py. Meaning when calling QComponent.default_options the user will know only to prompt options = dict(aedt_hfss_inductance = 10E-9)

Details and comments

zlatko-minev commented 1 year ago

Very nice, I assume you tested and hoping that it is backwards compatible.

clarkmiyamoto commented 1 year ago

Very nice, I assume you tested and hoping that it is backwards compatible.

Yes. It has the expected behavior in ANSYS.

In terms of backwards compatibility, I'm assuming you're talking about updates to config.py, it changes which renderers show

element_table_data = dict(
        path=dict(wire_bonds=False),
        junction=dict(inductance=default_options["Lj"],
                      capacitance=default_options["Cj"]),
        #resistance=default_options["_Rj"]),
    )

Implementing these should have no difference between Eigenmode and Drivenmodal as they are both within the pyAEDT HFSS object. But there's a difference between HFSS and Q3D, so Q3D still has its own renderer.

priti-ashvin-shah-ibm commented 1 year ago

@zlatko-minev , this was not to be hard-coded and added to junction table, but to set up junction table to have default and to add value by user when creating the design. Are you sure you want this?