Change Log¶
1.1.2 - 2025-03-25¶
Fixed
Crash when no active model is present in phf file.
1.1.1 - 2025-03-24¶
Added
Terminal routes in
component_from_netlist()
accepts keyword arguments.Component.query()
andReference.query()
to look for ports and terminals within the component dependency tree.Arguments
boundary_margin
andminimal_turn_angle
toComponent.detect_ports()
to fine-tune port detectiongrid_layout()
to arrange components or other structures in a rectangular grid.pack_layout()
to pack components or other structures in a compact area.Support for specifying waypoints as 2D coordinates in
route_manhattan()
.
Changed
Analytical models include all-zero elements in S matrix output.
Fixed
Tidy3D simulation hanging when an error occurs during upload or download.
Axis label in
plot_s_matrix()
.Component.detect_ports()
properly detects and ignores co-linear vertices in polygons.Data arrays from numpy and xarray within Tidy3D objects breaking serialization.
1.1.0 - 2025-03-04¶
Added
Electrical interface support: electrical port specifications and terminals, terminal routing with
parametric.route_taper()
, andparametric.route_manhattan()
andcpw_spec()
utility function to create CPW port specifications.Class
TimeDomainModel
for time-stepping based on aPoleResidueMatrix
.live_viewer.LiveViewer
for live geometry and component visualization.Functions
PoleResidueMatrix.is_passive()
,PoleResidueMatrix.enforce_passivity()
, andPoleResidueMatrix.get_rms_error()
.Options
passive
,delays
,stable
, andfeedthrough
inpole_residue_fit()
to better control the fitting process.parametric.circular_spiral()
as an alternative to existing rectangular spiral.Argument
full_length
toparametric.rectangular_spiral()
andparametric.circular_spiral()
to preset the desired spiral length.FDTD cost estimation with
Tidy3DModel.estimate_cost()
.Defaults for parametric components and models can be set in
config.default_kwargs
.Path.arc()
,Path.turn()
, andPath.s_bend()
can use defaults forradius
andeuler_fraction
fromconfig.default_kwargs
.Function
s_bend_length()
can be used to calculate the ideal S bend length for specific radius and offset.Subscript operation to
Component
to retrieve ports and terminals.Component.disconnected_reference_ports()
andComponent.add_reference_ports()
to facilitate adding ports from references.Component.tree_view()
to pretty-print component dependency trees.Parameter
on_boundary
toComponent.detect_ports()
to limit search at the component boundaries.Function
heal()
to remove small features from structures.Added bulge option to automatically widen long straight waveguide sections.
config.svg_reference_labels
to control display of labels from references.Json representation for planar structures.
Class
FiberPort
for general waveguide ports.Port.can_connect_to()
verifies if 2 ports can be connected by a waveguide route.PortSpec.combined_with()
to combine path profiles from port specifications.PortSpec.added_solver_modes
to port specifications, which allows for single TM mode ports.Attribute
MaskSpec.layer
for single-layer mask specifications.LayerTable
visualizer for technology layer specifications, used by default withTechnology.layers
.Argument
verbose
toTidy3DModel.start()
,EMEModel.start()
,WaveguideModel.start()
, andCircuitModel.start()
.Accept simplified forms of port symmetries and added Tidy3DModel.test_port_symmetries.
tidy3d_model.abort_peding_tasks can be used to abort all running simulations at once.
Function
SMatrix.estimate_phase()
for estimation of minimum-phase-shift data from given amplitude data, and functionsSMatrix.apply_time_delay()
andSMatrix.estimate_delays()
.Function
port_modes()
to solve port modes using caches.Argument
parallel_jobs
to start multiple Monte Carlo tasks in parallel inmonte_carlo.s_matrix()
.
Changed
Parallel upload and download of Tidy3D tasks.
Default
run_time
quality factor changed from 10 to 5 in order to decrease the default estimated cost of Tidy3D runs.Use default precision in mode solver.
Remove out-of bounds structures from simulations to avoid Tidy3D warnings.
Where available, default keyword arguments for parametric components and technologies are included in
Component.parametric_kwargs
andTechnology.parametric_kwargs
.
Fixed
Bug in
MaskSpec
comparison.Do not create complex geometry with more than 100 sub-geometries to avoid errors in Tidy3D.
Vernier scale stencil bug fix to generate proper geometry.
Support for numpy complex scalars in phf streams.
Better HTML escaping in SVG representations.
Improved Tidy3D object conversion to include spatial data arrays in runtime caches.
Port mode numbering for S matrices is consistent with and without setting
PortSpec.polarization
.Bug in error handling within paths.
1.0.5 - 2025-01-02¶
Added
Attribute
_id
for internal use.Configuration option
config.svg_label_scaling
.
Changed
More robust guarantees for gradients for path endpoints.
Paths are stored as polygons by default in GDSII and OASIS files.
Reference.component
can be set.Simplified
updates
argument inCircuitModel.start()
.
Fixed
Path alignment fixes for parametric couplers.
Minor docstring fixes.
1.0.4 - 2020-11-21¶
Added
Complex vector fitting for baseband signals via
pole_residue_fit()
withreal=False
.
Changed
Sign convention for the frequency variable in
PoleResidueMatrix
.In
pole_residue_fit()
,min_poles
andmax_poles
now count a single conjugate pair as two poles.S matrices store all-zeros instead of dropping them.
Routes can be specified by reference and port name to facilitate updating if the reference is transformed.
Fixed
Significant accuracy improvements in
pole_residue_fit()
.Component comparison takes ports into account.
1.0.3 - 2024-11-01¶
Fixed
Function
stencil.as_component()
takes a technology argument for the created component.Apply union to polygons before erosion, as indicated in the documentation.
1.0.2 - 2024-10-25¶
Added
Function
Tidy3DModel.test_port_symmetries()
gained averbose
argument to control printed messages.
Changed
Function
tidy3d_plot()
will use the component’sTidy3DModel
if it has one.
Fixed
Function
Port.to_tidy3d_mode_solver()
correctly sets the generatedgroup_index_step
.Tidy3DModel
supports 2D simulations when bounds are overridden.
1.0.1 - 2024-10-15¶
Changed
Suppress extrusion error message from Tidy3D when falling back to triangular mesh.
Fixed
Always export paths with round or beveled joins as polygons.
Forbid inheritance from PhotonForge classes (except
Model
) because the internal design does not support it.Error when parsing arguments in
Path.parametric()
.Runtime errors in
EMEModel
.Degenerate port modes are handled correctly when symmetry is used in
Tidy3DModel
andEMEModel
.
1.0.0 - 2024-10-10¶
Initial release.