Skip to content

Conversation

@simlapointe
Copy link
Contributor

Improve support to define wave port boundaries in a SolidModel:

  • SolidModelTargets now take wave_port_layers, a list of layer symbols used to define wave port boundary conditions
  • Added support for LineSegment in SolidModel
  • Added add_wave_ports! to automatically place wave port boundaries where paths/routes intersect the simulation area
  • Added option to use wave ports instead of lumped ports in the single transmon example

@codecov
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

❌ Patch coverage is 97.14286% with 3 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/polygons.jl 0.00% 2 Missing ⚠️
src/schematics/ExamplePDK/utils.jl 98.03% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@simlapointe simlapointe marked this pull request as ready for review November 4, 2025 00:20
@simlapointe simlapointe requested a review from gpeairs November 4, 2025 00:20
Copy link
Member

@gpeairs gpeairs left a comment

Choose a reason for hiding this comment

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

This works nicely! I have just a few changes suggested below. I also have a couple Palace questions:

  1. Is it possible to calculate port Q for wave ports?
  2. Is it OK to use a wave port with an absorbing boundary condition around it? Does the 2D solve just treat the 1D boundary as PEC (I see there's this issue awslabs/palace#265)?

@simlapointe simlapointe force-pushed the simlapointe/waveport3 branch from 95481b3 to f60bc0d Compare November 24, 2025 23:27
@simlapointe
Copy link
Contributor Author

This works nicely! I have just a few changes suggested below. I also have a couple Palace questions:

  1. Is it possible to calculate port Q for wave ports?
  2. Is it OK to use a wave port with an absorbing boundary condition around it? Does the 2D solve just treat the 1D boundary as PEC (I see there's this issue awslabs/palace#265)?

Thanks for the feedback! I made changes in f60bc0d to address your comments and also added a warning when waveport transmission lines are not perpendicular to the domain boundary.

Regarding your questions:

  1. Let me look into that, if it's possible to do so in an unambiguous way we will add that to the Palace TODOs.
  2. Absorbing BCs in the 3D model will be set as PMC for the 2D waveport solve. If we want them to be PEC we should add "WavePortPEC": {"Attributes":[3]} to the config file. I tried it in the single transmon case and it does not seem to make much of a difference. FYI, the 3D boundaries that get mapped to PEC for the 2D waveport solve are PEC, Conductivity, WavePortPEC, and WavePort (in the case where multiple waveports share common edges), everything else gets mapped to PMC.

Copy link
Member

@gpeairs gpeairs left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@gpeairs gpeairs merged commit 16e3dec into main Nov 25, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants