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
support coaxial lumped ports #1669
Conversation
15499d6
to
c9fb8b0
Compare
Ok this PR is ready for review now! A couple of things that I was not confident about:
|
c9fb8b0
to
3bde0e1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this massive contribution @dmarek-flex
I had a lot of small comments, but I wasn't able to fully go through everything in total detail.
As you can probably gather, I'm a fan of trying to use the more declarative helpers (eg pop_axis) whenever possible. There's a lot of necessary lower-level data manipulation in these new features. Whenever possible, I think it helps a lot to try to separate this from the higher level, more declarative stuff. For example, try to hide the procedural code into methods (like pop axis) so it can be reused as much as possible.
I gave some suggestions where I saw things, but there were many places where the same operations pop up.
As the RF /microwave codebase grows in complexity, eventually you'll probably hit a point where you'll want as much of this abstracted away as possible, so I'd just consider that moving forward.
Anyway, thanks a lot for the great work! I'm going to add @QimingFlex as a reviewer too to get another pair of eyes on it, specifically the physics part. and so he gets some review experience
a51275b
to
a385e15
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is tons of work! First pass except for custom path integral part. All look solid and easy to follow. One question when you compute the current by using a loop in the middle of the two conductors: I assume the current computation will depend on the loop size if the dielectric material between the two conductors is lossy. How is lossy dielectric usually handled in lumped port?
At the end of the day the computation for current is an approximation. It should be more accurate at low frequencies, when fields are closer to TEM, when path is close to the surfaces of conductors. As long as the lossy material does not impact the field distribution a lot, the computation should still be accurate. We could allow for an optional parameter for the user to place the contour where ever they want. The reason I chose the midpoint is that usually there are only a handful of grid cells in the port and I want to make sure that the path is far enough away from the conductors, so that staircasing and conformal mesh affects to the fields are avoided. |
dc3565a
to
2594d41
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few minor comments. Otherwise looks good.
2594d41
to
75f9380
Compare
0837313
to
ca24bf0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dmarek-flex looks good to me, barring a few changes to get the tests working, I think this should be basically good to go?
Yep, think I just need to rebase and the tests will pass again. |
ca24bf0
to
1e48527
Compare
looks like it just needs submodule update? |
Yea, but I am also trying to diagnose a regression on the backend tests that I just noticed before merging. Ok fixed, it was something that I was testing that somehow snuck into the commits |
extending impedance calculator for custom paths and fixing one bug modified convention for vertices in custom path integral
1e48527
to
b126a10
Compare
Related to issue 523.
Adding support for coaxial ports. This requires adding support for lumped elements with coaxial geometry as well. The basic idea is the same as for the original rectangular lumped port except now: