Skip to content

Commit e43f5da

Browse files
ABC boundary conditions, pec frames, internal absorbers
1 parent 3ab9256 commit e43f5da

24 files changed

+3040
-401
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
- Added KLayout plugin, with DRC functionality for running design rule checks in `plugins.klayout.drc`. Supports running DRC on GDS files as well as `Geometry`, `Structure`, and `Simulation` objects.
1313
- Added "mil" and "in" (inch) units to `plot_length_units`.
1414
- Objective functions that involve running `tidy3d.plugins.smatrix.ComponentModeler` can be differentiated with autograd.
15+
- Access field decay values in `SimulationData` via `sim_data.field_decay` as `TimeDataArray`.
16+
- Added ability to set first-order absorbing boundary conditions on simulation domain boundaries using either `ABCBoundary` or `ModeABCBoundary` classes.
17+
- Added `frame` field to `ModeSource` (default: `None`) and `WavePort` (default: `PECFrame()`). Setting this to `PECFrame(length=...)` automatically places a thin PEC frame of specified length around the source/port. The automatically created frames can be inspected using `Simulation._finalized` property.
18+
- Added `InternalAbsorber` class for placing first-order absorbing boundary conditions on planes inside the simulation domain. Internal absorbers are automatically wrapped in a PEC frame with a backing PEC plate on the non-absorbing side.
19+
- Added `absorber` field (default: `True`) to `WavePort` for automatically placing an absorber behind the port.
20+
- Added `conjugated_dot_product` field in `ModeMonitor` (default: `True`) and `WavePort` (default: `False`) to allow selecting the conjugated or non-conjugated dot product for mode decomposition.
1521

1622
### Changed
1723
- Validate mode solver object for large number of grid points on the modal plane.

docs/api/boundary_conditions.rst

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ Types of Absorbers
3939
tidy3d.PML
4040
tidy3d.StablePML
4141
tidy3d.Absorber
42+
tidy3d.ABCBoundary
43+
tidy3d.ModeABCBoundary
4244

4345
Absorber Parameters
4446
^^^^^^^^^^^^^^^^^^^
@@ -48,4 +50,14 @@ Absorber Parameters
4850
:template: module.rst
4951

5052
tidy3d.AbsorberParams
51-
tidy3d.PMLParams
53+
tidy3d.PMLParams
54+
55+
56+
Internal Absorbers
57+
------------------
58+
59+
.. autosummary::
60+
:toctree: _autosummary/
61+
:template: module.rst
62+
63+
tidy3d.InternalAbsorber

docs/api/sources.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,13 @@ Angled Plane Wave Specifications
4444

4545
tidy3d.FixedInPlaneK
4646
tidy3d.FixedAngle
47+
48+
49+
Source Frames
50+
-------------
51+
52+
.. autosummary::
53+
:toctree: _autosummary/
54+
:template: module.rst
55+
56+
tidy3d.PECFrame

schemas/EMESimulation.json

Lines changed: 284 additions & 140 deletions
Large diffs are not rendered by default.

schemas/ModeSimulation.json

Lines changed: 323 additions & 141 deletions
Large diffs are not rendered by default.

schemas/Simulation.json

Lines changed: 359 additions & 5 deletions
Large diffs are not rendered by default.

schemas/TerminalComponentModeler.json

Lines changed: 398 additions & 8 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)