Skip to content

Commit 21ac315

Browse files
committed
Add PermittivityMonitor to EMESimulation
1 parent 629fc8b commit 21ac315

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1919
- `ClipOperation` now fails validation if traced fields are detected.
2020
- Warn if more than 20 frequencies are used in EME, as this may lead to slower or more expensive simulations.
2121
- EME now supports 2D simulations.
22+
- 'EMESimulation' now supports 'PermittivityMonitor'.
2223

2324
## [2.8.3] - 2025-04-24
2425

tidy3d/components/eme/data/monitor_data.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pydantic.v1 as pd
88

99
from ...base_sim.data.monitor_data import AbstractMonitorData
10-
from ...data.monitor_data import ElectromagneticFieldData, ModeSolverData
10+
from ...data.monitor_data import ElectromagneticFieldData, ModeSolverData, PermittivityData
1111
from ..monitor import EMECoefficientMonitor, EMEFieldMonitor, EMEModeSolverMonitor
1212
from .dataset import EMECoefficientDataset, EMEFieldDataset, EMEModeSolverDataset
1313

@@ -40,4 +40,6 @@ class EMECoefficientData(AbstractMonitorData, EMECoefficientDataset):
4040
)
4141

4242

43-
EMEMonitorDataType = Union[EMEModeSolverData, EMEFieldData, EMECoefficientData, ModeSolverData]
43+
EMEMonitorDataType = Union[
44+
EMEModeSolverData, EMEFieldData, EMECoefficientData, ModeSolverData, PermittivityData
45+
]

tidy3d/components/eme/monitor.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pydantic.v1 as pd
99

1010
from ..base_sim.monitor import AbstractMonitor
11-
from ..monitor import AbstractFieldMonitor, ModeSolverMonitor
11+
from ..monitor import AbstractFieldMonitor, ModeSolverMonitor, PermittivityMonitor
1212
from ..types import FreqArray
1313

1414
BYTES_COMPLEX = 8
@@ -298,5 +298,9 @@ def storage_size(
298298

299299

300300
EMEMonitorType = Union[
301-
EMEModeSolverMonitor, EMEFieldMonitor, EMECoefficientMonitor, ModeSolverMonitor
301+
EMEModeSolverMonitor,
302+
EMEFieldMonitor,
303+
EMECoefficientMonitor,
304+
ModeSolverMonitor,
305+
PermittivityMonitor,
302306
]

tidy3d/components/mode/simulation.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,22 @@ class ModeSimulation(AbstractYeeGridSimulation):
8282
8383
Example
8484
-------
85-
>>> from tidy3d import C_0, ModeSpec
85+
>>> from tidy3d import C_0, ModeSpec, BoundarySpec, Boundary
8686
>>> lambda0 = 1
8787
>>> freq0 = C_0 / lambda0
8888
>>> freqs = [freq0]
8989
>>> sim_size = lambda0, lambda0, 0
9090
>>> mode_spec = ModeSpec(num_modes=4)
91+
>>> boundary_spec = BoundarySpec(
92+
... x=Boundary.pec(),
93+
... y=Boundary.pec(),
94+
... z=Boundary.periodic()
95+
... )
9196
>>> sim = ModeSimulation(
9297
... size=sim_size,
9398
... freqs=freqs,
94-
... mode_spec=mode_spec
99+
... mode_spec=mode_spec,
100+
... boundary_spec=boundary_spec
95101
... )
96102
97103
See Also

0 commit comments

Comments
 (0)