Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 12, 2025

Updates the requirements on tidy3d to permit the latest version.

Release notes

Sourced from tidy3d's releases.

v2.9.0

What's Changed

... (truncated)

Changelog

Sourced from tidy3d's changelog.

[2.9.0] - 2025-08-04

Added

  • Fields convex_resolution, concave_resolution, and mixed_resolution in CornerFinderSpec can be used to take into account the dimensions of autodetected convex, concave, or mixed geometric features when dl_min is automatically inferred during automatic grid generation.
  • LayerRefinementSpec now supports automatic thin gap meshing through fields gap_meshing_iters and dl_min_from_gap_width.
  • Added eps_lim keyword argument to Simulation.plot_eps() for manual control over the permittivity color limits.
  • Added thickness parameter to LossyMetalMedium for computing surface impedance of a thin conductor.
  • priority field in Structure and MeshOverrideStructure for setting the behavior in structure overlapping region. When its value is None, the priority is automatically determined based on the material property and simulation's structure_priority_mode.
  • Automatically apply matplotlib styles when importing tidy3d which can be reverted via the td.restore_matplotlib_rcparams() function.
  • Added TriangleMesh.from_height_expression class method to create a mesh from an analytical height function defined on a 2D grid and TriangleMesh.from_height_grid class method to create a mesh from height values sampled on a 2D grid.
  • Added heat sources with custom spatial dependence. It is now possible to add a SpatialDataArray as the rate in a HeatSource.
  • Added Transient Heat simulations. It is now possible to run transient Heat simulations. This can be done by specifying analysis_spec of HeatChargeSimulation object as UnsteadyHeatAnalysis.
  • A num_grid_cells field to WavePort, which ensures that there are 5 grid cells across the port. Grid refinement can be disabled by passing None to num_grid_cells.
  • Implemented FreqRange utility class for frequency/wavelength handling with constructor methods from_freq_interval(), from_wavelength(), and from_wvl_interval().
  • Add support for np.unwrap in tidy3d.plugins.autograd.
  • Add Nunley variant to germanium material library based on Nunley et al. 2016 data.
  • Add PointDipole.sources_from_angles() that constructs a list of PointDipole objects needed to emulate a dipole oriented at a user-provided set of polar and azimuthal angles.
  • Added priority parameter to web.run() and related functions to allow vGPU users to set task priority (1-10) in the queue.
  • EMEFieldMonitor now supports interval_space.
  • Simulation.precision option allows to select "double" precision for very high-accuracy results. Note that this is very rarely needed, and doubles the simulation computational weight and correspondingly FlexCredit cost.
  • Added material type PMCMedium for perfect magnetic conductor.
  • ModeSimulation.plot() method that plots the mode simulation plane by default, or the containing FDTD simulation if any of x, y, or z is passed.
  • Enable singularity correction at PEC and lossy metal edges.
  • New VolumeMesher simulation type and associated VolumeMeshMonitor and VolumeMesherData, which can be used to run the unstructured meshing for a HeatChargeSimulation separately before running the solver.
  • The current validator for Conduction simulations has been modified so that it checks that in a Conduction simulation there is at least one structure defined with ChargeConductorMedium in the charge field of a MultiPhysicsMedium. This is necessary to ensure simulations are properly set up in the back-end since it relies on the conductivity field of ChargeConductorMedium and not that of Medium.
  • Access field decay values in SimulationData via sim_data.field_decay as TimeDataArray.

Changed

  • Relaxed bounds checking of path integrals during WavePort validation.
  • Internal adjoint helper methods are now prefixed with an underscore to separate them from the public API.
  • Drop the dependency on gdspy, which has been unmaintained for over two years. Interfaces previously relying on gdspy now use its maintained successor, gdstk, with equivalent functionality.
  • Small (around 1e-4) numerical precision improvements in EME solver.
  • Adjoint source frequency width is adjusted to decay sufficiently before zero frequency when possible to improve accuracy of simulation normalization when using custom current sources.
  • Change VisualizationSpec validator for checking validity of user specified colors to only issue a warning if matplotlib is not installed instead of an error.
  • Improved performance of tidy3d.web.delete_old() for large folders.
  • tidy3d.plugins.autograd.interpolate_spline() and tidy3d.plugins.autograd.add_at() can now be called with keyword arguments during tracing.
  • Zero-size dimensions automatically receive periodic boundary conditions instead of raising an error.
  • Set ModeSpec precision to double by default for more accurate mode solver results. Does not apply to EMEModeSpec, where the auto precision is still default for speed and cost.
  • Switched to an analytical gradient calculation for spatially-varying pole-residue models (CustomPoleResidue).
  • Significantly improved performance of the tidy3d.plugins.autograd.grey_dilation morphological operation and its gradient calculation. The new implementation is orders of magnitude faster, especially for large arrays and kernel sizes.
  • Warnings are now generated (instead of errors) when instantiating PML, StablePML, or Absorber classes (or when invoking pml(), stable_pml(), or absorber() functions) with fewer layers than recommended.
  • Warnings and error messages originating from Structure, Source, or Monitor classes now refer to problematic objects by their user-supplied name attribute, alongside their index.
  • File downloads are atomic. Interruptions or failures during download will no longer result in incomplete files.
  • Warnings are now generated (instead of errors) when instantiating PML, StablePML, or Absorber classes (or when invoking pml(), stable_pml(), or absorber() functions) with fewer layers than recommended.
  • Simulation.subsection can no longer take symmetry as an argument - the symmetry is always taken from the original simulation.
  • If a mode simulation is crossing a symmetry plane of the larger simulation domain, but the mode plane is not symmetric, a warning is issued that it will be expanded symmetrically. Previously this warning only happened during the solver run.
  • Enhanced PolySlab and Cylinder gradient computation via adaptive field sampling along geometry boundaries instead of fixed-grid center sampling.
  • Shape derivatives have been sped up significantly, especially for simulations containing many structures in a GeometryGroup.

... (truncated)

Commits
  • bfe45d8 release: Regenerate test files
  • cd5d2df fix(adjoint): fix frequency selection in adjoint postprocessing frequency bat...
  • e87005e Validate against EMEFieldMonitor with EMELengthSweep
  • f1ee13a Updating changelog for 2.9.0
  • c6be584 ci: Enable manual overwrite tidy3d-docs
  • f7d939d release: Final schema regeneration and submodules
  • 0ac4b0e Expand double precision explanation
  • 1e57e80 fix: Required dependencies and warning 2.10 ComponentModeler
  • 57a5442 update: Add TerminalComponentModeler backwards compatibilty warning
  • 4834824 update: adjoint plugin deprecation warning
  • Additional commits viewable in compare view

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Updates the requirements on [tidy3d](https://github.com/flexcompute/tidy3d) to permit the latest version.
- [Release notes](https://github.com/flexcompute/tidy3d/releases)
- [Changelog](https://github.com/flexcompute/tidy3d/blob/develop/CHANGELOG.md)
- [Commits](flexcompute/tidy3d@v2.8.2...v2.9.0)

---
updated-dependencies:
- dependency-name: tidy3d
  dependency-version: 2.9.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Aug 12, 2025
@dependabot dependabot bot requested a review from joamatab as a code owner August 12, 2025 16:14
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Aug 12, 2025
@dependabot dependabot bot requested a review from MatthewMckee4 as a code owner August 12, 2025 16:14
@dependabot dependabot bot added the python Pull requests that update Python code label Aug 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants