-
Notifications
You must be signed in to change notification settings - Fork 65
feat(rf): Add RF specific mode characteristics to MicrowaveModeData #2995
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
base: develop
Are you sure you want to change the base?
feat(rf): Add RF specific mode characteristics to MicrowaveModeData #2995
Conversation
66c4c60 to
ae9c05c
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.
8 files reviewed, no comments
Edit Code Review Agent Settings | Greptile
React with 👍 or 👎 to share your feedback on this new summary format
Diff CoverageDiff: origin/develop...HEAD, staged and unstaged changes
Summary
tidy3d/components/microwave/data/monitor_data.pyLines 402-416 402 elif (
403 low_f_TE_frac >= self.monitor.mode_spec.qtem_polarization_threshold
404 and low_f_TM_frac >= self.monitor.mode_spec.qtem_polarization_threshold
405 ):
! 406 return "quasi-TEM"
407 elif mean_TE_frac >= self.monitor.mode_spec.tem_polarization_threshold:
408 return "TE"
! 409 elif mean_TM_frac >= self.monitor.mode_spec.tem_polarization_threshold:
! 410 return "TM"
411 else:
! 412 return "Hybrid"
413
414 def _group_index_post_process(self, frequency_step: float) -> Self:
415 """Calculate group index and remove added frequencies used only for this calculation. |
weiliangjin2021
left a comment
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.
Looks nice!
498e6b6 to
cca3130
Compare
Greptile Summary
MicrowaveModeDataincluding propagation constants (alpha, beta, gamma), phase/group velocities, wave impedance, effective relative permittivity, and distance_40dB attenuation metricMicrowaveModeSpecConfidence Score: 5/5
Important Files Changed
Sequence Diagram
sequenceDiagram participant User participant ModeSolver participant MicrowaveModeSpec participant MicrowaveModeDataBase participant MicrowaveModeSolverData User->>ModeSolver: Create ModeSolver with MicrowaveModeSpec User->>MicrowaveModeSpec: Configure tem_polarization_threshold, qtem_polarization_threshold User->>ModeSolver: Call solve() or access .data ModeSolver->>MicrowaveModeSolverData: Generate mode data with field components and n_complex User->>MicrowaveModeSolverData: Access new properties (alpha, beta, gamma) MicrowaveModeSolverData->>MicrowaveModeDataBase: Calculate propagation constants from n_complex MicrowaveModeDataBase-->>User: Return PropagationConstantArray, PhaseConstantArray, AttenuationConstantArray User->>MicrowaveModeSolverData: Access phase_velocity, group_velocity MicrowaveModeDataBase-->>User: Return PhaseVelocityArray, GroupVelocityArray User->>MicrowaveModeSolverData: Access wave_impedance MicrowaveModeDataBase->>MicrowaveModeDataBase: Calculate from tangential E fields and complex_flux MicrowaveModeDataBase-->>User: Return ImpedanceFreqModeDataArray User->>MicrowaveModeSolverData: Access mode_classifications MicrowaveModeDataBase->>MicrowaveModeDataBase: Classify using wg_TE_fraction, wg_TM_fraction and thresholds MicrowaveModeDataBase-->>User: Return list of ModeClassification