Added
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.
Fixed
1. Bug on Windows systems with submitting CustomFieldSource data to the server.
2. Fix to FieldData.symmetry_expanded_copy for monitors with colocate=True.
Changed
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.
Added
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.
Fixed
1. Bug on Windows systems with submitting CustomFieldSource data to the server.
2. Fix to FieldData.symmetry_expanded_copy for monitors with colocate=True.
Changed
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.
Added
- 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
Changed
- 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.
Fixed
- 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
Added
- medium field in DiffractionMonitor for decomposition of fields that are not in vacuum.
Fixed
- 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 HEREWe 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.
GUI upgraded to support Tidy3D v1.8.2
Fixed: background medium duplicated on reopen
Fixed: Visibility hide/show icon doesn't work on certain items
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
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
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
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
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
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
Fixed: Variables disappeared after renaming the simulation
Fixed: Source arrow incorrect in 3d/2d chart
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
Fixed: shutoff=0 in Editor but 0.00001 in json
Fixed: ‘Save as’ doesn't work in public task
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.
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.
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
Fixed: Grid override structure couldn't add geometries into GeometryGroup
Fixed: 2D ring resonator structure color mismatch
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
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
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
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
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.
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.
A new version of Flow360, release-22.2.3.0, 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.
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.
New features
Added rotational interface support for automated meshing.
Although recent versions of flow360client will still work, it is highly recommended to upgrade to the latest version for more convenient capabilities:
Usage
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.
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.
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-22.3.3.0)
daily.cost.s3 is hidden by default from the account page
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
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
Minor bug fixes
Flow360 Case Studies
Tidy3D Case Studies
Flow360 Capabilities
Tidy3D Examples