Skip to content

Commit 9138b28

Browse files
committed
feat(rf): support multimodal waveports
1 parent 02d3517 commit 9138b28

File tree

19 files changed

+1108
-726
lines changed

19 files changed

+1108
-726
lines changed

CHANGELOG.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2828
- Added support of `os.PathLike` objects as paths like `pathlib.Path` alongside `str` paths in all path-related functions.
2929
- Added configurable local simulation result caching with checksum validation, eviction limits, and per-call overrides across `web.run`, `web.load`, and job workflows.
3030
- Added `DirectivityMonitorSpec` for automated creation and configuration of directivity radiation monitors in `TerminalComponentModeler`.
31+
- Added multimode support to `WavePort` in the smatrix plugin, allowing multiple modes to be analyzed per port.
32+
33+
### Breaking Changes
34+
**Note: These breaking changes only affect the microwave and smatrix plugins.**
35+
- Renamed path integral classes for improved consistency. Please see our migration guide for details on updating your code.
36+
- `VoltageIntegralAxisAligned``AxisAlignedVoltageIntegral`
37+
- `CurrentIntegralAxisAligned``AxisAlignedCurrentIntegral`
38+
- `CustomPathIntegral2D``Custom2DPathIntegral`
39+
- `CustomVoltageIntegral2D``Custom2DVoltageIntegral`
40+
- `CustomCurrentIntegral2D``Custom2DCurrentIntegral`
41+
- Path integral and impedance calculator classes have been refactored and moved from the microwave plugin into Tidy3D components. They are now publicly exported via the top-level package `__init__.py`.
42+
- `WavePort` has been refactored to use `MicrowaveModeSpec`. The fields `voltage_integral`, and `current_integral` have been removed. Impedance specifications are now defined in `MicrowaveModeSpec.impedance_specs`. Please see our migration guide for details on updating your code.
3143

3244
### Changed
3345
- Improved performance of antenna metrics calculation by utilizing cached wave amplitude calculations instead of recomputing wave amplitudes for each port excitation in the `TerminalComponentModelerData`.
3446
- Changed hashing method in `Tidy3dBaseModel` from sha256 to md5.
3547
- Allowing for more geometries in a ClipOperation geometry.
3648
- Improved the speed of computing `Box` shape derivatives when used inside a `GeometryGroup`.
3749
- All RF and microwave specific components now inherit from `MicrowaveBaseModel`.
38-
- **[BREAKING]** Renamed path integral classes in `tidy3d.plugins.microwave` for improved consistency. Please see our migration guide for details on updating your code.
39-
- `VoltageIntegralAxisAligned``AxisAlignedVoltageIntegral`
40-
- `CurrentIntegralAxisAligned``AxisAlignedCurrentIntegral`
41-
- `CustomPathIntegral2D``Custom2DPathIntegral`
42-
- `CustomVoltageIntegral2D``Custom2DVoltageIntegral`
43-
- `CustomCurrentIntegral2D``Custom2DCurrentIntegral`
44-
- Path integral and impedance calculator classes have been refactored and moved from `tidy3d.plugins.microwave` to `tidy3d.components.microwave`. They are now publicly exported via the top-level package `__init__.py`, so you can import them directly, e.g. `from tidy3d import ImpedanceCalculator, AxisAlignedVoltageIntegral, AxisAlignedCurrentIntegral, Custom2DVoltageIntegral, Custom2DCurrentIntegral, Custom2DPathIntegral`.
4550
- `DirectivityMonitor` now forces `far_field_approx` to `True`, which was previously configurable.
4651
- Unified run submission API: `web.run(...)` is now a container-aware wrapper that accepts a single simulation or arbitrarily nested containers (`list`, `tuple`, `dict` values) and returns results in the same shape.
4752
- `web.Batch(ComponentModeler)` and `web.Job(ComponentModeler)` native support

0 commit comments

Comments
 (0)