You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
12
12
- Selective simulation capabilities to `TerminalComponentModeler` via `run_only` and `element_mappings` fields, allowing users to run fewer simulations and extract only needed scattering matrix elements.
13
13
- 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.
14
14
- Added "mil" and "in" (inch) units to `plot_length_units`.
15
-
- Objective functions that involve running `tidy3d.plugins.smatrix.ComponentModeler` can be differentiated with autograd.
15
+
- Objective functions that involve running `tidy3d.plugins.smatrix.ModalComponentModeler` can be differentiated with autograd.
16
16
- Access field decay values in `SimulationData` via `sim_data.field_decay` as `TimeDataArray`.
17
17
- Added ability to set first-order absorbing boundary conditions on simulation domain boundaries using either `ABCBoundary` or `ModeABCBoundary` classes.
18
18
- 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.
@@ -32,11 +32,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
32
32
- Improved the robustness of batch jobs. The batch state, including all `task_ids`, is now saved to `batch.hdf5` immediately after upload. This fixes an issue where an interrupted batch (e.g., due to a kernel crash or network loss) would be unrecoverable.
33
33
- Fixed warning for running symmetric adjoint simulations by port to not trigger when there is a single port.
34
34
- Bug in `CoaxialLumpedPort` where source injection is off when the `normal_axis` is not `z`.
35
-
- Validation of `freqs` in the `ComponentModeler` and `TerminalComponentModeler`.
35
+
- Validation of `freqs` in the `ModalComponentModeler` and `TerminalComponentModeler`.
36
36
- Calculation of voltage and current in the `WavePort`, when one type of path integral is supplied and the transmission line mode is lossy.
37
37
- Polygon vertices cleanup in `ClipOperation.intersections_plane`.
38
38
- Removed sources from `sim_inf_structure` simulation object in `postprocess_adj` to avoid source and background medium validation errors.
39
-
- Revert overly restrictive validation of `freqs` in the `ComponentModeler` and `TerminalComponentModeler`.
39
+
- Revert overly restrictive validation of `freqs` in the `ModalComponentModeler` and `TerminalComponentModeler`.
40
40
- Fixed `ElectromagneticFieldData.to_zbf()` to support single frequency monitors and apply the correct flattening order.
41
41
- Bug in `TerminalComponentModeler.get_antenna_metrics_data` when port amplitudes are set to zero.
42
42
- Added missing `solver_version` keyword argument to `run_async`.
@@ -240,7 +240,7 @@ with fewer layers than recommended.
240
240
- Added `WavePort` to the `TerminalComponentModeler` which is the suggested port type for exciting transmission lines.
241
241
- Added plotting functionality to voltage and current path integrals in the `microwave` plugin.
242
242
- Added convenience functions `from_terminal_positions` and `from_circular_path` to simplify setup of `VoltageIntegralAxisAligned` and `CustomCurrentIntegral2D`, respectively.
243
-
`ComponentModeler.batch_data` convenience property to access the `BatchData` corresponding to the component modeler run.
243
+
`ModalComponentModeler.batch_data` convenience property to access the `BatchData` corresponding to the component modeler run.
244
244
- Added optimization methods to the Design plugin. The plugin has been expanded to include Bayesian optimization, genetic algorithms and particle swarm optimization. Explanations of these methods are available in new and updated notebooks.
245
245
- Added new support functions for the Design plugin: automated batching of `Simulation` objects, and summary functions with `DesignSpace.estimate_cost` and `DesignSpace.summarize`.
246
246
- Added validation and repair methods for `TriangleMesh` with inward-facing normals.
@@ -283,7 +283,7 @@ with fewer layers than recommended.
283
283
284
284
- Priority is given to `snapping_points` in `GridSpec` when close to structure boundaries, which reduces the chance of them being skipped.
285
285
- Gradients for autograd are computed server-side by default. They can be computed locally (requiring more data download) by passing `local_gradient=True` to the `web.run()` and related functions.
286
-
- Passing `path_dir` to `ComponentModeler` methods is deprecated in favor of setting `ComponentModeler.path_dir` and will result in an error if the two don't match.
286
+
- Passing `path_dir` to `ModalComponentModeler` methods is deprecated in favor of setting `ModalComponentModeler.path_dir` and will result in an error if the two don't match.
287
287
-`BatchData` is now a mapping and can be accessed and iterated over like a Python dictionary (`.keys()`, `.values()`, `.items()`).
288
288
-`MethodRandom` and `MethodRandomCustom` have been removed from the Design plugin, and `DesignSpace.run_batch` has been superseded by `.run`.
289
289
- Design plugin has been significantly reworked to improve ease of use and allow for new optimization methods.
@@ -341,7 +341,7 @@ with fewer layers than recommended.
341
341
- Bug in `Batch`, where duplicate folders might be created in the Web UI if the folder did not already exist.
342
342
- Make gauge selection for non-converged modes more robust.
343
343
- Fixed extremely long runtime generated by `RunTimeSpec` in the presence of `LossyMetalMedium`.
344
-
- Fixed `ComponentModeler.to_file` when its batch is empty.
344
+
- Fixed `ModalComponentModeler.to_file` when its batch is empty.
345
345
- In web api, mode solver is patched with remote data so that certain methods like `plot_field` show remote data.
346
346
- Fixed common cross-referencing typo in docstrings.
347
347
- Added `viz_spec` property to `AbstractStructure` to fix error when plotting structures that have no `medium`.
@@ -472,7 +472,7 @@ with fewer layers than recommended.
472
472
- Improve accuracy in `Box` shifting boundary gradients.
473
473
- Improve accuracy in `FieldData` operations involving H fields (like `.flux`).
474
474
- Better error and warning handling in autograd pipeline.
475
-
- Added the option to specify the `num_freqs` argument and `kwargs` to the `.to_source` method for both `ModeSolver` and `ComponentModeler`.
475
+
- Added the option to specify the `num_freqs` argument and `kwargs` to the `.to_source` method for both `ModeSolver` and `ModalComponentModeler`.
476
476
- Fixes to TFSF source in some 2D simulations, and in some cases when the injection plane is close to the simulation domain boundaries.
477
477
478
478
## [2.7.2] - 2024-08-07
@@ -494,7 +494,7 @@ with fewer layers than recommended.
494
494
- Error if field projection monitors found in 2D simulations, except `FieldProjectionAngleMonitor` or `FieldProjectionCartesianMonitor` with `far_field_approx = True`. Support for other monitors and for exact field projection will be coming in a subsequent Tidy3D version.
495
495
496
496
### Fixed
497
-
- Error when loading a previously run `Batch` or `ComponentModeler` containing custom data.
497
+
- Error when loading a previously run `Batch` or `ModalComponentModeler` containing custom data.
498
498
- Error when plotting mode plane PML and the simulation has symmetry.
499
499
- Validators using `TriangleMesh.intersections_plane` will fall back on bounding box in case the method fails for a non-watertight mesh.
500
500
- Bug when running the same `ModeSolver` first locally then remotely, or vice versa, in which case the cached data from the first run is always returned.
@@ -722,7 +722,7 @@ with fewer layers than recommended.
722
722
- Support for an anisotropic medium containing PEC components.
723
723
-`SimulationData.mnt_data_from_file()` method to load only a single monitor data object from a simulation data `.hdf5` file.
724
724
-`_hash_self` to base model, uses `hashlib` to hash a Tidy3D component the same way every session.
725
-
-`ComponentModeler.plot_sim_eps()` method to plot the simulation permittivity and ports.
725
+
-`ModalComponentModeler.plot_sim_eps()` method to plot the simulation permittivity and ports.
726
726
- Support for 2D PEC materials.
727
727
- Ability to downsample recorded near fields to speed up server-side far field projections.
728
728
-`FieldData.apply_phase(phase)` to multiply field data by a phase.
@@ -769,8 +769,8 @@ with fewer layers than recommended.
769
769
- Improved error handling if file can not be downloaded from server.
770
770
- Fix for detection of file extensions for file names with dots.
771
771
- Restrict to `matplotlib` >= 3.5, avoiding bug in plotting `CustomMedium`.
772
-
- Fixes `ComponentModeler` batch file being different in different sessions by use of deterministic hash function for computing batch filename.
773
-
- Can pass `kwargs` to `ComponentModeler.plot_sim()` to use in `Simulation.plot()`.
772
+
- Fixes `ModalComponentModeler` batch file being different in different sessions by use of deterministic hash function for computing batch filename.
773
+
- Can pass `kwargs` to `ModalComponentModeler.plot_sim()` to use in `Simulation.plot()`.
774
774
- Ensure that mode solver fields are returned in single precision if `ModeSolver.ModeSpec.precision == "single"`.
775
775
- If there are no adjoint sources for a simulation involved in an objective function, make a mock source with zero amplitude and warn user.
776
776
@@ -869,7 +869,7 @@ the difference that can be observed when slightly modifying the grid resolution.
869
869
- Uses `ruff` for linting instead of `pylint`.
870
870
- Added lower bound validator to `freqs` in mode solver.
871
871
- Added lower bound validator to `group_index_step` in `ModeSpec`.
872
-
-`ComponentModeler.freqs` now a `FreqArray`, so it can be initialized from numpy, list or tuple.
872
+
-`ModalComponentModeler.freqs` now a `FreqArray`, so it can be initialized from numpy, list or tuple.
873
873
874
874
### Fixed
875
875
- Handles `TIDY3D_ENV` properly when set to `prod`.
@@ -920,7 +920,7 @@ the difference that can be observed when slightly modifying the grid resolution.
920
920
### Changed
921
921
- Source validation happens before simulation upload and raises an error if no source is present.
922
922
- Warning instead of error if structure out of simulation bounds.
923
-
- Internal refactor of `ComponentModeler` to simplify logic.
923
+
- Internal refactor of `ModalComponentModeler` to simplify logic.
924
924
- (Changed effective 2.3.0) Backward-direction mode amplitudes from `ModeMonitors` have a flipped sign compared to previous versions.
925
925
Previously, the amplitudes were computed directly through the dot product ``amp = (mode, field)``, while, since 2.3.0, we use ``amp = (mode, field) / (mode, mode)`` instead.
926
926
The modes are already normalized to unit directed flux, such that ``(mode, mode) = 1`` for forward modes, and ``(mode, mode) = -1`` for backward modes
@@ -1441,7 +1441,7 @@ which fields are to be projected is now determined automatically based on the me
1441
1441
### Changed
1442
1442
-`Batch` objects automatically download their json file upon `download` and `load`.
1443
1443
- Uses `shapely` instead of `gdspy` to merge polygons from a gds cell.
1444
-
-`ComponentModeler` (S matrix tool) stores the `Batch` rather than the `BatchData`.
1444
+
-`ModalComponentModeler` (S matrix tool) stores the `Batch` rather than the `BatchData`.
1445
1445
- Custom caching of properties to speed up subsequent calculations.
1446
1446
- Tidy3D configuration now done through setting attributes of `tidy3d.config` object.
1447
1447
@@ -1578,7 +1578,7 @@ which fields are to be projected is now determined automatically based on the me
1578
1578
1579
1579
-`Simulation` symmetries now fully functional.
1580
1580
- Ability to perform near-to-far transformations from multiple surface monitors oriented along the x, y or z directions using `tidy3d.plugins.Near2Far`.
1581
-
-`tidy3d.plugins.ComponentModeler` tool for scattering matrix calculations.
1581
+
-`tidy3d.plugins.ModalComponentModeler` tool for scattering matrix calculations.
0 commit comments