Releases: flexcompute/tidy3d
Releases · flexcompute/tidy3d
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 ruff@0.5.5 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
v2.7.1
What's Changed
- Update poetry lockfile by @yaugenst-flex in #1770
- 🔧 Run tests in correct poetry python environment by @daquinteroflex in #1771
- Issue #1416 and #1708 changes by @m-bone in #1744
- 🗻 autograd: geometry group by @tylerflex in #1768
- Fix for #1778 by @lucas-flexcompute in #1779
- fix finite precision bug when placing path integrals in CoaxialLumpedPorts by @dmarek-flex in #1780
- Removed no sources in simulation log info. by @e-g-melo in #1784
- fixed bug when coaxial ports are snapped to grid cell boundaries. by @dmarek-flex in #1785
- fix
PolySlab
inautograd
gradient whensidewall_angle
ordilation
used by @tylerflex in #1792 - Support older version of xarray in EME smatrix_in_basis by @caseyflex in #1795
- add
RunTimeSpec
to API ref by @tylerflex in #1799 - 🗻 autograd: dispersive models by @tylerflex in #1761
- fix box gradients < 3d by @tylerflex in #1801
- Added: mode plane plotting functions (#1397). by @e-g-melo in #1793
- Differentiable n-dimensional
nearest
andlinear
interpolation forDataArray
by @yaugenst-flex in #1769 - Updating point dipole power docstring and faq by @momchil-flex in #1806
- 🔧 Correct sync between frontend and docs by @daquinteroflex in #1805
- Lazily load
scipy.io
inSimulationData.to_mat_file()
by @yaugenst-flex in #1807 - dummy version updater for base simulation by @dbochkov-flexcompute in #1808
- minor fix changelog for 2.7.1 by @tylerflex in #1812
New Contributors
Full Changelog: v2.7.0...v2.7.1
v2.7.0
What's Changed
- FIX: Update to latest submodules by @daquinteroflex in #1494
- Add uniaxial medium lithium niobate to material library by @weiliangjin2021 in #1484
- more accurate adjoint run_time by @tylerflex in #1473
- RF feature (Hold to merge to pre/2.7 branch) by @weiliangjin2021 in #1471
- added lumped ports to smatrix plugin by @dmarek-flex in #1443
- Improve voltage computation for lumped ports by @dmarek-flex in #1519
- Fix PolySlab intersections when bounds contain inf by @weiliangjin2021 in #1547
- Add validator for geometry transformations (#1538) by @lucas-flexcompute in #1540
- Modified zero-size validator by @marc-flex in #1535
- Fix: port computations for coarse grids by @dmarek-flex in #1558
- Unstructured custom medium by @dbochkov-flexcompute in #1498
- fix logger assignment in web core by @dbochkov-flexcompute in #1573
- add unstructured datasets in docs by @dbochkov-flexcompute in #1571
- Bump trimesh version to >=4,<4.2 by @caseyflex in #1557
- Restrict number of time points for non-0D field time monitors by @momchil-flex in #1554
- FEAT: Compute characteristic impedance from fields by @dmarek-flex in #1542
- adjoint run_local disables restrictive validators by @tylerflex in #1577
- Fixing real_cost to only show the early shutoff message for FDTD runs by @momchil-flex in #1583
- Added EME solver by @caseyflex in #1453
- fix(): SCEM-5311 - Make Tidy3D plot_3d compatible with script limits by @tim-goddard-flexcompute in #1586
- update submodules develop by @tylerflex in #1596
- smatrix backwards compatible import by @tylerflex in #1595
- 📖 DOCS: Improve constants representations by @daquinteroflex in #1603
- fix interpolation for unstructured data by @dbochkov-flexcompute in #1605
- mkdirs in to_gds_file calls if they dont exist by @tylerflex in #1589
- Fix
JaxSimulation.epsilon
to include allinput_structures
by @tylerflex in #1601 - JaxSimulation properties to check adjoint run_time by @tylerflex in #1608
- Minor improvements to EME by @caseyflex in #1609
- Recursive
updated_copy()
of nested components withpath
by @tylerflex in #1594 - 🔧 FIX: v2.5.2 requirements included by @daquinteroflex in #1598
- fix field data flux by @tylerflex in #1606
- import scipy only when needed by @dbochkov-flexcompute in #1615
- models for microstrips by @dmarek-flex in #1616
- fix adjoint jax structure with fully anisotropic medium by @tylerflex in #1625
- fix bug in
Design.run_batch()
when kwargs provided by @tylerflex in #1626 - Fixing formatting of FieldProjectionKSpaceMonitor docstring by @momchil-flex in #1627
- 📦 BUILD: Python 3.12 compatibility by @daquinteroflex in #1622
- warning and changelog for
JaxPolySlab.vertices
no longer tracing derivatives by @tylerflex in #1623 - proper error when computing poynting vector of jax-traced field data by @tylerflex in #1600
- fix missing doc references for smatrix by @dmarek-flex in #1629
- Zero thickness for volumetric equivalence of 2D material by @weiliangjin2021 in #1555
- 📦 BUILD: Fix automatic merge avoided on rc release by @daquinteroflex in #1635
- 🔧 FIX: bumpmyversion pyproject.toml match by @daquinteroflex in #1632
- 📦 BUILD: Update rich for flow360 full compatibility by @daquinteroflex in #1640
- support gz in updater by @tylerflex in #1641
- fix plotting of 2d objects by @dmarek-flex in #1643
- Heat solver improvements by @dbochkov-flexcompute in #1638
- 📦 BUILD: Update for MacOS 14 compatibility by @daquinteroflex in #1650
- Improve mode solver PML by @momchil-flex in #1580
- 📦 BUILD: Fix bump-to-version matching by @daquinteroflex in #1653
- batch refactoring / multi-threading by @tylerflex in #1630
- Warning if a nonuniform custom medium is intersecting certain sources and monitors by @weiliangjin2021 in #1588
- 📦 BUILD: Fix the trigger develop cli action to sync branches by @daquinteroflex in #1651
- Add metadata to Tidy3D components by @tylerflex in #1493
- fix
log_capture
removed erroneously by ruff by @tylerflex in #1661 - fix: GDS export wrappers in
JaxSimulation
(#1334) by @yaugenst-flex in #1660 - Alec/remove converter by @alec-flexcompute in #1658
- Simulation.run_time accepts RunTimeSpec by @tylerflex in #1495
- Change default EME constraint to 'passive' by @caseyflex in #1655
- bugfix: add task_id to JaxSimulationData by @tylerflex in #1674
- feat: Support selection by nearest value in
JaxDataArray
by @yaugenst-flex in #1671 - More options in DispersionFitter and fit constant loss tangent model by @weiliangjin2021 in #1652
- validate single pixel mode source by @dmarek-flex in #1676
- handle edge case when
estimate_cost()
returns None for jobs inBatch
by @tylerflex in #1673 - use joblib in adjoint multithreading by @tylerflex in #1665
- Handle all remaining lint errors in tests by @yaugenst-flex in #1681
- Inverse Design Plugin by @tylerflex in #1560
- Fix to mode pml warning when num_pml==0 on any side by @momchil-flex in #1687
- Fast Dispersion Fitter: keep poles slightly away from input freqs by @caseyflex in #1672
- Relax smallest triangle area in TriangleMesh to 1e-36 by @weiliangjin2021 in #1679
- extra geometries for 2d material by @dmarek-flex in #1644
- TEST: fix medium test comparison by @dmarek-flex in #1688
- Show cost for EME, HEAT, and MODE. Remove URL from EME webapi. by @caseyflex in #1634
- Adding num_proc arg to adjoint run_local, and properly avoiding validators by @momchil-flex in #1686
- fix smatrix component task_ids to/from file by @tylerflex in #1699
- Fix pol vector by @dbochkov-flexcompute in #1694
- fix xarray data access in SpatialDataArray reflection by @dbochkov-flexcompute in #1700
JaxComplexPolySlab
support by @yaugenst-flex in #1698- 📚 DOCS: Minor parameter docstring string update by @daquinteroflex in #1701
- 📦 BUILD: Sync tags to readthedocs repo by @daquinteroflex in #1703
- docs: Add
JaxComplexPolySlab
by @yaugenst-flex in #1704 - 📦 BUILD: Force sync tags from frontend to readthedocs repo by @daquinteroflex in #1709
- Geometry edges over field plots and fix mode solver plot return (#1628) by @lucas-flexcompute in #1710
- Add support for layered cladding in waveguide plugin (#1628, #1599) by @lucas-flexcompute in #1711
- Fix missing check in validator by @lucas-flexcompute in #1712
- Mode solver
run_batch
by @tylerflex in #1685
*...
v2.7.0rc2
What's Changed
- Zero thickness for volumetric equivalence of 2D material by @weiliangjin2021 in #1555
- 📦 BUILD: Fix automatic merge avoided on rc release by @daquinteroflex in #1635
- 🔧 FIX: bumpmyversion pyproject.toml match by @daquinteroflex in #1632
- 📦 BUILD: Update rich for flow360 full compatibility by @daquinteroflex in #1640
- support gz in updater by @tylerflex in #1641
- fix plotting of 2d objects by @dmarek-flex in #1643
- Heat solver improvements by @dbochkov-flexcompute in #1638
- 📦 BUILD: Update for MacOS 14 compatibility by @daquinteroflex in #1650
- Improve mode solver PML by @momchil-flex in #1580
- 📦 BUILD: Fix bump-to-version matching by @daquinteroflex in #1653
- batch refactoring / multi-threading by @tylerflex in #1630
- Warning if a nonuniform custom medium is intersecting certain sources and monitors by @weiliangjin2021 in #1588
- 📦 BUILD: Fix the trigger develop cli action to sync branches by @daquinteroflex in #1651
- Add metadata to Tidy3D components by @tylerflex in #1493
- fix
log_capture
removed erroneously by ruff by @tylerflex in #1661 - fix: GDS export wrappers in
JaxSimulation
(#1334) by @yaugenst-flex in #1660 - Alec/remove converter by @alec-flexcompute in #1658
- Simulation.run_time accepts RunTimeSpec by @tylerflex in #1495
- Change default EME constraint to 'passive' by @caseyflex in #1655
- bugfix: add task_id to JaxSimulationData by @tylerflex in #1674
- feat: Support selection by nearest value in
JaxDataArray
by @yaugenst-flex in #1671 - More options in DispersionFitter and fit constant loss tangent model by @weiliangjin2021 in #1652
- validate single pixel mode source by @dmarek-flex in #1676
- handle edge case when
estimate_cost()
returns None for jobs inBatch
by @tylerflex in #1673 - use joblib in adjoint multithreading by @tylerflex in #1665
- Handle all remaining lint errors in tests by @yaugenst-flex in #1681
- Inverse Design Plugin by @tylerflex in #1560
- Fix to mode pml warning when num_pml==0 on any side by @momchil-flex in #1687
- Fast Dispersion Fitter: keep poles slightly away from input freqs by @caseyflex in #1672
- Relax smallest triangle area in TriangleMesh to 1e-36 by @weiliangjin2021 in #1679
- extra geometries for 2d material by @dmarek-flex in #1644
- TEST: fix medium test comparison by @dmarek-flex in #1688
- Show cost for EME, HEAT, and MODE. Remove URL from EME webapi. by @caseyflex in #1634
- Adding num_proc arg to adjoint run_local, and properly avoiding validators by @momchil-flex in #1686
- fix smatrix component task_ids to/from file by @tylerflex in #1699
- Fix pol vector by @dbochkov-flexcompute in #1694
- fix xarray data access in SpatialDataArray reflection by @dbochkov-flexcompute in #1700
JaxComplexPolySlab
support by @yaugenst-flex in #1698- 📦 BUILD: Sync tags to readthedocs repo by @daquinteroflex in #1703
New Contributors
- @yaugenst-flex made their first contribution in #1660
Full Changelog: v2.7.0rc1...v2.7.0rc2
v2.6.4
Full Changelog: v2.6.3...v2.6.4