Skip to content

Commit 202cea4

Browse files
tylerflexmomchil-flex
authored andcommitted
fix bug with freqs as np.ndarray in output monitors
1 parent 8fa5f03 commit 202cea4

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
### Changed
1212

1313
### Fixed
14+
- Properly handle `.freqs` in `output_monitors` of adjoint plugin.
1415

1516
## [2.4.2] - 2023-9-28
1617

tidy3d/plugins/adjoint/components/base.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,23 @@ def fix_polyslab(geo_dict: dict) -> None:
5252
fix_polyslab(geo_dict["geometry_a"])
5353
fix_polyslab(geo_dict["geometry_b"])
5454

55+
def fix_monitor(mnt_dict: dict) -> None:
56+
"""Fix a frequency containing monitor."""
57+
if "freqs" in mnt_dict:
58+
freqs = mnt_dict["freqs"]
59+
if isinstance(freqs, np.ndarray):
60+
mnt_dict["freqs"] = freqs.tolist()
61+
5562
# fixes bug with jax handling 2D numpy array in polyslab vertices
5663
if aux_data.get("type", "") == "JaxSimulation":
5764
structures = aux_data["structures"]
5865
for _i, structure in enumerate(structures):
5966
geometry = structure["geometry"]
6067
fix_polyslab(geometry)
61-
monitors = aux_data["monitors"]
62-
for _i, monitor in enumerate(monitors):
63-
if "freqs" in monitor:
64-
freqs = monitor["freqs"]
65-
if isinstance(freqs, np.ndarray):
66-
monitor["freqs"] = freqs.tolist()
68+
for monitor in aux_data["monitors"]:
69+
fix_monitor(monitor)
70+
for monitor in aux_data["output_monitors"]:
71+
fix_monitor(monitor)
6772

6873
return children, aux_data
6974

0 commit comments

Comments
 (0)