Releases: flexcompute/tidy3d
Releases Β· flexcompute/tidy3d
v2.8.0rc2
What's Changed
- 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
New Contributors
- @groberts-flex made their first contribution in #2147
- @rahul-flex made their first contribution in #2170
Full Changelog: v2.8.0rc1...v2.8.0rc2
v2.7.9
What's Changed
- fix link by @FilipeFcp in #2094
- maint: Bump JAX version for numpy 2 compatibility by @yaugenst-flex in #2146
- 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
Full Changelog: v2.7.8...v2.7.9
v2.8.0rc1
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 @magiWei 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 @magiWei 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 @magiWei 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 @magiWei 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 @magiWei 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
Full Changelog: v2.7.8...v2.8.0rc1
v2.7.8
What's Changed
- β¬οΈ Looser 2.0 numpy functionality by @daquinteroflex in #1913
- fix gradient for single freq selection from multi freq mnt by @tylerflex in #2076
- Moving nonlinear warnings to simulation and consolidating by @momchil-flex in #2088
- more autograd fixes for 2.7.8 by @tylerflex in #2082
- autograd tests angled waveguide by @tylerflex in #2092
Full Changelog: v2.7.7...v2.7.8
v2.7.7
What's Changed
- display task_id in download log error message by @tylerflex in #2044
- simulation_type default to "tidy3d" always by @tylerflex in #2039
- fix: bug in local field projection for
far_field_approx=True
by @yaugenst-flex in #2048 - Allow transformed groups to be flattened by @lucas-flexcompute in #2050
- fix bug in autograd differentiation cylinder.center by @tylerflex in #2049
- Add frequency/wavelength utilities by @lucas-flexcompute in #2036
- size=0 adjoint montiors for single pixel dims in custom mediums by @tylerflex in #2052
- fix: xarray 2024.10 compatibility by @yaugenst-flex in #2054
- More autograd helpers by @yaugenst-flex in #2055
- fix: expressions plugin doctests by @yaugenst-flex in #2057
- Validate that bend radius is not smaller than half the mode plane size by @momchil-flex in #2053
- feat: add s3 config to download_file call. by @pperanich in #2060
- fix polyslab edge gradient assignment by @tylerflex in #2064
- Support for adjoint simulations with no monitors (zero gradients) by @yaugenst-flex in #2061
- Validate against nonlinear and modulation in FullyAnisotropicMedium.f⦠by @caseyflex in #2066
- Set minimum PML layers to 6 by @momchil-flex in #2065
- Passing kwargs in Lorentz.from_nk by @momchil-flex in #2067
- add
Structure.background_medium
and deprecatebackground_permittivity
by @tylerflex in #2069 - Add warning to complex-field nonlinearities by @caseyflex in #2068
- fix: Exact field projection J/M indexing by @yaugenst-flex in #2071
- Fix potential self-intersection polygon in Scene._filter_structures_plane by @weiliangjin2021 in #2072
New Contributors
- @pperanich made their first contribution in #2060
Full Changelog: v2.7.6...v2.7.7
v2.7.6
What's Changed
- π§ π€ Fix release actions deployment by @daquinteroflex in #1979
- Fixing a few optimizer validation issues by @momchil-flex in #1982
- βͺ Revert h5py looser requiements by @daquinteroflex in #1983
- Updating mode object crossing symmetry plane error by @momchil-flex in #1986
- Support uniform dimensions in
TopologyDesignRegion
by @yaugenst-flex in #1987 - move adjoint source post norm from source info to simulation by @momchil-flex in #1994
- fix autograd bug re: inclusion extraneous field mnts by @tylerflex in #1988
- Update
latest
docs by @daquinteroflex in #2003 invdes
validators by @yaugenst-flex in #1992- Autograd <-> PyTorch wrapper by @yaugenst-flex in #1984
- π Basic example section introductions by @daquinteroflex in #2000
- Escaping web dependence in invdes plugin until needed by @momchil-flex in #2006
- Added a fix to ensure remote folder is created before running batch o⦠by @prashkh in #2007
- Fix simulation file overwriting caused by same file name of forward and adjoint simulations by @txdai in #1989
- correcting plot functions for ModeSolver by @FilipeFcp in #1966
- Add
_validation_data
property toMetric
classes by @yaugenst-flex in #2012 - Fix metric validator for float case by @yaugenst-flex in #2013
- efficiency improvements in autograd derivatives by @tylerflex in #2015
- Replace infinite coordinates for shapely operation by @lucas-flexcompute in #2014
- fix broken examples link in readme by @tylerflex in #2016
- Consolidate some warning messages by @momchil-flex in #2017
- small change in the documentation by @FilipeFcp in #1957
- π Multiple docs fixes and improvements by @daquinteroflex in #2009
- Issue a single structure exactly at bounds warning by @momchil-flex in #2024
- add
background_permittivity
toStructure
to manually override shape optimization by @tylerflex in #2033 - more polyslab gradient bug fixes by @tylerflex in #2020
- fix: remove autograd temporary simulation files by @yaugenst-flex in #2032
- Autograd Dataarray rework by @yaugenst-flex in #2025
- fix: resolve scalar frequencies in metrics not passing validation by @yaugenst-flex in #2035
- Polygon triangulation supports collinear vertices by @lucas-flexcompute in #2034
- implementing interpolation option for
plot_field
method by @FilipeFcp in #1964 - Differentiable local field projection by @yaugenst-flex in #1822
- Pre-upload validating server autograd runs and optimizer by @momchil-flex in #2038
- fix: xarray 2023.08.0 compatibility by @yaugenst-flex in #2041
New Contributors
Full Changelog: v2.7.4...v2.7.6
v2.7.5
What's Changed
- π§ π€ Fix release actions deployment by @daquinteroflex in #1979
- Fixing a few optimizer validation issues by @momchil-flex in #1982
- βͺ Revert h5py looser requiements by @daquinteroflex in #1983
- Updating mode object crossing symmetry plane error by @momchil-flex in #1986
- Support uniform dimensions in
TopologyDesignRegion
by @yaugenst-flex in #1987 - move adjoint source post norm from source info to simulation by @momchil-flex in #1994
- fix autograd bug re: inclusion extraneous field mnts by @tylerflex in #1988
invdes
validators by @yaugenst-flex in #1992- Autograd <-> PyTorch wrapper by @yaugenst-flex in #1984
- π Basic example section introductions by @daquinteroflex in #2000
- Escaping web dependence in invdes plugin until needed by @momchil-flex in #2006
- Added a fix to ensure remote folder is created before running batch o⦠by @prashkh in #2007
- Fix simulation file overwriting caused by same file name of forward and adjoint simulations by @txdai in #1989
- correcting plot functions for ModeSolver by @FilipeFcp in #1966
- Add
_validation_data
property toMetric
classes by @yaugenst-flex in #2012 - Fix metric validator for float case by @yaugenst-flex in #2013
- efficiency improvements in autograd derivatives by @tylerflex in #2015
- Replace infinite coordinates for shapely operation by @lucas-flexcompute in #2014
- fix broken examples link in readme by @tylerflex in #2016
- Consolidate some warning messages by @momchil-flex in #2017
New Contributors
Full Changelog: v2.7.4...v2.7.5
v2.7.4
What's Changed
- Add optimization direction to
invdes.Optimizer
by @yaugenst-flex in #1961 - fix: respect
path
argument inrun()
function for autograd and adjoint plugin by @yaugenst-flex in #1965 Structure.from_permittivity_array
by @tylerflex in #1972invdes
plugin GUI support by @yaugenst-flex in #1973- isel-ing the frequency in metric.evaluate by @momchil-flex in #1978
- Rework make_filter interface to accept either size_px or radius and d⦠by @yaugenst-flex in #1776
- Fix bug in subsection with nonlinear materials source detection by @caseyflex in #1977
Full Changelog: v2.7.3...v2.7.4
v2.7.3
What's Changed
- feat:
value_and_grad
with support for auxiliary data by @yaugenst-flex in #1890 - clarifying the documentation for ApodizationSpec by @FilipeFcp in #1889
- removed a redundant change log for 2d projection by @QimingFlex in #1896
- π¦ Remove flax from bug-pip-install on base dependencies by @daquinteroflex in #1897
- π§ Fix tag sync alongside branch sync by @daquinteroflex in #1892
- fix: make sure coordinates retain correct ordering after autograd interp by @yaugenst-flex in #1900
- Fix CustomSourceTime with times completely outside envelope range by @caseyflex in #1901
- Add Simulation.num_computational_cells property by @momchil-flex in #1903
- Only warn once per structure into PML to avoid duplicate warnings by @momchil-flex in #1911
- Improve passivity enforcement near high-Q poles in FastDispersionFitter by @caseyflex in #1894
- Dilation support for
JaxPolySlab
by @yaugenst-flex in #1909 - More autograd improvements by @tylerflex in #1914
- autograd gradient fixes and miscellaneous improvements by @tylerflex in #1891
- π» Β add cylinder differentiation support by @tylerflex in #1915
- π» better error when flux monitor used in autograd by @tylerflex in #1917
- fixes bug if traced cylinders are inovled in intersections by @tylerflex in #1920
- π Include mode web api docs by @daquinteroflex in #1887
- π§ Fix 404 mamba install link by @daquinteroflex in #1924
- β¬οΈ Temporary lockfile update by @daquinteroflex in #1929
- added validator to error out Bloch boundaries in along 0-dim in 2D simulations by @QimingFlex in #1919
- minor fix bloch validator by @tylerflex in #1930
- Bump to xarray>=2023.08.0 by @yaugenst-flex in #1925
- improving beam_waist documentation by @FilipeFcp in #1936
- 2nd round of autograd fixes by @tylerflex in #1923
- add the num_freqs arg to .to_source methods by @FilipeFcp in #1935
- fix bug in cylinder VJP related to angles by @tylerflex in #1948
- Enabled kspace projection for 2D simulations by @QimingFlex in #1937
New Contributors
- @FilipeFcp made their first contribution in #1889
Full Changelog: v2.7.2...v2.7.3
v2.7.2
What's Changed
- Making _esp_bounds and _get_structure_eps_plot_params static methods by @momchil-flex in #1819
- Speeding up num_mediums test by @momchil-flex in #1820
- Fix bug in loading previously run Batch and ComponentModeler from file when custom medium present by @tylerflex in #1817
- Fixing DataArray.tracers for zero-sized data by @momchil-flex in #1818
- π§ͺ Move the import benchmark to scripts by @daquinteroflex in #1827
- fix: remove
autograd.py
by @yaugenst-flex in #1834 - Fixed plot_pml to mode plane symmetry. by @e-g-melo in #1832
- Added support for EMESimulation in ModeSolver plugin by @caseyflex in #1802
- Fix near2far for 2d simulations by @QimingFlex in #1639
- π§ Fix the develop cli action by @daquinteroflex in #1837
- Improved mesh repair options in TriangleMesh by @caseyflex in #1814
- refc: replace
assert
statements by @yaugenst-flex in #1835 - Add progress bar for EME by @caseyflex in #1772
- Small fix to changelog by @momchil-flex in #1852
- simulation.subsection to include PML by @weiliangjin2021 in #1836
- Update to [email protected] by @yaugenst-flex in #1858
- Fix bug when running the same mode solver both locally and remote by @momchil-flex in #1866
- autograd gradients computed on the server-side by @momchil-flex in #1824
- π» autograd: broadband objectives with single adjoint simulation by @tylerflex in #1830
- fix autograd serverside gradients with broadband adjoint sources by @tylerflex in #1872
- fix bug in autograd local with missing task_ids by @tylerflex in #1877
- π Fix image rendering by @daquinteroflex in #1855
- π¨ Update the submodule checks by @daquinteroflex in #1871
- π§ Propagate pre/2.8 sync fix to develop by @daquinteroflex in #1879
- add units to
IndexPerturbation.frequency
by @tylerflex in #1868 - Add subsection for EMESimulation by @caseyflex in #1863
- Move some EME validators to pre_upload by @caseyflex in #1873
- Updated validator for 2D far field projection to include FieldProjectionCartesianMonitor by @QimingFlex in #1850
- fix jobs cached in adjoint batch by @tylerflex in #1881
- Restricting allowed ModeSolver.plane types by @momchil-flex in #1882
- Return modes info table even if fields not available by @dbochkov-flexcompute in #1884
- feat: flux and poynting properties for
FieldProjectionCartesianData
by @yaugenst-flex in #1874 - π§ Remove latest notebook submodule checks by @daquinteroflex in #1888
Full Changelog: v2.7.1...v2.7.2