Added
1. Fully anisotropic medium class (FullyAnisotropicMedium) that allows to simulate materials with permittivity and conductivity tensors oriented arbitrary with respect to simulation grid.
2. Adjoint processing is done server side by default, to avoid unnecessary downloading of data.
3. JaxPolySlab in adjoint plugin, which can track derivatives through its .vertices.
4. run_local and run_async_local options in tidy3d.plugins.adjoint.web to provide way to run adjoint processing locally.
5. web.test() to simply test if the authentication is configured correctly and raise exception otherwise.
6. SimulationTask.get_running_tasks() to get a list of running tasks from the server.
7. Retry for set number of seconds in web functions if internet connection errors.
8. Argument scale to ModeSolver.plot_field to control plot scaling.
Changed
1. Perfect electric conductors (PECs) are now modeled as high-conductivity media in both the frontend and backend mode solvers, and their presence triggers the use of a preconditioner to improve numerical stability and robustness. Consequently, the mode solver provides more accurate eigenvectors and field distributions when PEC structures are present.
2. Include source amplitude in amp_time.
3. Increased the maximum allowed estimated simulation data storage to 50GB. Individual monitors with projected data larger than 10GB will trigger a warning.
4. PolySlab.inside now uses matplotlib.path.contains_points for better performance.
5. JaxCustomMedium accepts a maximum of 250,000 grid cells to avoid slow server-side processing.
Fixed
1. Log messages provide the correct caller origin (file name and line number).
2. Medium2D is removed from the list of allowed options for Simulation.medium in the documentation.
3. Symmetry works properly in adjoint plugin.
Added
1. Group index calculation added to ModeSpec.
2. Waveguide plugin for quickly calculating modes in dielectric waveguides.
3. ElectromagneticFieldData.dot_intep to calculate mode overlap integrals between modes with different discretizations.
4. ElectromagneticFieldData.mode_area to calculate the effective mode area.
5. ElectromagneticFieldData.intensity returns the sum of the squared components of the electric field.
6. Group index calculation added to ModeSolver.
7. Web interface prints clickable link to task on Tidy3D web interface.
8. Allow configuration through API key in python via tidy3d.web.configure(apikey: str) function.
Changed
1. adjoint plugin now filters out adjoint sources that are below a threshold in amplitude relative to the maximum amplitude of the monitor data, reducing unnecessary processing by eliminating sources that won’t contribute to the gradient.
2. ArrayLike fields use np.ndarray internally instead of TidyNDArray subclass. Tidy3D objects are no longer hashable, instead, hash the obj.json() string.
Fixed
1. web.Batch monitoring is more robust, will not raise exception if a job errors or diverges. In this case, the progressbar text will render in red.
2. More robust handling for 2D structure validator.
Added
1. TriangleMesh class for modeling geometries specified by triangle surface meshes, with support for STL file import.
2. Total-field scattered-field (TFSF) source which allows angled plane waves to be injected into a finite region of space (the total-field region), such that only scattered fields exist outside this region (scattered-field region).
3. Medium2D class for surface conductivity model of a 2D material.
4. Entries in material_library for graphene and some common TMDs.
5. Ability to create a 2D representation of a thin 3D material.
6. SimulationData.plot_field accepts new field components and values, including the Poynting vector.
7. SimulationData.get_poynting_vector for calculating the 3D Poynting vector at the Yee cell centers.
8. Post-init validation of Tidy3D components.
9. Validate post-Simulation init to error if any structures have bounds that terminate inside of the PML.
10. Validate slab_bounds for PolySlab.
Changed
1. Tidy3D account authentication done solely through API key. Migration option offered for useres with old username / password authentication.
2. export_matlib_to_file in material_library exports material’s full name in addition to abbreviation.
3. Simpler progress bars for run_async.
4. Medium property n_cfl added to adjust time step size according to CFL condition.
5. In the mode solver plugin, regular methods in solver.py transformed into classmethods.
6. ArrayLike types are stored internally as np.ndarray and written to json as lists. constrained_array() provides way to validate ArrayLike values based on ndim and dtype.
7. Pip installing tidy3d automatically creates ~/.tidy3d directory in home directory.
8. Percentage done and field decay determined through http request.
9. SourceTime plotting methods .plot() and .plot_spectrum() accept a val kwarg, which selects which part of the data ('real', 'imag', or 'abs') to plot, rather than plotting all at once.
Fixed
1. Bug in remote file transfer when client environment has no correct certificate authority pem file install locally.
2. Tidy3D exceptions inherit from ValueError so they are handled properly by pydantic.
3. Two unstable materials in material_library: Cu_JohnsonChristy1972 and Ni_JohnsonChristy1972. TiOx_HoribStable added for improved stability.
4. Bug in infinite long cylinder when the reference_plane is not at the bottom or the cylinder is slanted.
Fixed: Bug of the input fields after new version release
Upgraded GUI to support v2.1.0
Provided .obj, or .stl file formats to download in 3D charts
Added help info for ‘Add Structures' and 'mode specification’ for modesolver
Display references in each Parameter and allow user clicking to jump to the corresponding window
Added boundary layer to 2D chart
Improved the warning msg for the generation of new API key
Improved the UI for 'my plan' tab, especially for Education License and Professional License
Updated Copyright for Tidy3d web UI
Improved video loading speed in 'Getting started'
Made the getting started window pop up by default, add “Do not show this again” check box
Improved the user experience to create new version, make it more conveniently
Improved the UI for validation status and error warning message display
Optimized fitter status error display
Improved the UI for the ‘Wavelength' and 'Frequencies’ input for monitor types
Fixed: Medium2D ss and tt should not allow Medium2D type
Fixed: error when apply for education license
Included mode solver to count total tasks and monthly tasks
Improved the UI for the Advanced section
Combined expression and number in Parameters
Show the variable value beside the variable name in the tree to be more user friendly
Substituted X3D with threejs for 3D chart
Allow to search folder/tasks with case insensitive
Reduced the ModeSolver queue time.
Provided hdf5 data download for ModeSolver in GUI.
Added Storage and Billed Compute info in ModeSolver task detail page.
Made the '+' button always visible for adding structures, sources, monitors and scripts.
Supported the deletion of the sweep tasks.
Improved the list type data input method.
Allowed user to create new variable when using an undefined variable.
Fixed: Public shared GUI example requires log in
Fixed: Duplicated layers displayed in import gds
Fixed: GDS file not imported correctly
Fixed: Parameter sweep not working for a specific task
Fixed: API in downloaded config file is different from that shown in "Current API key"
Fixed: BlochBoundary input method gets incorrectly updated to "from source" for Python and json uploaded tasks
Fixed: Show grid doesn't show anything when the grid is too fine
Supported loading geometries from GDS file in GUI into GeometryGroup structure.
Supported secure sign-in with multi-factor authentication (MFA).
Reduced the ModeSolver queue time.
Provided hdf5 data download for ModeSolver in GUI.
Added Storage and Billed Compute info in ModeSolver task detail page.
Made the '+' button always visible for adding structures, sources, monitors and scripts.
Supported the deletion of the sweep tasks.
Improved the list type data input method.
Allowed user to create new variable when using an undefined variable.
Fixed: When sidewall_angle is not zero, the structure is incorrect.
Fixed: The ModeSolver is missing in transaction history.
Added Python installation and authentication tutorial video to Getting Started.
Used monospace font for script editor of script object.
Fixed: Variables are not conserved after upgrading to a newer version.
Fixed: FieldMonitor result is not correctly displayed when switching sweep tasks.
Supported users to sign in with their Apple IDs.
Upgraded GUI to support Tidy3D version 2.0.3.
Added ModeSolver in GUI.
Improve the performance of Adjoint optimization by reducing data transfer.
Improved the 'Getting Started' button consistency between the tabs.
Fixed: Sweep task and data not visible when shared.
Fixed: ModeSolver is missing after ‘edit’ / 'duplicate'/ 'save as'.
Fixed: The symmetry status in 3D chart is not shown correctly.
Fixed: Fitting plot too small.
Fixed: Validation failed unexpectedly.
Allow users to submit support request directly through a form submission.
Remember plot setting when switching data selection in post-run
Fixed: Script editing issue in Safari
Fixed: Script errors when it should run properly
Fixed: Variable can not be deleted
Fixed: Sweep missing when duplicated
Added GUI Python script linked with objects
Simulation Editor tree added an new entry “Script Objects”
Added the script editor support Python script editing.
Added the ability to insert the objects created by scripts to corresponding location in simulation.json
Added the ability to reorder structure
Improved the switch expression in GUI , make it read-only
Added the constraints to input 'Infinity' in PolySlab
Improved overlay structure on post run
Linked normalize_index to source
Fixed: Color of the Symmetry Is Not Consistent
Fixed: edits not updated in referenced fields
Fixed: Item size uploaded exceed max allowed in dynamodb for large simulation files
Fixed: Extra Field Written to Json
Allow users to redeem a valid FlexUnit code in user account page
Integrated "Continue with Google" into Tidy3D login page, user can login with google account
Provided the ability to view the medium detail info once user set the medium in Override structure, Background Medium and Structure panel.
Provided the ability for user to easily bookmark a public project and view it in their own account
Added ‘Examples' and ‘Bookmarks’ folder under folder page for all users.
Improved the k value when the conductivity = 0 when editing Medium
Merge duplicates to display minimal information (medium used in simulation) to reduce use
Improved the list datatype fields input for Monitors
Fixed: GUI 3D Display Incorrect
Fixed: Overlay with structure doesn't look correct
Fixed: Duplicated background medium is created when selecting from public library
Fixed: Create New Medium in Structure doesn't work (view only)
Only (GaussianBeam, ModeSource or PlaneWave) source can be selected in the source dropdown list
If the source has been linked to blochboundary, show warning msg when trying to disable/delete the source or change the source type
Fixed: bug about BlochBoundary not updated
Upgrade GUI to support schema v1.8.3
Updated the wording of version from 'Current' to 'Default'
Improved the green color in GUI
Technical upgrade: Check the validity of id token before sending any billing requests, refresh id token if it's expired
Added pre-validation message info into the validation result shown in GUI
Added warning message info into the validation result shown in GUI
Added the ability to filter out "daily storage fee" transactions from Billing history by default
Added a "My Expenses" tab to user account (/account) page
Added a New min, max Option for Source Time Definition, updated the plot of the source_time
Supported direct expression input in the fields of number datatype in simulation editor
Improved the user interaction for the mediums from Material Library; Improved the naming rules for medium; Improved the user interaction to expression editor; Added the ability to remind user to remove associations first (variable being used by other fields)
Fixed: object cannot be deleted when disabled
Fixed: failure to delete large number of tasks and misleading message
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-23.2.1.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 option for running unsteady simulations with a low numerical dissipation Roe Flux scheme.
Added option for automatically setting CFL based on solution convergence.
Minor improvements to efficiency of running simulation, uploading and visualizing results.
Added option to modify DDES model constants.
Added DDES model volumetric outputs for debugging purposes.
Improvements to robustness and convergence of wall model.
Improvements to convergence of transition model.
Added physical time output to Tecplot output files.
Resolved issues
Fix SpalartAllmaras turbulence model divergence when linear system convergence is poor.
Fix transition model inside sliding interfaces.
Fix SpalartAllmaras DDES model to include laminar viscosity in shielding function computation.
Improvements to logging and case json validation.
Fix visualization for cases with spaces in boundary names.
Fix missing fragments of mesh visualization in static pictures.
New features
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/
Flow360 Solver
New Features
- Added support for mesh sizes larger than 250 million nodes.
- Significantly improved speed of mesh processing.
- Improved accuracy of gradient computation resulting in improvements to spatial discretization accuracy.
- Added physical time in Tecplot output for animations.
- Additional mesh information available in logs.
- Improved validation messaging for diagnosing issues in Case JSON file.
Resolved Issues
- Improved residual convergence of transition model: Amplication Factor Transport.
- Fixed holes in slice output for certain meshes.
- Fixed divergence of Spalart Allmaras model with no wall boundaries.
- Fix relative residual convergence check when initial residual is very small.
- Reduces discontuity in postprocessing outputs across sliding interface.
Automated Meshing
New Features
- Improved meshing for C0 continuity edges.
Changes
- Backend uses ESP 1.21 July 2022 release with Open CASCADE Technology 7.4.1
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