Skip to content

improve support for lossy transmission lines and complex reference impedances #2650

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

Merged
merged 1 commit into from
Aug 8, 2025

Conversation

dmarek-flex
Copy link
Contributor

@dmarek-flex dmarek-flex commented Jul 10, 2025

$Z_{ref}$ is now $Z_{L}^{*}$ where $Z_{L}^{*}$ would be the lumped port load impedance or the characteristic impedance of a transmission line mode in a WavePort.

We stick with using the unconjugated value for reference impedance, but now we switch our default approach for extracting S parameters to the pseudo-wave formulation.

Also includes a fix for calculating voltage from current + flux as well as calculating current from voltage + flux, when modes are lossy.

We are still missing proper calculation of mode amps using the non conjugated version of the dot product for lossy modes.
Completed

backend: https://github.com/flexcompute/compute/pull/2171

Greptile Summary

Improved handling of lossy modes in WavePort by updating reference impedance calculations and fixing voltage/current computations for transmission line modes.

  • Changed reference impedance in tidy3d/plugins/smatrix/component_modelers/terminal.py to use complex conjugate of load impedance (Z_L*) for power wave calculations
  • Fixed voltage/current calculations in tidy3d/plugins/smatrix/ports/wave.py to properly handle directionality and complex flux values for lossy modes
  • Updated port_reference_impedances method in TerminalComponentModeler to align with Pozar's Microwave Engineering theoretical framework

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

LGTM

3 files reviewed, no comments
Edit PR Review Bot Settings | Greptile

@dmarek-flex dmarek-flex self-assigned this Jul 10, 2025
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch from 94e2936 to 5caee13 Compare July 28, 2025 15:39
@dmarek-flex dmarek-flex added the RF label Jul 28, 2025
Copy link
Contributor

github-actions bot commented Jul 28, 2025

Diff Coverage

Diff: origin/develop...HEAD, staged and unstaged changes

  • tidy3d/components/monitor.py (100%)
  • tidy3d/plugins/smatrix/component_modelers/terminal.py (100%)
  • tidy3d/plugins/smatrix/ports/wave.py (100%)

Summary

  • Total: 37 lines
  • Missing: 0 lines
  • Coverage: 100%

@dmarek-flex dmarek-flex changed the title fixed handling of lossy modes in WavePort improve support for lossy transmission lines and complex reference impedances Jul 30, 2025
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch 2 times, most recently from 5825d9c to 86b866d Compare August 1, 2025 14:24
@dmarek-flex dmarek-flex changed the base branch from develop to dmarek/rf-dev August 1, 2025 14:24
@dmarek-flex dmarek-flex force-pushed the dmarek/rf-dev branch 2 times, most recently from f074cb0 to ac53800 Compare August 4, 2025 21:21
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch from 6b987dd to 98f6e66 Compare August 5, 2025 15:20
@weiliangjin2021 weiliangjin2021 changed the base branch from dmarek/rf-dev to develop August 6, 2025 00:11
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch 2 times, most recently from 3560ebf to 318d953 Compare August 7, 2025 00:44
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch 2 times, most recently from ab92f12 to 2419cbf Compare August 8, 2025 13:21
@dmarek-flex dmarek-flex enabled auto-merge August 8, 2025 13:21
@dmarek-flex dmarek-flex added this pull request to the merge queue Aug 8, 2025
@dmarek-flex dmarek-flex removed this pull request from the merge queue due to a manual request Aug 8, 2025
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch from 2419cbf to ee74479 Compare August 8, 2025 14:52
@dmarek-flex dmarek-flex enabled auto-merge August 8, 2025 14:54
support both pseudo and power wave formulations, while defaulting to pseudo wave definition

support non-conjugated dot product

update schemas
@dmarek-flex dmarek-flex disabled auto-merge August 8, 2025 15:07
@dmarek-flex dmarek-flex force-pushed the dmarek/fix-waveports-with-lossy-modes branch from ee74479 to 60f4c0a Compare August 8, 2025 15:07
@dmarek-flex dmarek-flex enabled auto-merge August 8, 2025 15:07
@dmarek-flex dmarek-flex added this pull request to the merge queue Aug 8, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 8, 2025
@dmarek-flex dmarek-flex added this pull request to the merge queue Aug 8, 2025
Merged via the queue into develop with commit 72c039d Aug 8, 2025
24 checks passed
@dmarek-flex dmarek-flex deleted the dmarek/fix-waveports-with-lossy-modes branch August 8, 2025 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants