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

FEAT: Add distributed filters parasitics parameters to the FilterSolutions API #5785

Merged
merged 24 commits into from
Feb 20, 2025

Conversation

ramin4667
Copy link
Contributor

Description

This PR adds supports for distributed filter parasitics parameters to the FilterSolutions API.

Issue linked

NA

Checklist

  • I have tested my changes locally.
  • I have added necessary documentation or updated existing documentation.
  • I have followed the coding style guidelines of this project.
  • I have added appropriate tests (unit, integration, system).
  • I have reviewed my changes before submitting this pull request.
  • I have linked the issue or issues that are solved by the PR if any.
  • I have agreed with the Contributor License Agreement (CLA).

ramin4667 and others added 21 commits December 23, 2024 14:55
…sys/pyaedt into FEAT__Add_distributed_filters

# Conflicts:
#	src/ansys/aedt/core/filtersolutions.py
…_filters_parasitics

# Conflicts:
#	src/ansys/aedt/core/filtersolutions.py
#	src/ansys/aedt/core/filtersolutions_core/__init__.py
#	src/ansys/aedt/core/filtersolutions_core/distributed_geometry.py
#	src/ansys/aedt/core/filtersolutions_core/distributed_radial.py
#	src/ansys/aedt/core/filtersolutions_core/distributed_substrate.py
#	src/ansys/aedt/core/filtersolutions_core/distributed_topology.py
#	src/ansys/aedt/core/filtersolutions_core/lumped_topology.py
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/bridge_t.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/bridge_t_high.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/bridge_t_low.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/c_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/c_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/c_node_compensate.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/capacitor_ls.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/capacitor_q.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/capacitor_rp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/capacitor_rs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/complex.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/current_source.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_1.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_2.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_bs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer1_hi_lo.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer2_bp_bs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer2_triplexer_1.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/diplexer2_triplexer_2.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/equal_capacitors.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/equal_inductors.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/equal_legs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/first_series.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/first_shunt.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/high_low_pass.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/high_low_pass_min_ind.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/import_tuned_variables.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/imported_netlist.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/inductor_cp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/inductor_q.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/inductor_rp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/inductor_rs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/l_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/l_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/l_node_compensate.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/laod_resistance.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/library_parts.cfg
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/match_impedance.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/min_cap.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/min_ind.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/multiband.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/netlist.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/node_cap_ground.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/pspice.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/r_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/r_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/set_source_res.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/source_res.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/source_resistance.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/transferfunction.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/trap_topology.ckt
#	tests/system/general/test_45_FilterSolutions/resources/Lumped/zig_zag.ckt
#	tests/system/general/test_45_FilterSolutions/resources/bridge_t.ckt
#	tests/system/general/test_45_FilterSolutions/resources/bridge_t_high.ckt
#	tests/system/general/test_45_FilterSolutions/resources/bridge_t_low.ckt
#	tests/system/general/test_45_FilterSolutions/resources/c_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/c_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/c_node_compensate.ckt
#	tests/system/general/test_45_FilterSolutions/resources/capacitor_ls.ckt
#	tests/system/general/test_45_FilterSolutions/resources/capacitor_q.ckt
#	tests/system/general/test_45_FilterSolutions/resources/capacitor_rp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/capacitor_rs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/complex.ckt
#	tests/system/general/test_45_FilterSolutions/resources/current_source.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer1_bp_1.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer1_bp_2.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer1_bp_bs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer1_hi_lo.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer2_bp_bs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer2_triplexer_1.ckt
#	tests/system/general/test_45_FilterSolutions/resources/diplexer2_triplexer_2.ckt
#	tests/system/general/test_45_FilterSolutions/resources/equal_capacitors.ckt
#	tests/system/general/test_45_FilterSolutions/resources/equal_inductors.ckt
#	tests/system/general/test_45_FilterSolutions/resources/equal_legs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/first_series.ckt
#	tests/system/general/test_45_FilterSolutions/resources/first_shunt.ckt
#	tests/system/general/test_45_FilterSolutions/resources/generator_resistor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/high_low_pass.ckt
#	tests/system/general/test_45_FilterSolutions/resources/high_low_pass_min_ind.ckt
#	tests/system/general/test_45_FilterSolutions/resources/import_tuned_variables.ckt
#	tests/system/general/test_45_FilterSolutions/resources/imported_netlist.ckt
#	tests/system/general/test_45_FilterSolutions/resources/inductor_cp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/inductor_q.ckt
#	tests/system/general/test_45_FilterSolutions/resources/inductor_rp.ckt
#	tests/system/general/test_45_FilterSolutions/resources/inductor_rs.ckt
#	tests/system/general/test_45_FilterSolutions/resources/l_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/l_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/l_node_compensate.ckt
#	tests/system/general/test_45_FilterSolutions/resources/laod_resistor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/library_parts.cfg
#	tests/system/general/test_45_FilterSolutions/resources/match_impedance.ckt
#	tests/system/general/test_45_FilterSolutions/resources/min_cap.ckt
#	tests/system/general/test_45_FilterSolutions/resources/min_ind.ckt
#	tests/system/general/test_45_FilterSolutions/resources/multiband.ckt
#	tests/system/general/test_45_FilterSolutions/resources/netlist.ckt
#	tests/system/general/test_45_FilterSolutions/resources/node_cap_ground.ckt
#	tests/system/general/test_45_FilterSolutions/resources/pspice.ckt
#	tests/system/general/test_45_FilterSolutions/resources/r_lead_inductor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/r_node_capacitor.ckt
#	tests/system/general/test_45_FilterSolutions/resources/set_source_res.ckt
#	tests/system/general/test_45_FilterSolutions/resources/source_res.ckt
#	tests/system/general/test_45_FilterSolutions/resources/transferfunction.ckt
#	tests/system/general/test_45_FilterSolutions/resources/trap_topology.ckt
#	tests/system/general/test_45_FilterSolutions/resources/zig_zag.ckt
#	tests/system/general/test_45_FilterSolutions/test_filter/test_attributes.py
#	tests/system/general/test_45_FilterSolutions/test_filter/test_graph_setup.py
#	tests/system/general/test_45_FilterSolutions/test_filter/test_multiple_bands_table.py
#	tests/system/general/test_45_FilterSolutions/test_filter/test_transmission_zeros.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_export/test_export_to_aedt.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_export/test_optimization_goals_table.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_filter/test_lumped_nodes_and_leads.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_filter/test_lumped_parasitics.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_filter/test_lumped_termination_impedance_table.py
#	tests/system/general/test_45_FilterSolutions/test_lumped_filter/test_lumped_topology.py
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/bridge_t.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/bridge_t_high.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/bridge_t_low.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/c_lead_inductor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/c_node_capacitor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/c_node_compensate.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/capacitor_ls.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/capacitor_q.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/capacitor_rp.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/capacitor_rs.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/complex.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/current_source.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_1.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_2.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer1_bp_bs.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer1_hi_lo.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer2_bp_bs.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer2_triplexer_1.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/diplexer2_triplexer_2.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/equal_capacitors.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/equal_inductors.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/equal_legs.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/first_series.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/first_shunt.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/high_low_pass.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/high_low_pass_min_ind.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/import_tuned_variables.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/imported_netlist.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/inductor_cp.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/inductor_q.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/inductor_rp.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/inductor_rs.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/l_lead_inductor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/l_node_capacitor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/l_node_compensate.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/laod_resistance.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/library_parts.cfg
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/match_impedance.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/min_cap.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/min_ind.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/multiband.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/netlist.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/node_cap_ground.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/pspice.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/r_lead_inductor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/r_node_capacitor.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/set_source_res.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/source_res.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/source_resistance.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/transferfunction.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/trap_topology.ckt
#	tests/system/solvers/test_45_FilterSolutions/resources/Lumped/zig_zag.ckt
#	tests/system/solvers/test_45_FilterSolutions/test_filter/test_dll_interface.py
#	tests/system/solvers/test_45_FilterSolutions/test_raise_error.py
@ansys-reviewer-bot
Copy link
Contributor

Thanks for opening a Pull Request. If you want to perform a review write a comment saying:

@ansys-reviewer-bot review

@github-actions github-actions bot added testing Anything related to testing enhancement New features or code improvements labels Feb 17, 2025
@ramin4667 ramin4667 requested a review from myoung301 February 17, 2025 23:07
Copy link

codecov bot commented Feb 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.84%. Comparing base (cc78e41) to head (4f413a0).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5785      +/-   ##
==========================================
- Coverage   84.84%   84.84%   -0.01%     
==========================================
  Files         158      158              
  Lines       61865    61865              
==========================================
- Hits        52489    52487       -2     
- Misses       9376     9378       +2     

Copy link
Contributor

@myoung301 myoung301 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were a couple of notes that should be resolved. Please also post the coverage results you get when running this locally.

@ramin4667
Copy link
Contributor Author

The test coverage is shown here:

src\ansys\aedt\core\filtersolutions_core_init_.py | 12 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\attributes.py | 880 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\distributed_geometry.py | 131 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\distributed_parasitics.py | 152 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\distributed_radial.py | 151 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\distributed_substrate.py | 188 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\distributed_topology.py | 478 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\dll_interface.py | 62 | 8 | 14 | 87%
src\ansys\aedt\core\filtersolutions_core\export_to_aedt.py | 854 | 4 | 8 | 99%
src\ansys\aedt\core\filtersolutions_core\graph_setup.py | 53 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\ideal_response.py | 171 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\lumped_nodes_and_leads.py | 106 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\lumped_parasitics.py | 97 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\lumped_termination_impedance_table.py | 142 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\lumped_topology.py | 314 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\multiple_bands_table.py | 59 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\optimization_goals_table.py | 84 | 0 | 0 | 100%
src\ansys\aedt\core\filtersolutions_core\transmission_zeros.py | 76 | 0 | 0 | 100%
Total | 4010 | 12 | 22 | 100%

@myoung301 myoung301 self-requested a review February 20, 2025 19:12
@myoung301 myoung301 enabled auto-merge (squash) February 20, 2025 19:12
@myoung301 myoung301 merged commit fb972a0 into main Feb 20, 2025
43 checks passed
@myoung301 myoung301 deleted the FEAT__Add_distributed_filters_parasitics branch February 20, 2025 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New features or code improvements testing Anything related to testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants