Tidy3D Software Releases

Tidy3D Python Client



1. Environment variable TIDY3D_SSL_VERIFY to optionally disable SSL authentication (default is True).
2. Billed FlexUnit cost displayed at the end of web.monitor.

1. Bug on Windows systems with submitting CustomFieldSource data to the server.
2. Fix to FieldData.symmetry_expanded_copy for monitors with colocate=True.

1. The Simulation version updater is called every time a Simulation object is loaded, not just from_file.
2. Boundary specifications that rely on the default Periodic boundary now print a deprecation warning, as the default boundaries will change to PML in Tidy3D 2.0.



1. Environment variable TIDY3D_SSL_VERIFY to optionally disable SSL authentication (default is True).
2. Billed FlexUnit cost displayed at the end of web.monitor.

1. Bug on Windows systems with submitting CustomFieldSource data to the server.
2. Fix to FieldData.symmetry_expanded_copy for monitors with colocate=True.

1. The Simulation version updater is called every time a Simulation object is loaded, not just from_file.
2. Boundary specifications that rely on the default Periodic boundary now print a deprecation warning, as the default boundaries will change to PML in Tidy3D 2.0.




- CustomFieldSource that can inject arbitrary source fields.
- ElectromagneticFieldData.flux property for data corresponding to 2D monitors, and ElectromagneticFieldData.dot method for computing the overlap integral over two sets of frequency-domain field data.
- Data corresponding to 2D FieldMonitor and FieldTimeMonitor, as well as to ModeSolverMonitor, now also stores grid_correction data related to the finite grid along the normal direction. This needs to be taken into account to avoid e.g. numerical oscillations of the flux with the exact position of the monitor that is due to the interpolation from the grid cell boundaries. These corrections are automatically applied when using the flux and dot methods.
- Resonance finding plugin for estimating resonance frequency and Q-factor of multiple resonances from time-domain data. Accessed through tidy3d.plugins.ResonanceFinder.
- New .updated_copy(**kwargs) method to all tidy3d objects to add a more convenient shortcut to copying an instance with updated fields, i.e. med.copy(update=dict(permittivity=3.0)) becomes med.updated_copy(permittivity=3.0).
- Test support for python 3.11.
- sidewall_angle option for Cylinder that allows a Cylinder to be tuned into a conical frustum or a cone.
- reference_plane for PolySlab that provides options to define the vertices at the bottom, middle, or top of the PolySlab.
- Automesh generation: MeshOverrideStructure that allows for a direct grid size specification in override structures, and dl_min that bounds the minimal grid size.
- More material models to the material database such as gold from Olman2012.
- In AdvancedFitterParam for StableDispersionFitter, random_seed option to set the random seed, and bound_f_lower to set the lower bound of pole frequency.
- Introduced the option to project fields at near, intermediate, and far distances using an exact Green’s function formalism which does not make far-field approximations. This can be enabled in any AbstractFieldProjectionMonitor by setting far_field_approx=False. A tutorial notebook as a comprehensive reference for field projections was added to the documentation.
- Tracking of modes in ModeSolverData based on overlap values, controlled through ModeSpec.track_freq.
- Native broadband support for GassuainBeam AstigmaticGaussianBeam, and ModeSource through the num_freqs argument.
- Apodization option for frequency-domain monitors to ignore temporal data in the beginning and/or end of a simulation


- Minimum flex unit charge reduced from 0.1 to 0.025.
- Default courant factor was changed from 0.9 to 0.99.
- A point dipole source placed on a symmetry plane now always has twice the amplitude of the same source in a simulation without the symmetry plane, as expected by continuity with the case when the dipole is slightly off the symmetry plane, in which case there are effectively two dipoles, the original one and its mirror image. Previously, the amplitude was only doubled for dipoles polarized normal to the plane, because of Yee grid specifics.
- FluxMonitor and FluxTimeMonitor no longer snap fields to centers, but instead provide continuous interpolation of the flux over the exact geometry of the monitor.
- Major refactor to internal handling of data structures, including pure Dataset components that do not depend on other Tidy3D components and may therefore be used to define custom data in Tidy3D models.
- Speed and memory usage improvement when writing and reading Tidy3d models to and from .hdf5 files.
- Writing Tidy3D models containing custom data to .json file will log a warning and exclude the raw data from the file for performance reasons.
- Material database reorganization and fixing a few references to the dispersion data.
- The name Near2Far has been replaced with FieldProjection. For example, Near2FarAngleMonitor is now FieldProjectionAngleMonitor.
- The API for far field projections has been simplified and several methods have now become properties. For example, the radar cross section is now accessed as .radar_cross_section, not .radar_cross_section().
- Added a method renormalize_fields to AbstractFieldProjectionData to re-project far fields to different projection distances.
- The API for DiffractionData was refactored to unify it with the API for AbstractFieldProjectionData.
- The user no longer needs to supply orders_x and orders_y when creating a DiffractionMonitor; all allowed orders are automatically generated and returned in the resulting DiffractionData.
- The user no longer needs to supply a medium when creating a DiffractionMonitor or any AbstractFieldProjectionMonitor; the medium through which fields are to be projected is now determined automatically based on the medium in which the monitor is placed.
- The following attributes of AbstractFieldProjectionMonitor are now properties rather than methods: fields_spherical, fields_cartesian, power, radar_cross_section.


- Some issues in DiffractionMonitor that is not z-normal that could lead to solver errors or wrong results.
- Bug leading to solver error when Absorber boundaries with num_layers = 0 are used.
- Bug leading to solver error when a FieldMonitor crosses a BlochBoundary and not all field components are recorded.
- When running a Batch, path_dir is created if not existing.
- Ignore shapely STRtree deprecation warning.
- Ignore x axis when plotting 1D Simulation cross sections to avoid plot irregularities.
- Local web api tests.
- Use Tidy3D logger for some warnings that used to use default python logging



- medium field in DiffractionMonitor for decomposition of fields that are not in vacuum.

- Bug in meshing an empty simulation with zero size along one dimension.
- Bug causing error in the solver when a PermittivityMonitor is present in the list of monitors and is not at the end of the list.



Our newest release includes the addition of user-requested features and the removal of several features which negatively impacted the customer experience and performance of the product.









This new version brings some major internal reorganizations, and a number of new features and bugfixes

The full list of changes can be found HERE

We would like to highlight some simulation pricing changes starting from this release:

We have worked on reducing our overhead and are happy to announce that we are decreasing the minimum charge per task from 0.2 to 0.1 flex units.

We have reduced the typical cost premium for dispersive materials in simulations, especially when only part of the simulation is dispersive.

We have added a cost for monitors, but this will be negligible in typical simulations, and will only be non-negligible for very large monitors. For example, for a very large frequency-domain monitor at many frequencies, such that the number of pixels in the monitor span times the number of frequencies is similar to the total number of pixels in the simulation, the charge for the monitor will still be only a fraction of the current charge for the simulation run.

















Tidy3D Web Client


New features

GUI upgraded to support Tidy3D v1.8.2

Resolved issues

Fixed: background medium duplicated on reopen

Fixed: Visibility hide/show icon doesn't work on certain items


New features

GUI upgraded to support Tidy3D v1.8.1, including the following updates Material Fitter improvement, Improved Mode tracking in ModeSpec, Field Projection Monitors, Cylinder support sidewall_angle, PolySlab support x,y axis and reference plane, Broadband ModeSource and GaussianBeam, Added DiffractionMonitor, Added post-run result for DiffractionMonitor and Field Projection Monitors, Improved GridSpec editing

Expanded material library and improved documentation

Allow enable/disable for monitors and sources

Added |E|^2 in Post-Run Results


Updated the value input for the bloch_vec

Added error message if user input "Infinity" in bounds

Improved reference handling for variable reference - name change

Fill the cross-section in 3D chart geometry intersecting simulation bounds

Resolved issues

Fixed: FieldProjectionAngleMonitor doesn't allow value 0 in angles

Fixed: Issues on list variable number of points

Fixed: Only one digit is displayed in certain places

Fixed: Point Dipole Source Showing Two Arrows



Remember input mode for medium

Resolved issues

Fixed: Bug about unit switching in editor

Fixed: Couldn't change n in Medium

Fixed: Bug about number rounding and scientific notation conversion in editor

Fixed: Error when switch between list and string variable type

Fixed: 2D chart displayed incorrectly


New features

Allow enable/disable structures

2D chart added option to show/hide sources/monitors

Overlay structure on Post-Run field plots

Added support to input k in Medium


Improve reference handling in GUI

Improvement on boundary editing

Keep scientific notation in editor

Recalculate Bloch vector if relevant settings are updated

round number for display

Source plot improvement

2D chart add symbol for in and out of plane source polarization and propagation direction arrows

Improved 2D chart pan operation

Refined the display for PML/StablePML/Absorber editing panel

Rearrange layout of Structure panel

Resolved issues

Fixed: Clicking a task in search page leads to 404

Fixed: The run_time is not displayed correctly during typing

Fixed: Typo in background medium

Fixed: Visibility tree node level issue


New features

Added "Estimate" button under "Run" button, allow user to estimate FlexUnit cost before clicking Run

Added a new column "FlexUnit" in Task page

Pop over Edit to guide user to use this button

Allow user to save expression as a new variable during editing

Expanded color palette for materials

Added ruler in 2D chart


Rearranged "Medium" as parameter

Added default values for simulation domain and run time

Changed 2D simulation visualization from 3D view to 2D view

Simplified list input method

Redesigned and increased the visual transition to Task Success

Show time steps in progress bar

Set the grid override structure’s default visibility to false

Added constraints on list type variable

Improved the expression "fx" label

Improved the material library plotting with missing range

Simplified the "Saved" status in workbench title bar

Simplified and grouped related input fields with visual cue

Renamed duplicated task with _Copy and a number

Improved 1D simulation visualization

Resolved issues

Fixed: Variables disappeared after renaming the simulation

Fixed: Source arrow incorrect in 3d/2d chart


New features

Allow user to share tasks in any status

Added structure transparency in 3D/2D chart


Improved the pop over under version label after creating new version

Improved the version dropdown, allow to click the entire row to switch versions

Improvements for variables input and UI

Allow user to delete parent task in version listing page

Resolved issues

Fixed: shutoff=0 in Editor but 0.00001 in json

Fixed: ‘Save as’ doesn't work in public task


New features

User can now rerun a simulation and retrieve its full version history. After a simulation finishes running, user can click “Edit” button to create a new version, edit the simulation, and rerun. The history of all versions of the simulation can be found through the dropdown list in the title bar or under the “Task Details” - “History” tab.

User can now declare variables that can be used across different input fields in the simulation editor. Expressions consisting of variables and simple math operators are also supported.

The simulation cost of all simulations in a folder can be retrieved through the “Get Info” button in the right-click menu of this folder.

User can now archive all simulations in a folder by clicking the “Archive” button in the right-click menu of this folder.

Monitor data can be downloaded in .csv format in the Post-Run Result page.

User can now visualize the source time signal and spectrum.

User can upgrade a simulation of an older version to the latest supported version of the GUI simulation editor.

Grid can be plotted on top of the structures in the 2D chart.


Medium can be defined through index in addition to permittivity.

Geometries of Box and Cylinder can be defined through boundary (min+max) in addition to center+size.

Improve Post-Run Result page layout to display simulation editor on the left sidebar for convenient revisit of the monitor setting.

Open up the progress window when entering a task which is currently running.

Display the action menu when multiple items are selected in the folder system.

Explicitly label the tasks that have been shared and provide filter function.

Support downloading “Simulation.json” for tasks in draft status.

Allow drag to adjust the width of each column in the folder system.

Increase the upper limit of number of tasks which can be deleted in batch.

Plot the propagation and polarization directions of sources in 3D chart.

Provide the “Field decay” info in the task progress window.

Support equal axis aspect ratio plotting in Post-Run Result.

Support opening “tidy3d.log” in GUI viewer directly.

Improve Grid Override user experience by visualizing the grid override region in 3D chart, and allowing user to set override geometry from existing structures.

Improve the BlochBoundary boundary editing experience.

Improve PML/StablePML/Absorber boundary editing experience.

Keep the same fields unchanged when switching the types of Source or Monitor.

Show fitting progress in Material Fitter.

Optimize performance of Tidy3D Web Client initialization.

Improve the colormap for magnitude and intensity field plots in Post-Run Result.

Improve the performance of user login: now it should take <2 seconds to login.

Resolved issues

Fixed: added missing labels for B and C coefficients in material model fields.

Fixed: GUI rendering issue of Gaussian source.

Fixed: dispersive model pop up warning message even though no editing is made.

Fixed: object re-arranged but 2D chart not updated correctly.

Fixed: FluxMonitor fields update only after closing the window.

Fixed: PointDipole source disappear if unhide the Near2Far monitor.

Fixed: 2D chart reset zoom after editing a parameter in simulation editor.

Fixed: the reset issue when try to edit the BlochBoundary.

Fixed: 2D chart not including PolySlab dilation.

Fixed: switch from 2D chart to 3D chart when editing any parameters.

Fixed: Post-Run Result missing axis label.


New features

GUI now supports Tidy3D version 1.6.3, including the following new features: FluxMonitor and FluxTimeMonitor with 3D box geometries computing flux going out of all box surfaces (or with exclusion). A new simulation parameter "normalize_index." ModeFieldMonitor is changed to ModeSolverMonitor which includes additional effective index data. Editing support for Near2Far monitors (Post-Run Result for Near2Far monitors is coming soon)

The intensity and absolute values are added to field plots in Post-Run Result

Use can specify source-time using central wavelength in addition to central frequency

Material Fitter now plots data immediately after file upload

Sources and monitors are displayed by default in 3D chart

Help center documentation now supports full-text search

User can drag to reorder the structures in the override_structures list

“Solver Duration” is now displayed in task progress panel


Added confirmation to "Delete" to prevent accidental deletion

Improved BlochBoundary editing

Return to the previous location in Folder system when exiting from Editor

Improved version message when user upload higher version json than the version that UI can support

Re-adjusted Parameter list order

Improved responsiveness by scrolling to reveal added fields in editor

Resolved issues

Fixed: Grid override structure couldn't add geometries into GeometryGroup

Fixed: 2D ring resonator structure color mismatch


New features

Client Administrator can now view tasks of other users of the same organization in the "Folders" page

Added "User Name" to transaction history in the "Admin" page of Client Administrator


Search result now displays the owner information of a task

User can now drag to adjust width of the side panels inside the GUI editor


New features

User can now duplicate a task inside the simulation editor

Tidy3D user can save a shared task to their own account

Provided "Infinity" for eligible fields in the drop-down menu in the simulation editor

User can now drag to reorder items in the simulation editor's left sidebar

Press ESC to unselect all tasks in the folder page


Improved the speed performance of Post-Run Result visualization

Removed redundant information in the sidebar of Post-Run Result

User can now hide the progress bar by clicking outside of the window

Simplified the input format of complex number

Resolved issues

Fixed: Post-Run Result vertical axes labels were missing

Fixed: PoleResidue model's coefficient labels were flipped in GUI

Fixed: 3D chart cropped front surface when structure is very large

Fixed: 2D chart didn't plot source and monitor correctly

Fixed: 3D chart reset navigation setting after editing


New features

Tidy3D users can now publicize their tasks using the "Share" functionality. Anyone with the public link of a task can view the simulation setup and results without logging into a Tidy3D account


Improved the display of long task names in Task Details tab


New features

A status monitor allows users to track real-time processing of a submitted task.

3D visualization now supports exporting 3D model in GLB format.

FieldTimeMonitor post-run visualization now supports downloading movie as GIF.

The initialization performance of simulation editor has been improved.

A back button is now available for users to go back to previously visited pages in Help Center.

An admin page is now available for client administrator to manage users and browse complete transaction history of all users.

Miscellaneous UI/UX improvements have been applied to the simulation editor and across the site making it more intuitive and more intelligent.

Resolved issues

Fixed: Users can not zoom the y-axis when using the “data zoom” function inside the post-run heatmap by mouse dragging, mouse move, mouse scroll or finger touch.

Flow360 Software Releases

Flow360 Solver


A new version of Flow360, release-, has been deployed. Any new submissions of mesh will use this new version by default. Any cases based on previously submitted meshes or forked from submitted cases using prior versions will still use their originally specified versions of Flow360.

12.1.1. Solver

New features

Added user defined dynamics for defined alpha controller and BET Omega controller.

Added support for BET inside a sliding interface for a rotating reference frame.

Added Quadratic Constitutive Relation to turbulence models: SA and SST.

Added Surface Time Solution Averaging Animation.

Added output of maximum residual location in solver log and as a csv file

Added support for importing CGNS meshes from ANSA.

Resolved issues

Improved sliding interface implementation for kOmegaSST turbulence model.

Significantly reduced grid sensitivity of AFT transition model.

Improved numerical robustness and convergence behavior of Spalart Allmaras, kOmegaSST turbulence models and AFT transition model.

Documentation updates

Alpha controller json input has been changed to use the new user defined dynamics feature.

12.1.2. Automated Meshing

New features

Added rotational interface support for automated meshing.

12.1.3. flow360client

Although recent versions of flow360client will still work, it is highly recommended to upgrade to the latest version for more convenient capabilities:


If downloading for the first time: pip3 install flow360client

If upgrading from an older version: pip3 install --upgrade flow360client

Here is the flow360client on PyPI: https://pypi.org/project/flow360client/

New features

Improve usability of Python Client by providing a download/upload progress bar.

12.1.4. Web UI

New features

Added archive functionality for cases: see how can I archive my case.

Added multi-select and batch process: delete/archive/restore.

Added interactive 3D view for surface mesh.

Added interactive 3D view for surface to volume mesh generation. Shows refinement zones and actuator disks.

Introduced new billing system.



Flow360 Web Client


New features

Case got a new 3D visualisation tab (with “beta” label) available for all new submissions, not only the latest solver version. New visualisation shows q-criterion and surface results (Cp, Cf, CfVec and y+) for noSlipWalls.

Pre-submission validation warnings are presented to the user

The volume meshing page accepts the parameter “refinement” for refinement zones (solver version release-

daily.cost.s3 is hidden by default from the account page

Resolved issues

Large scale surface meshes can be now viewed in the 3D surface mesh viewer

Input for solver tolerances now accepts 1e-10

Not showing prompts for the case generator then nothing was changed.

Fork is not available from a case with status=error/diverged

Pagination fixed


New features

Pre-submission JSON validation for surface meshing, volume meshing and case

WebUI is now hosted under a new URL: https://flow360.simulation.cloud

Added progress bar when loading surface mesh for visualisation

Resolved issues

Minor bug fixes



Latest Publication

An Analysis of Modeling Sensitivity Effects for High Lift Predictions using the Flow360 CFD Solver

An Analysis of Modeling Sensitivity Effects for High Lift Predictions using the Flow360 CFD Solver

Featured Stories

Social Platforms