What's Changed
- Introduced RF material library to microwave plugins by @QimingFlex in #1756
- π» complex polyslab autograd support by @tylerflex in #1790
- π» autograd specify background permittivity of structure by @tylerflex in #1789
- Introduce the DirectivityMonitor and DirectivityData classes by @QimingFlex in #1724
- Enabling electrostatic simulations by @marc-flex in #1561
- update CHANGELOG.md by @dmarek-flex in #1794
- Fixed docstrings for directivitydata and custom source by @QimingFlex in #1797
- Docstring - HeatCharge docstring error by @marc-flex in #1798
- π pick bugfix from develop by @dmarek-flex in #1803
- added plot_units to simulation and scene classes by @dmarek-flex in #1811
- expose power wave amplitude computations by @dmarek-flex in #1826
- Fixed bug in HeatChargeSimulation.plot() when we have global sources by @marc-flex in #1839
- Merge develop into pre/2.8 by @yaugenst-flex in #1846
- π§ Weird commit checkout issue on sync by @daquinteroflex in #1853
- feature: Check credit balance and daily free balance by @QingengWei in #1843
- prioritize snapping points in AutoGrid by @dmarek-flex in #1831
- HeatChargeSimulation backward compatibility by @marc-flex in #1841
- add WavePorts by @dmarek-flex in #1741
- break_statuses add aborted by @QingengWei in #1857
- Validate the use of dielectrics only in RectangularDielectric by @lucas-flexcompute in #1859
- Introduced axial ratio to DirectivityMonitor by @QimingFlex in #1860
- Move dispersion fitter implementation to components by @caseyflex in #1875
- Raise error early when port source is snapped into PML by @weiliangjin2021 in #1895
- Merge develop into 2.8 by @momchil-flex in #1905
- ComponentModeler.batch_data and pathdir enhancements by @tylerflex in #1932
- fixed bug that replaced all lumped elements in simulations, when using TerminalComponentModeler by @dmarek-flex in #1953
- Make
BatchData
a mapping by @yaugenst-flex in #1960 - Redesigning Design Methods with Bayesian Optimisation by @m-bone in #1762
- Fixed invalid s-parameters from wave port. by @QimingFlex in #1904
- Add validation and repair for TriangleMesh with inward-facing normals by @caseyflex in #1976
- mode solver preconditioner improvement and turning off incidence matrix by @weiliangjin2021 in #1928
- Construct medium from a transfer function by @dmarek-flex in #1974
- fix bug when setting 'path_dir' in ComponentModeler by @dmarek-flex in #1990
- fixed bug where lumped elements were not being removed in Simulation.subsection by @dmarek-flex in #1995
- fix invalid geometry created in 'subdivide' by @dmarek-flex in #1993
- fix field projection discrepancy by @dmarek-flex in #2005
- Add LossyMetalMedium and subpixel options for lossy_metal including SIBC by @weiliangjin2021 in #1886
- Convert several mode solver methods to staticmethods by @weiliangjin2021 in #2008
- Skip geometry validation in simulation subsection and mode solver reduction by @weiliangjin2021 in #2022
- rename autograd_background_permittivity to background_permittivity by @tylerflex in #2030
- New Monitor._to_solver_monitor property used internally in the backend by @momchil-flex in #2021
- Mode solver improvement for simulations at low-frequency containing metals by @weiliangjin2021 in #2023
- add internal construct smatrix by @dmarek-flex in #2037
- mode_spec.precision default to
auto
by @weiliangjin2021 in #2031 - fix for issue where subdivide was creating very small polygons by @dmarek-flex in #2029
- expanded lumped elements by @dmarek-flex in #1980
- Fix to bend modes when grid is not symmetric w.r.t. plane center by @momchil-flex in #2026
- Silence graphene warning from checking fit at high freq by @caseyflex in #1938
- fixed mistake from previous PR that added internal construct smatrix by @dmarek-flex in #2063
- Merge/develop 2 8 by @momchil-flex in #2079
- If no sources set the runtime based on index of 1 by @momchil-flex in #2081
- Show WebAPI system warning message. by @QingengWei in #2075
- PolySlab rotated and translated methods that return PolySlab by @momchil-flex in #2089
- changed the default choice of frequency when plotting permittivity by @dmarek-flex in #2091
- Add interp validator to custom current source by @yaugenst-flex in #2093
- Simplify interp validator by @yaugenst-flex in #2096
- better plot_grid by @tylerflex in #2097
- Fix another geos error in _filter_structures_plane by @weiliangjin2021 in #2098
- automatic mode rotation for bent waveguide by @QimingFlex in #2028
- auto grab permittivity inside and outside
PolySlab
andCylinder
by @tylerflex in #2080 - fix
attrs
bug withinf
by @tylerflex in #2099 - fix link by @FilipeFcp in #2094
- Add more robust gauge choice for high-order modes by @lucas-flexcompute in #2018
- MeshOverrideStructure only Box by @tylerflex in #2107
- Clear cached property when validation is off by @weiliangjin2021 in #2108
- Adding 'fields' argument to ModeSolver and ModeSolverMonitor by @momchil-flex in #2110
- Allow double precision mode solver in EME. by @caseyflex in #2117
- Fixed angle simulations by @dbochkov-flexcompute in #1954
- call metadata api after uploading file by @QingengWei in #2114
- Run the mode solver through the regular webapi functions by @momchil-flex in #2115
- Bump pytorch version because <=2.1 does not have cpuonly py312 wheels by @yaugenst-flex in #2118
- refactor gradient calculations to use
DerivativeSurfaceMesh
by @tylerflex in #2056 - Remove unused env by @QingengWei in #2121
- Merge/develop 2 8 by @momchil-flex in #2120
- Adding ElectromagneticFieldData._check_fields_stored by @momchil-flex in #2122
- Raising instead of warning if cost could not be estimated by @momchil-flex in #2126
- Convert JaxSimulation to Simulation if passed in mode solver by @momchil-flex in #2127
- Thread-safe creation of temp dir by @momchil-flex in #2128
- add preprod env by @QingengWei in #2134
- Improve progress bar display in Batch operations by @yaugenst-flex in #2135
- add solver_version for metadata api by @QingengWei in #2133
- Refactored DirectivityData to store far fields and flux as fields, and compute radiation parameters via properties by @QimingFlex in #2129
- NumPy 2.1 compatibility for xarray interpolation by @yaugenst-flex in #2143
- Use default
td.ModeSpec
in mode monitors by @yaugenst-flex in #2058 - Minimum install for tidy3d by @yaugenst-flex in #2087
- Add option to log handler to prefix every line by @momchil-flex in #2150
- maint: Bump JAX version for numpy 2 compatibility by @yaugenst-flex in #2146
- feat[frontend]: implementation and testing for VisualizationSpec by @groberts-flex in #2147
- QuasiUniformGrid and min_steps_per_sim_size` by @weiliangjin2021 in #2130
- Move
min_steps_per_sim_size
to the end of args list inauto
for back-compatibility by @weiliangjin2021 in #2158 - Test parallelization by @yaugenst-flex in #2165
- fix[invdes]: handle pixel size validation for simulations without sources by @yaugenst-flex in #2161
- Fix system-dependent floating-point issue in EMEGrid validation by @caseyflex in #2167
- Adding reduced_simulation option to web functions by @momchil-flex in #2166
- fix[tests]: clear log capture at start of local mode solver test by @yaugenst-flex in #2171
- Fix gradient magnitude custom medium by @groberts-flex in #2159
- feat[frontend]: add angle validator to specify expected angle in radians by @groberts-flex in #2163
- feat: Add autograd support for PolySlab transformations by @rahul-flex in #2170
- Fix AutoGrid to use full sim_size for computing dl_max by @weiliangjin2021 in #2174
- Adding fp_eps buffer to polyslab 'inside' checks by @momchil-flex in #2173
- Allow MeshOverrideStructure to unshadow structures in overlapping region by @weiliangjin2021 in #2181
- add tests for polyslab slab bounds gradient check by @rahul-flex in #2187
- Fix file contention issues in parallel tests by @yaugenst-flex in #2175
- Adding reduce_simulation argument to run_async by @momchil-flex in #2188
- Reduce complex tolerance in mode solver by @momchil-flex in #2178
- fix[autograd]: ensure consistent task name mapping for batch autograd by @yaugenst-flex in #2191
- prepare for 2.7.9 by @yaugenst-flex in #2193
- Merge/develop 2 8 by @momchil-flex in #2194
- Add adaptive scientific notation for frequency range by @rahul-flex in #2196
- Charge solver by @marc-flex in #2077
- remove warnings in heat/charge simulation data by @dbochkov-flexcompute in #2206
- Update error handling in webapi, and Heat->HeatCharge in message by @momchil-flex in #2204
- feature[design]: allow design plugin to interface with pytorch via Result by @groberts-flex in #2189
- make unstructured datasets to return SpatialDataArray if no additional variables by @dbochkov-flexcompute in #2210
- β‘ Backwards compatibility plotting by @daquinteroflex in #2209
- Constant doping box foxed by @marc-flex in #2205
- π§ fix duplicate web folders by @dmarek-flex in #2199
- add ability to not distribute lumped elements by @dmarek-flex in #2132
- fix lumped element changelog by @dmarek-flex in #2213
- Doping 0-size message and bugs by @marc-flex in #2212
- Improve CI workflow with separate lint job and conditional test runs by @yaugenst-flex in #2203
- Add twin axis plot for n and k by @txdai in #2202
- π§ β‘ Fix charge doctest examples by @daquinteroflex in #2215
- cherry-pick doctest runs from
develop
by @yaugenst-flex in #2216 - fix bug in the resistor and coax resistor variants of lumped elements by @dmarek-flex in #2217
- Remove flux monitor frequencies from adjoint frequencies by @groberts-flex in #2218
- Fix duplicate CI runs on non-develop branches by @yaugenst-flex in #2219
- A meshing bug that skips the domain coordinate by @weiliangjin2021 in #2220
- Automatical mesh refinement in layered structures by @weiliangjin2021 in #2113
- User friendly error for wvl_mat_min when no sources present by @groberts-flex in #2221
- update notebooks submodule after surrogate notebook merge by @groberts-flex in #2222
- maint[tests]: constrain number of cores used for parallel testing by @yaugenst-flex in #2211
- π Remove collab launch links by @daquinteroflex in #2225
- Grid snapping off for unshadowed MeshOverrideStructure unless it refines mesh by @weiliangjin2021 in #2223
- Make gauge selection for non-converge modes more robust by @lucas-flexcompute in #2214
- Bumping version to 2.8.0rc3 by @momchil-flex in #2227
- fix[tests]: increase overlap threshold in test_mode_solver_data_sort by @groberts-flex in #2229
- Bug fix for unshadowed override structure extending outside the simulation domain by @weiliangjin2021 in #2233
- maint[web]: Use default S3 TransferConfig for up/downloads by @yaugenst-flex in #2226
- Allow setting of numerical tolerance for autograd check_grads function by @groberts-flex in #2232
- New flag in override structure on whether to be dropped when it's outside the simulation by @weiliangjin2021 in #2235
- β‘ Fossum model for carrier lifetime by @marc-flex in #2231
- In LossyMetal rename SkinDepthFitterParam to SurfaceImpedanceFitterParam and plot impedance by @weiliangjin2021 in #2237
- change plot_3d iframe url to prod by @majinge7846 in #2236
- β‘ Fix normal axis in doping by @marc-flex in #2239
- Fix extremely long run_time in the presence of lossy metal by @weiliangjin2021 in #2244
- Add ModeSimulation classes by @caseyflex in #2208
- Add translated_copy function to ElectromagneticFieldData by @caseyflex in #2238
- Introducing AnalyticBeam components by @momchil-flex in #2230
- Replace complex fields with real fields in all nonlinearities by @caseyflex in #2247
- Speed up layer refinement by caching and skipping exterior structures by @weiliangjin2021 in #2249
- Fixed bug and added warning when a lumped element is placed outside the Simulation. by @dmarek-flex in #2254
- Allow ModeData to be passed to path integral computations with small refactor to reduce duplicate code by @dmarek-flex in #2256
- Fix modeler.to_file when batch is empty by @weiliangjin2021 in #2259
- Add ModeSolver remote data patching by @caseyflex in #2257
- Increase the refresh time. by @QingengWei in #2265
- add HEAT_CHARGE type by @QingengWei in #2246
- Support for automatically running multiple adjoint simulations from single fwd by @yaugenst-flex in #2241
- 2.8 by @tylerflex in #1777
- Add folder_name for the task GUI link. by @QingengWei in #2260
- Fix to _interpolated_tangential_fields when data has only one coordinate by @momchil-flex in #2266
- π§ π€ Consolidate coverage tests by @daquinteroflex in #2271
- π§ fix common typo in docstring links by @dmarek-flex in #2267
- Improve meshing and snapping points in lumped elements by @weiliangjin2021 in #2263
- add antenna gain and efficiency figures of merit by @dmarek-flex in #2190
- Array factor by @dbochkov-flexcompute in #2228
- Frequency-dependent rotation to constant in-plane k beam by @momchil-flex in #2272
- More robust float number comparison in Mesher.filter_min_step by @weiliangjin2021 in #2278
- batch supports aborting and aborted status. by @QingengWei in #2279
- add viz_spec property for plotting structures that have no medium by @groberts-flex in #2280
- Update spice.rst by @marc-flex in #2273
- Use
bayes_opt<2
by @yaugenst-flex in #2281 - Co- and cross-polarization for linear polarization by @weiliangjin2021 in #2268
- Added validation for the monitors frequency range to be consistent with the frequency range defined by the sources. by @vasilyzabelin in #2274
- Another 2.8 branch merge as we kept developing by @momchil-flex in #2283
- Fix adjoint source creation by @groberts-flex in #2282
- refc[adjoint]: filter zero VJPs in setup_adj by @yaugenst-flex in #2287
- Simulation.grid_info property for important grid information by @weiliangjin2021 in #2285
- add link to array calculator class by @dbochkov-flexcompute in #2284
- optimize abort task by @QingengWei in #2288
- Refactored
bend_angle_rotation
to support general angle rotation by @QimingFlex in #2269 - Adjusting corss-medium check to SolidMedium by @marc-flex in #2289
- optimize abort task by @QingengWei in #2291
- changelog and final pre-release updates by @momchil-flex in #2290
New Contributors
- @groberts-flex made their first contribution in #2147
- @rahul-flex made their first contribution in #2170
- @vasilyzabelin made their first contribution in #2274
Full Changelog: v2.7.8...v2.8.0