Update ansys_simulator.py, had bug in simulate()#6
Closed
andrekuo wants to merge 1 commit intoLFL-Lab:masterfrom
andrekuo:patch-1
Closed
Update ansys_simulator.py, had bug in simulate()#6andrekuo wants to merge 1 commit intoLFL-Lab:masterfrom andrekuo:patch-1
andrekuo wants to merge 1 commit intoLFL-Lab:masterfrom
andrekuo:patch-1
Conversation
shanto268
added a commit
to shanto268/SQuADDS
that referenced
this pull request
Apr 19, 2026
Address remaining Copilot review comments: - ansys_simulator.update_simulation_setup: guard the update loop against non-dict / missing payloads with the same checks already used in the discovery loop (LFL-Lab#5). - drivenmodal/ports._build_port_spec: validate component / pin / metadata before constructing the spec and drop the now-redundant Mapping recheck (LFL-Lab#6). - drivenmodal/qubit_admittance.reduce_terminated_port_admittance: treat Z=0 terminations as shorts (no extra Schur term) instead of opens, and collapse to Y_tt when every load is shorted (LFL-Lab#4). - utils_ansys / drivenmodal/design: factor a defensive _resolve_material helper that tries checkifmaterialexists first and only mutates objects that actually expose permittivity / dielectric_loss_tangent, so PyAEDT versions where exists_material returns a bool no longer crash on silicon.permittivity assignment (#1, #2, LFL-Lab#3, LFL-Lab#7). Add regression tests covering the boolean-returning material lookup path, zero-ohm terminated-port reduction, port-spec validation errors, and skipped non-dict setup payloads. Expand the 0.4.4 release notes so the driven-modal HFSS work is documented in proportion to its scope: dedicated sections for the new squadds.simulations.drivenmodal subpackage and exports, the AnsysSimulator hardening (non-dict / EOFError / ASCII-safe output / live-renderer material patching), the new tutorial scripts and docsite notebooks, the scikit-rf runtime dependency, the find_closest / QubitCavity / pyEPR bug fixes, and explicit backwards-compatibility notes for the start_straight default change and the now-actually-applied meander fillet clamp. Made-with: Cursor
shanto268
added a commit
that referenced
this pull request
Apr 21, 2026
* Automatically update README.md with latest contributors - Thu Jan 29 00:16:27 UTC 2026 * refactor: establish test baseline and modular sweep helpers * refactor: extract database catalog and selection helpers * refactor: isolate contributor environment and HF dataset helpers * refactor: extract analyzer search and enrichment helpers * refactor: isolate github contribution helper functions * refactor: extract qubit-cavity merge helper * refactor: extract analyzer plotting and simulation normalization helpers * refactor: extract contributor validation and half-wave db helpers * refactor: extract database views, state, and contributor file helpers * refactor: modularize core and simulation utility layers * chore: keep README aligned with master during conflict resolution * fix: address refactor review regressions and CI coverage * fix: restore mvp visibility and bump release metadata * fix: address latest copilot review findings * fix: harden payload normalization and review regressions * style: apply pre-commit autofixes for tracked files * fix: address final copilot cleanup comments * fix: address final actionable copilot comments * docs: add drivenmodal HFSS PRD and plan * feat: add drivenmodal foundation models and work log * feat: add drivenmodal ports and checkpoint manifests * feat: add drivenmodal postprocessing helpers * feat: add drivenmodal tutorial runners * fix: avoid pyEPR project path bug in tutorials * fix: avoid eager setup lookup for driven-modal tutorials * fix: populate chip center z for driven-modal designs * fix: normalize driven-modal open pin handling * fix: populate chip metadata for driven-modal hfss * fix: activate driven-modal setup before sweeps * fix: bypass broken hfss setup lookup for sweeps * fix: shorten internal hfss driven-modal design names * fix: use minimal hfss design aliases * fix: avoid eager hfss design reconnect on tutorial reruns * fix: retry driven-modal capacitance solves * fix: isolate tutorial hfss project startup * docs: record tutorial10 windows validation * tune: tighten tutorial10 driven-modal setup * tune: tighten tutorial10 interpolating sweep setup * docs: record tutorial10 v3 validation * tune: raise tutorial10 min converged passes * fix: restore tutorial10 baseline and regularize tutorial11 route * fix: make tutorial11 coupled route render-safe * fix: tune tutorial11 sweep around reference resonance * fix: keep tutorial11 running on unresolved notch fits * fix: retry tutorial11 hfss solves on windows * docs: record tutorial11 validation state * fix: align tutorial11 geometry with tutorial1 * fix: build tutorial11 from windows-safe cavity payload * fix: render tutorial11 with full feedline geometry * feat: add tutorial11 discovery and final sweeps * feat: retry tutorial11 discovery off sweep edges * fix: reset ansys desktop between tutorial11 runs * fix: apply cryogenic silicon to drivenmodal hfss * feat: add qubit port admittance tutorial * fix: use live hfss session for cryo materials * fix: avoid pyaedt library crawl for live materials * fix: edit cryo silicon directly in hfss * feat: add tutorial12 qubit sweep followup * feat: integrate tutorial11 local analysis bundle * feat: add combined drivenmodal hamiltonian tutorials * docs: publish drivenmodal tutorial notebooks * chore: trim internal docs from pr scope * fix: keep ansys simulator setup logs ascii-safe * fix: keep ansys simulation plan output ascii-safe * fix: recompute missing analyzer target columns * fix: tolerate missing interpolated setup payloads * fix: auto-accept setup params in noninteractive runs * fix: reuse live eigenmode material session * style: format analysis search regression test * Revise note about tutorial sequence Updated note to indicate more tutorials are coming soon. * Update release notes for Alpha Version 0.4.4 Added release notes for Alpha Version 0.4.4, detailing new features including drivenmodal simulations and MCP server functionalities. * fix: address copilot review and expand 0.4.4 release notes Address remaining Copilot review comments: - ansys_simulator.update_simulation_setup: guard the update loop against non-dict / missing payloads with the same checks already used in the discovery loop (#5). - drivenmodal/ports._build_port_spec: validate component / pin / metadata before constructing the spec and drop the now-redundant Mapping recheck (#6). - drivenmodal/qubit_admittance.reduce_terminated_port_admittance: treat Z=0 terminations as shorts (no extra Schur term) instead of opens, and collapse to Y_tt when every load is shorted (#4). - utils_ansys / drivenmodal/design: factor a defensive _resolve_material helper that tries checkifmaterialexists first and only mutates objects that actually expose permittivity / dielectric_loss_tangent, so PyAEDT versions where exists_material returns a bool no longer crash on silicon.permittivity assignment (#1, #2, #3, #7). Add regression tests covering the boolean-returning material lookup path, zero-ohm terminated-port reduction, port-spec validation errors, and skipped non-dict setup payloads. Expand the 0.4.4 release notes so the driven-modal HFSS work is documented in proportion to its scope: dedicated sections for the new squadds.simulations.drivenmodal subpackage and exports, the AnsysSimulator hardening (non-dict / EOFError / ASCII-safe output / live-renderer material patching), the new tutorial scripts and docsite notebooks, the scikit-rf runtime dependency, the find_closest / QubitCavity / pyEPR bug fixes, and explicit backwards-compatibility notes for the start_straight default change and the now-actually-applied meander fillet clamp. Made-with: Cursor * docs: add drivenmodal MCP tooling to wish list Made-with: Cursor * fix: scope update_simulation_setup opt-out to each setup key Address Copilot review #3107817392: when the user declines the "add unknown parameters?" prompt, the previous code filtered the kwargs globally, so a parameter that was unknown in setup A but already present in setup B was dropped from B as well. Track which parameters were unknown per setup and only skip them for those setups, so known parameters still get applied where they exist. Add a regression test covering the cross-setup case. Made-with: Cursor * fix: inflate json-string design option sub-payloads in merged df The HuggingFace dataset stores certain nested sub-payloads (cplr_opts, lead, meander) as JSON strings rather than dicts. Downstream ML / tutorial workflows that mutate the analyzer-derived coupled-system dataframe via nested dict access (pred_df.design_options_cavity_claw.iloc[0]["cplr_opts"][k] = v) fail with "TypeError: 'str' object does not support item assignment" because those strings were never inflated. Fix by: - create_qubit_cavity_dataframe now maps deserialize_json_like over design_options_qubit, design_options_cavity_claw, and design_options after the merge, so callers always see dicts. - create_unified_design_options defensively deserializes its two input dicts before convert_numpy so the unified payload stays consistent with the source columns. Add a regression test mirroring the user-reported failure: a cavity dataset whose cplr_opts / lead / meander are JSON strings now merges into a dataframe where those sub-payloads are real dicts. Document the fix in the 0.4.4 bug-fix notes. Made-with: Cursor * docs: fix tutorial-11 code-in-markdown cells and flag AI authorship The unified driven-modal Hamiltonian tutorial had four markdown cells where the intended Python function definitions (build_request, postprocess_qubit_band, postprocess_resonator_band, and build_combined_hamiltonian_table/run_combined_demo) were pasted inside the markdown body and therefore rendered as plain text instead of executable code. Split each of those cells into a markdown explanation plus a real code cell. Also prepend a visible AI-authorship note to the header markdown cells of tutorials 10 and 11 so readers know the current wording is a placeholder. Made-with: Cursor * fix: assign cell ids to split drivenmodal tutorial cells The markdown/code split in the previous commit introduced four new code cells without `id` fields, which breaks test_drivenmodal_tutorial_notebooks_have_intro_and_license_cells (asserts every cell has an id). Populate ids for any cell missing one. Made-with: Cursor --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.