tidy3d 2.10.2__tar.gz → 2.11.0.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/PKG-INFO +16 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/pyproject.toml +70 -64
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/README.md +2 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/__init__.py +59 -9
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/__main__.py +1 -1
- tidy3d-2.11.0.dev1/tidy3d/compat.py +31 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/README.md +4 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/apodization.py +23 -22
- tidy3d-2.11.0.dev1/tidy3d/components/autograd/__init__.py +42 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/autograd/boxes.py +10 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/autograd/derivative_utils.py +434 -112
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/autograd/field_map.py +13 -12
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/autograd/functions.py +7 -5
- tidy3d-2.11.0.dev1/tidy3d/components/autograd/source_factory.py +122 -0
- tidy3d-2.11.0.dev1/tidy3d/components/autograd/types.py +132 -0
- tidy3d-2.11.0.dev1/tidy3d/components/autograd/utils.py +98 -0
- tidy3d-2.11.0.dev1/tidy3d/components/base.py +1971 -0
- tidy3d-2.11.0.dev1/tidy3d/components/base_sim/data/monitor_data.py +125 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/data/sim_data.py +36 -31
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/monitor.py +14 -11
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/simulation.py +121 -62
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/source.py +10 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/bc_placement.py +23 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/beam.py +86 -65
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/boundary.py +251 -163
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/data_array.py +293 -96
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/dataset.py +156 -60
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/index.py +5 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/monitor_data.py +735 -361
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/sim_data.py +87 -67
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/unstructured/base.py +594 -277
- tidy3d-2.11.0.dev1/tidy3d/components/data/unstructured/surface.py +491 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/unstructured/tetrahedral.py +113 -31
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/unstructured/triangular.py +62 -40
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/utils.py +12 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/validators.py +22 -15
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/zbf.py +20 -20
- tidy3d-2.11.0.dev1/tidy3d/components/diffraction.py +189 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/dispersion_fitter.py +85 -52
- tidy3d-2.11.0.dev1/tidy3d/components/docstrings.py +301 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/data/dataset.py +160 -56
- tidy3d-2.11.0.dev1/tidy3d/components/eme/data/monitor_data.py +162 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/data/sim_data.py +127 -21
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/grid.py +100 -73
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/monitor.py +158 -31
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/simulation.py +280 -142
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/sweep.py +103 -20
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/field_projection.py +53 -49
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/file_util.py +5 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/frequencies.py +17 -16
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/frequency_extrapolation.py +18 -15
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/base.py +692 -225
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/bound_ops.py +4 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/mesh.py +27 -21
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/polyslab.py +94 -97
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/primitives.py +333 -54
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/triangulation.py +9 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/utils.py +72 -33
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/utils_2d.py +80 -17
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/grid/corner_finder.py +17 -13
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/grid/grid.py +138 -50
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/grid/grid_spec.py +317 -227
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/grid/mesher.py +42 -38
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/index.py +22 -20
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/lumped_element.py +121 -127
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/multi_physics.py +10 -9
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/tcad/charge.py +80 -47
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/tcad/heat.py +39 -32
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/medium.py +1040 -987
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/base.py +6 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/data/dataset.py +5 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/data/monitor_data.py +38 -28
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/formulas/circuit_parameters.py +5 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/impedance_calculator.py +26 -20
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/mode_spec.py +55 -19
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/monitor.py +4 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/factory.py +21 -19
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/integrals/auto.py +7 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/integrals/base.py +7 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/integrals/current.py +21 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/integrals/voltage.py +10 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/mode_plane_analyzer.py +10 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/specs/base.py +30 -19
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/specs/current.py +24 -15
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/specs/impedance.py +12 -11
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/specs/voltage.py +10 -6
- tidy3d-2.11.0.dev1/tidy3d/components/microwave/time.py +350 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/data/sim_data.py +13 -9
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/derivatives.py +66 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/mode_solver.py +222 -167
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/simulation.py +101 -60
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/solver.py +121 -87
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/transforms.py +21 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode_spec.py +306 -129
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/monitor.py +588 -209
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/nonlinear.py +40 -32
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/parameter_perturbation.py +209 -201
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/run_time_spec.py +3 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/scene.py +163 -119
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/simulation.py +792 -566
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/base.py +44 -16
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/current.py +131 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/field.py +167 -74
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/frame.py +2 -2
- tidy3d-2.11.0.dev1/tidy3d/components/source/freq_range.py +230 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/time.py +106 -54
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/analysis/ac.py +6 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/analysis/dc.py +10 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/sources/ac.py +12 -11
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/sources/dc.py +20 -17
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/structure.py +109 -68
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/subpixel_spec.py +30 -28
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/analysis/heat_simulation_type.py +7 -7
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/bandgap.py +20 -22
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/bandgap_energy.py +11 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/boundary/charge.py +6 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/boundary/heat.py +24 -19
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/boundary/specification.py +3 -3
- tidy3d-2.11.0.dev1/tidy3d/components/tcad/data/monitor_data/abstract.py +75 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/monitor_data/charge.py +74 -80
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/monitor_data/heat.py +13 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/monitor_data/mesh.py +5 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/sim_data.py +149 -51
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/doping.py +63 -22
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/effective_DOS.py +18 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/generation_recombination.py +71 -56
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/grid.py +85 -76
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/mesher.py +9 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/mobility.py +21 -23
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/monitors/abstract.py +20 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/monitors/charge.py +24 -9
- tidy3d-2.11.0.dev1/tidy3d/components/tcad/monitors/heat.py +42 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/monitors/mesh.py +9 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/simulation/heat.py +12 -7
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/simulation/heat_charge.py +285 -257
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/source/abstract.py +9 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/source/heat.py +8 -7
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/time.py +18 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/time_modulation.py +40 -41
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/transformation.py +19 -13
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/__init__.py +2 -12
- tidy3d-2.11.0.dev1/tidy3d/components/types/base.py +339 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/monitor.py +14 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/monitor_data.py +6 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/third_party.py +6 -2
- tidy3d-2.11.0.dev1/tidy3d/components/types/time.py +29 -0
- tidy3d-2.11.0.dev1/tidy3d/components/types/utils.py +33 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/validators.py +183 -138
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/__init__.py +22 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/axes_utils.py +167 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/descartes.py +14 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/plot_params.py +26 -20
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/plot_sim_3d.py +13 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/styles.py +13 -5
- tidy3d-2.11.0.dev1/tidy3d/components/viz/visualization_spec.py +87 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/README.md +18 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/__init__.py +20 -3
- tidy3d-2.11.0.dev1/tidy3d/config/deprecations.py +97 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/legacy.py +8 -3
- tidy3d-2.11.0.dev1/tidy3d/config/loader.py +992 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/manager.py +32 -66
- tidy3d-2.11.0.dev1/tidy3d/config/migrations.py +272 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/profiles.py +7 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/registry.py +4 -1
- tidy3d-2.11.0.dev1/tidy3d/config/schema_utils.py +30 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/sections.py +39 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/config/serializer.py +6 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/constants.py +7 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/exceptions.py +4 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/log.py +63 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/material_library/material_library.py +26 -32
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/material_library/material_reference.py +8 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/material_library/parametric_materials.py +27 -28
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/material_library/util.py +4 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/packaging.py +54 -22
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/README.md +1 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/differential_operators.py +6 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/functions.py +27 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/filters.py +34 -23
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/misc.py +5 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/parametrizations.py +37 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/penalties.py +40 -23
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/projections.py +6 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/symmetries.py +4 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/primitives/interpolate.py +18 -7
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/primitives/misc.py +27 -12
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/utilities.py +68 -55
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/README.md +2 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/design.py +43 -33
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/method.py +161 -111
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/parameter.py +40 -31
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/result.py +42 -39
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/dispersion/fit.py +57 -46
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/dispersion/fit_fast.py +8 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/dispersion/web.py +31 -29
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/__init__.py +23 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/base.py +11 -13
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/functions.py +11 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/metrics.py +15 -12
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/operators.py +15 -13
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/types.py +14 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/variables.py +3 -4
- tidy3d-2.11.0.dev1/tidy3d/plugins/invdes/__init__.py +50 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/base.py +3 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/design.py +56 -46
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/initialization.py +39 -33
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/optimizer.py +28 -30
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/penalty.py +12 -12
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/region.py +45 -35
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/result.py +21 -20
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/transformation.py +16 -12
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/utils.py +1 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/validators.py +18 -15
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/drc/README.md +3 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/drc/drc.py +33 -22
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/drc/results.py +14 -11
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/util.py +35 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/array_factor.py +86 -56
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/lobe_measurer.py +27 -22
- tidy3d-2.11.0.dev1/tidy3d/plugins/microwave/rf_material_library.py +1376 -0
- tidy3d-2.11.0.dev1/tidy3d/plugins/microwave/rf_material_reference.py +146 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/polyslab/polyslab.py +5 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/pytorch/wrapper.py +12 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/resonance/resonance.py +28 -14
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/__init__.py +3 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/analysis/antenna.py +8 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/analysis/modal.py +16 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/analysis/terminal.py +24 -16
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/component_modelers/base.py +50 -40
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/component_modelers/modal.py +82 -80
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/component_modelers/terminal.py +90 -46
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/base.py +15 -13
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/modal.py +7 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/terminal.py +68 -27
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/base.py +5 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/base_lumped.py +13 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/base_terminal.py +12 -8
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/coaxial_lumped.py +41 -36
- tidy3d-2.11.0.dev1/tidy3d/plugins/smatrix/ports/modal.py +272 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/rectangular_lumped.py +44 -29
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/wave.py +56 -45
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/run.py +81 -11
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/types.py +9 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/utils.py +37 -30
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/waveguide/rectangular_dielectric.py +121 -116
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/rf.py +12 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/updater.py +83 -40
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/version.py +1 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/__init__.py +1 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/asynchronous.py +17 -6
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/autograd.py +690 -79
- tidy3d-2.11.0.dev1/tidy3d/web/api/autograd/backward.py +731 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/engine.py +8 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/forward.py +6 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/io_utils.py +23 -17
- tidy3d-2.11.0.dev1/tidy3d/web/api/autograd/types.py +193 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/utils.py +41 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/connect_util.py +4 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/container.py +292 -148
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/material_fitter.py +16 -5
- tidy3d-2.11.0.dev1/tidy3d/web/api/material_library.py +64 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/mode.py +24 -18
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/run.py +26 -16
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/tidy3d_stub.py +7 -5
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/webapi.py +126 -45
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cache.py +89 -32
- tidy3d-2.11.0.dev1/tidy3d/web/cli/app.py +45 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/cache.py +7 -2
- tidy3d-2.11.0.dev1/tidy3d/web/cli/config.py +516 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/documentation.py +6 -3
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/install.py +10 -10
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/account.py +2 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/core_config.py +4 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/exceptions.py +4 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/file_util.py +1 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/http_util.py +7 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/s3utils.py +8 -4
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/stub.py +4 -1
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/task_core.py +74 -49
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/task_info.py +66 -70
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/types.py +2 -2
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/tests/conftest.py +4 -1
- tidy3d-2.10.2/tidy3d/compat.py +0 -26
- tidy3d-2.10.2/tidy3d/components/autograd/__init__.py +0 -31
- tidy3d-2.10.2/tidy3d/components/autograd/types.py +0 -55
- tidy3d-2.10.2/tidy3d/components/autograd/utils.py +0 -55
- tidy3d-2.10.2/tidy3d/components/base.py +0 -1529
- tidy3d-2.10.2/tidy3d/components/base_sim/data/monitor_data.py +0 -27
- tidy3d-2.10.2/tidy3d/components/eme/data/monitor_data.py +0 -60
- tidy3d-2.10.2/tidy3d/components/tcad/data/monitor_data/abstract.py +0 -149
- tidy3d-2.10.2/tidy3d/components/tcad/monitors/heat.py +0 -21
- tidy3d-2.10.2/tidy3d/components/types/base.py +0 -264
- tidy3d-2.10.2/tidy3d/components/types/utils.py +0 -14
- tidy3d-2.10.2/tidy3d/components/viz/visualization_spec.py +0 -62
- tidy3d-2.10.2/tidy3d/config/loader.py +0 -438
- tidy3d-2.10.2/tidy3d/plugins/invdes/__init__.py +0 -29
- tidy3d-2.10.2/tidy3d/plugins/microwave/rf_material_library.py +0 -255
- tidy3d-2.10.2/tidy3d/plugins/microwave/rf_material_reference.py +0 -43
- tidy3d-2.10.2/tidy3d/plugins/smatrix/ports/modal.py +0 -58
- tidy3d-2.10.2/tidy3d/web/api/autograd/backward.py +0 -351
- tidy3d-2.10.2/tidy3d/web/api/material_libray.py +0 -44
- tidy3d-2.10.2/tidy3d/web/cli/app.py +0 -409
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/LICENSE +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/_runtime.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/base_sim/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/data/unstructured/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/eme/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/geometry/float_utils.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/grid/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/solver_types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/tcad/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/material/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/data/data_array.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/formulas/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/integrals/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/specs/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/microwave/path_integrals/viz.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/LICENSE +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/mode/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/source/utils.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/analysis/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/sources/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/sources/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/spice/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/analysis/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/boundary/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/boundary/abstract.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/monitor_data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/data/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/monitors/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/simulation/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/source/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/source/coupled.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/tcad/viz.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/mode_spec.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/simulation.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/types/workflow.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/flex_color_palettes.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/components/viz/flex_style.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/material_library/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/constants.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/invdes/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/primitives/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/autograd/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/design/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/dispersion/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/dispersion/fit_web.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/expressions/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/invdes/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/drc/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/klayout/drc/defaults.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/auto_path_integrals.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/custom_path_integrals.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/impedance_calculator.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/models/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/models/coupled_microstrip.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/models/microstrip.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/path_integrals.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/microwave/viz.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/mode/LICENSE +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/mode/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/mode/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/mode/mode_solver.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/mode/web.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/polyslab/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/pytorch/README.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/pytorch/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/resonance/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/analysis/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/component_modelers/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/component_modelers/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/data_array.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/data/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/smatrix/ports/types.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/plugins/waveguide/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/style.mplstyle +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/autograd/constants.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/cacert.pem +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/api/states.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/constants.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/index.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/packaging.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/tests.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/develop/utils.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/cli/readme.md +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/common.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/__init__.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/cache.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/constants.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/core/environment.py +0 -0
- {tidy3d-2.10.2 → tidy3d-2.11.0.dev1}/tidy3d/web/environment.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tidy3d
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.11.0.dev1
|
|
4
4
|
Summary: A fast FDTD solver
|
|
5
5
|
License: LGPLv2+
|
|
6
6
|
License-File: LICENSE
|
|
@@ -22,6 +22,7 @@ Provides-Extra: extras
|
|
|
22
22
|
Provides-Extra: gdstk
|
|
23
23
|
Provides-Extra: heatcharge
|
|
24
24
|
Provides-Extra: pytorch
|
|
25
|
+
Provides-Extra: pyvista
|
|
25
26
|
Provides-Extra: ruff
|
|
26
27
|
Provides-Extra: scikit-rf
|
|
27
28
|
Provides-Extra: tests
|
|
@@ -37,6 +38,7 @@ Requires-Dist: coverage (>=7.13.1,<8.0.0) ; extra == "dev"
|
|
|
37
38
|
Requires-Dist: dask (>=2025.12.0,<2026.0.0)
|
|
38
39
|
Requires-Dist: diff-cover (>=10.1.0,<11.0.0) ; extra == "dev"
|
|
39
40
|
Requires-Dist: dill (>=0.4.0,<0.5.0) ; extra == "dev"
|
|
41
|
+
Requires-Dist: filelock (>=3.20.1,<4.0.0)
|
|
40
42
|
Requires-Dist: gdstk (>=0.9.49,<0.10.0) ; extra == "dev" or extra == "docs" or extra == "gdstk"
|
|
41
43
|
Requires-Dist: grcwa (>=0.1.2,<0.2.0) ; extra == "dev" or extra == "docs"
|
|
42
44
|
Requires-Dist: h5netcdf (==1.0.2)
|
|
@@ -46,21 +48,24 @@ Requires-Dist: ipython (>=8.38.0,<9.0.0) ; extra == "dev" or extra == "dev" or e
|
|
|
46
48
|
Requires-Dist: jinja2 (>=3.1.2,<4.0.0) ; extra == "dev" or extra == "docs"
|
|
47
49
|
Requires-Dist: joblib (>=1.5.3,<2.0.0)
|
|
48
50
|
Requires-Dist: jupyter (>=1.1.1,<2.0.0) ; extra == "dev" or extra == "docs"
|
|
51
|
+
Requires-Dist: libcst (>=1.5.0,<2.0.0) ; extra == "dev"
|
|
49
52
|
Requires-Dist: matplotlib (>=3.10.0,<4.0.0)
|
|
50
53
|
Requires-Dist: memory_profiler (>=0.61.0,<0.62.0) ; extra == "dev"
|
|
51
54
|
Requires-Dist: mypy (==1.13.0) ; extra == "dev"
|
|
52
55
|
Requires-Dist: myst-parser (>=4.0.1,<5.0.0) ; extra == "dev" or extra == "docs"
|
|
53
|
-
Requires-Dist: nbconvert (>=7.
|
|
56
|
+
Requires-Dist: nbconvert (>=7.17.0,<8.0.0) ; extra == "dev" or extra == "docs"
|
|
54
57
|
Requires-Dist: nbdime (>=4.0.2,<5.0.0) ; extra == "dev" or extra == "docs"
|
|
55
58
|
Requires-Dist: nbsphinx (>=0.8.7,<0.10.0) ; extra == "dev" or extra == "docs"
|
|
56
59
|
Requires-Dist: networkx (>=2.6.3,<3.0.0) ; extra == "dev" or extra == "trimesh"
|
|
57
60
|
Requires-Dist: numpy (>=2.2.6,<2.5.0)
|
|
58
61
|
Requires-Dist: openpyxl (>=3.1.5,<4.0.0) ; extra == "dev" or extra == "docs"
|
|
59
62
|
Requires-Dist: optax (>=0.2.2,<0.3.0) ; extra == "dev" or extra == "docs"
|
|
63
|
+
Requires-Dist: orbax-checkpoint (<0.11.33) ; extra == "dev" or extra == "tests" or extra == "docs"
|
|
60
64
|
Requires-Dist: pandas (>=2.2,<3.0)
|
|
61
65
|
Requires-Dist: pre-commit (>=4,<5) ; extra == "dev" or extra == "tests"
|
|
62
66
|
Requires-Dist: psutil (>=7.2.1,<8.0.0) ; extra == "dev" or extra == "tests"
|
|
63
|
-
Requires-Dist: pydantic (>=2.
|
|
67
|
+
Requires-Dist: pydantic (>=2.9,<3)
|
|
68
|
+
Requires-Dist: pydantic-settings (>=2.10.0,<3.0.0)
|
|
64
69
|
Requires-Dist: pydata-sphinx-theme (>=0.13.3,<0.16.0) ; extra == "dev" or extra == "docs"
|
|
65
70
|
Requires-Dist: pygad (==3.3.1) ; extra == "dev" or extra == "design"
|
|
66
71
|
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
@@ -70,8 +75,10 @@ Requires-Dist: pyswarms (>=1.3.0,<2.0.0) ; extra == "dev" or extra == "design"
|
|
|
70
75
|
Requires-Dist: pytest (>=8.1,<10.0.0) ; extra == "dev" or extra == "tests"
|
|
71
76
|
Requires-Dist: pytest-cov (>=6.0.0,<7.0.0) ; extra == "dev" or extra == "tests"
|
|
72
77
|
Requires-Dist: pytest-env (>=1.1.5,<2.0.0) ; extra == "dev" or extra == "tests"
|
|
78
|
+
Requires-Dist: pytest-testmon (>=2.1.3,<3.0.0) ; extra == "dev" or extra == "tests"
|
|
73
79
|
Requires-Dist: pytest-timeout (>=2.4.0,<3.0.0) ; extra == "dev" or extra == "tests"
|
|
74
80
|
Requires-Dist: pytest-xdist (>=3.6.1,<4.0.0) ; extra == "dev" or extra == "tests"
|
|
81
|
+
Requires-Dist: pyvista (>=0.45,<0.47.0) ; extra == "dev" or extra == "pyvista"
|
|
75
82
|
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
76
83
|
Requires-Dist: responses (>=0.25.8,<0.26.0)
|
|
77
84
|
Requires-Dist: rich (>=13.0,<14.0)
|
|
@@ -91,16 +98,20 @@ Requires-Dist: sphinx-notfound-page (>=1.1.0,<2.0.0) ; extra == "dev" or extra =
|
|
|
91
98
|
Requires-Dist: sphinx-sitemap (>=2.5.1,<3.0.0) ; extra == "dev" or extra == "docs"
|
|
92
99
|
Requires-Dist: sphinx-tabs (>=3.4.7,<4.0.0) ; extra == "dev" or extra == "docs"
|
|
93
100
|
Requires-Dist: sphinxemoji (>=0.3.2,<0.4.0) ; extra == "dev" or extra == "docs"
|
|
94
|
-
Requires-Dist: tidy3d-extras (==2.
|
|
101
|
+
Requires-Dist: tidy3d-extras (==2.11.0.dev1) ; extra == "extras"
|
|
95
102
|
Requires-Dist: tmm (>=0.2.0,<0.3.0) ; extra == "dev" or extra == "docs"
|
|
96
103
|
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
|
97
104
|
Requires-Dist: tomlkit (>=0.13.2,<0.14.0)
|
|
98
105
|
Requires-Dist: torch (>=2.2.0,<3.0.0) ; (sys_platform != "darwin") and (extra == "dev" or extra == "pytorch")
|
|
99
106
|
Requires-Dist: torch (>=2.2.0,<3.0.0) ; (sys_platform == "darwin") and (extra == "dev" or extra == "pytorch")
|
|
107
|
+
Requires-Dist: towncrier (>=25.8.0,<26.0.0) ; extra == "dev"
|
|
100
108
|
Requires-Dist: tox (>=4.33.0,<5.0.0) ; extra == "dev"
|
|
109
|
+
Requires-Dist: trame (>=3.0.0,<4.0.0) ; extra == "dev" or extra == "pyvista"
|
|
110
|
+
Requires-Dist: trame-vtk (>=2.0.0,<3.0.0) ; extra == "dev" or extra == "pyvista"
|
|
111
|
+
Requires-Dist: trame-vuetify (>=2.0.0,<3.0.0) ; extra == "dev" or extra == "pyvista"
|
|
101
112
|
Requires-Dist: trimesh (>=4.6,<5.0.0) ; extra == "dev" or extra == "tests" or extra == "trimesh" or extra == "heatcharge"
|
|
102
113
|
Requires-Dist: typing-extensions (>=4.15.0,<5.0.0)
|
|
103
|
-
Requires-Dist: vtk (>=9.2.6,<10.0.0) ; extra == "dev" or extra == "vtk" or extra == "heatcharge"
|
|
114
|
+
Requires-Dist: vtk (>=9.2.6,<10.0.0) ; extra == "dev" or extra == "vtk" or extra == "pyvista" or extra == "heatcharge"
|
|
104
115
|
Requires-Dist: xarray (>=2023.8,<2026.0.0)
|
|
105
116
|
Requires-Dist: zizmor (>=1.20.0,<2.0.0) ; extra == "dev"
|
|
106
117
|
Project-URL: Bug Tracker, https://github.com/flexcompute/tidy3d/issues
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "tidy3d"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.11.0.dev1"
|
|
4
4
|
description = "A fast FDTD solver"
|
|
5
5
|
authors = ["Tyler Hughes <tyler@flexcompute.com>"]
|
|
6
6
|
license = "LGPLv2+"
|
|
@@ -33,7 +33,8 @@ numpy = ">=2.2.6,<2.5.0"
|
|
|
33
33
|
matplotlib = "^3.10.0"
|
|
34
34
|
shapely = "^2.0"
|
|
35
35
|
pandas = "^2.2"
|
|
36
|
-
pydantic = "
|
|
36
|
+
pydantic = ">=2.9,<3"
|
|
37
|
+
pydantic-settings = "^2.10.0"
|
|
37
38
|
PyYAML = "^6.0.3"
|
|
38
39
|
dask = "^2025.12.0"
|
|
39
40
|
toml = "^0.10.2"
|
|
@@ -48,6 +49,7 @@ click = "^8.1.0"
|
|
|
48
49
|
responses = "^0.25.8"
|
|
49
50
|
joblib = "^1.5.3"
|
|
50
51
|
typing-extensions = "^4.15.0"
|
|
52
|
+
filelock = "^3.20.1"
|
|
51
53
|
### END NOT CORE
|
|
52
54
|
|
|
53
55
|
### Optional dependencies ###
|
|
@@ -65,10 +67,13 @@ pytest-timeout = { version = "^2.4.0", optional = true }
|
|
|
65
67
|
pytest-xdist = "^3.6.1"
|
|
66
68
|
pytest-cov = "^6.0.0"
|
|
67
69
|
pytest-env = "^1.1.5"
|
|
70
|
+
pytest-testmon = { version = "^2.1.3", optional = true }
|
|
68
71
|
tox = { version = "^4.33.0", optional = true }
|
|
72
|
+
towncrier = { version = "^25.8.0", optional = true }
|
|
69
73
|
diff-cover = { version = "^10.1.0", optional = true }
|
|
70
74
|
zizmor = { version = "^1.20.0", optional = true }
|
|
71
75
|
mypy = { version = "1.13.0", optional = true }
|
|
76
|
+
libcst = { version = "^1.5.0", optional = true }
|
|
72
77
|
|
|
73
78
|
# gdstk
|
|
74
79
|
gdstk = { version = ">=0.9.49,<0.10.0", optional = true }
|
|
@@ -95,7 +100,7 @@ trimesh = { version = ">=4.6,<5.0.0", optional = true }
|
|
|
95
100
|
# docs
|
|
96
101
|
jupyter = { version = "^1.1.1", optional = true }
|
|
97
102
|
jinja2 = { version = ">=3.1.2,<4.0.0", optional = true }
|
|
98
|
-
nbconvert = { version = ">=7.
|
|
103
|
+
nbconvert = { version = ">=7.17.0,<8.0.0", optional = true }
|
|
99
104
|
sphinx = { version = ">=6,<9.0.0", optional = true }
|
|
100
105
|
nbsphinx = { version = ">=0.8.7,<0.10.0", optional = true }
|
|
101
106
|
sphinx-copybutton = { version = ">=0.5.2,<0.6.0", optional = true }
|
|
@@ -114,12 +119,17 @@ myst-parser = { version = "^4.0.1", optional = true }
|
|
|
114
119
|
optax = { version = ">=0.2.2,<0.3.0", optional = true }
|
|
115
120
|
signac = { version = "^2.3.0", optional = true }
|
|
116
121
|
flax = { version = ">=0.8.2,<0.13", optional = true }
|
|
122
|
+
orbax-checkpoint = { version = "<0.11.33", optional = true }
|
|
117
123
|
sax = { version = "^0.11", optional = true }
|
|
118
124
|
vtk = { version = ">=9.2.6,<10.0.0", optional = true }
|
|
125
|
+
pyvista = { version = ">=0.45,<0.47.0", optional = true }
|
|
126
|
+
trame = { version = ">=3.0.0,<4.0.0", optional = true }
|
|
127
|
+
trame-vtk = { version = ">=2.0.0,<3.0.0", optional = true }
|
|
128
|
+
trame-vuetify = { version = ">=2.0.0,<3.0.0", optional = true }
|
|
119
129
|
sphinxemoji = { version = "^0.3.2", optional = true }
|
|
120
130
|
cma = { version = "^4.4.1", optional = true }
|
|
121
131
|
openpyxl = { version = "^3.1.5", optional = true }
|
|
122
|
-
tidy3d-extras = { version = "2.
|
|
132
|
+
tidy3d-extras = { version = "2.11.0.dev1", optional = true }
|
|
123
133
|
|
|
124
134
|
[tool.poetry.extras]
|
|
125
135
|
dev = [
|
|
@@ -142,6 +152,7 @@ dev = [
|
|
|
142
152
|
'nbsphinx',
|
|
143
153
|
'networkx',
|
|
144
154
|
'optax',
|
|
155
|
+
'orbax-checkpoint',
|
|
145
156
|
'psutil',
|
|
146
157
|
'pre-commit',
|
|
147
158
|
'pydata-sphinx-theme',
|
|
@@ -153,6 +164,7 @@ dev = [
|
|
|
153
164
|
'pytest-xdist',
|
|
154
165
|
'pytest-env',
|
|
155
166
|
'pytest-cov',
|
|
167
|
+
'pytest-testmon',
|
|
156
168
|
'rtree',
|
|
157
169
|
'ruff',
|
|
158
170
|
'sax',
|
|
@@ -168,15 +180,22 @@ dev = [
|
|
|
168
180
|
'sphinxemoji',
|
|
169
181
|
'tmm',
|
|
170
182
|
'tox',
|
|
183
|
+
'towncrier',
|
|
171
184
|
'trimesh',
|
|
172
185
|
'scikit-rf',
|
|
173
186
|
'vtk',
|
|
187
|
+
'pyvista',
|
|
188
|
+
'trame',
|
|
189
|
+
'trame-vtk',
|
|
190
|
+
'trame-vuetify',
|
|
174
191
|
'cma',
|
|
175
192
|
'diff-cover',
|
|
176
193
|
'openpyxl',
|
|
177
194
|
'zizmor',
|
|
195
|
+
'libcst',
|
|
178
196
|
]
|
|
179
197
|
tests = [
|
|
198
|
+
'orbax-checkpoint',
|
|
180
199
|
'psutil',
|
|
181
200
|
'pre-commit',
|
|
182
201
|
'pylint',
|
|
@@ -185,9 +204,11 @@ tests = [
|
|
|
185
204
|
'pytest-xdist',
|
|
186
205
|
'pytest-env',
|
|
187
206
|
'pytest-cov',
|
|
207
|
+
'pytest-testmon',
|
|
188
208
|
'trimesh'
|
|
189
209
|
]
|
|
190
210
|
docs = [
|
|
211
|
+
'orbax-checkpoint',
|
|
191
212
|
"jupyter",
|
|
192
213
|
"jinja2",
|
|
193
214
|
"nbconvert",
|
|
@@ -220,6 +241,7 @@ gdstk = ["gdstk"]
|
|
|
220
241
|
scikit-rf = ["scikit-rf"]
|
|
221
242
|
trimesh = ["trimesh", "networkx", "rtree"]
|
|
222
243
|
vtk = ["vtk"]
|
|
244
|
+
pyvista = ["pyvista", "vtk", "trame", "trame-vtk", "trame-vuetify"]
|
|
223
245
|
ruff = ["ruff"]
|
|
224
246
|
heatcharge = ["trimesh", "vtk"]
|
|
225
247
|
# plugins with extra deps
|
|
@@ -246,6 +268,43 @@ name = "codeartifact"
|
|
|
246
268
|
url = "https://flexcompute-625554095313.d.codeartifact.us-east-1.amazonaws.com/pypi/pypi-releases/simple/"
|
|
247
269
|
priority = "supplemental"
|
|
248
270
|
|
|
271
|
+
[tool.towncrier]
|
|
272
|
+
directory = "changelog.d"
|
|
273
|
+
filename = "CHANGELOG.md"
|
|
274
|
+
start_string = "<!-- towncrier release notes start -->\n"
|
|
275
|
+
template = "changelog.d/template.md"
|
|
276
|
+
title_format = "## [{version}] - {project_date}"
|
|
277
|
+
|
|
278
|
+
[[tool.towncrier.type]]
|
|
279
|
+
directory = "added"
|
|
280
|
+
name = "Added"
|
|
281
|
+
showcontent = true
|
|
282
|
+
|
|
283
|
+
[[tool.towncrier.type]]
|
|
284
|
+
directory = "changed"
|
|
285
|
+
name = "Changed"
|
|
286
|
+
showcontent = true
|
|
287
|
+
|
|
288
|
+
[[tool.towncrier.type]]
|
|
289
|
+
directory = "fixed"
|
|
290
|
+
name = "Fixed"
|
|
291
|
+
showcontent = true
|
|
292
|
+
|
|
293
|
+
[[tool.towncrier.type]]
|
|
294
|
+
directory = "removed"
|
|
295
|
+
name = "Removed"
|
|
296
|
+
showcontent = true
|
|
297
|
+
|
|
298
|
+
[[tool.towncrier.type]]
|
|
299
|
+
directory = "breaking"
|
|
300
|
+
name = "Breaking Changes"
|
|
301
|
+
showcontent = true
|
|
302
|
+
|
|
303
|
+
[[tool.towncrier.type]]
|
|
304
|
+
directory = "planned_deprecation"
|
|
305
|
+
name = "Planned Deprecation"
|
|
306
|
+
showcontent = true
|
|
307
|
+
|
|
249
308
|
[build-system]
|
|
250
309
|
requires = ["poetry-core>=1.0.0"]
|
|
251
310
|
build-backend = "poetry.core.masonry.api"
|
|
@@ -309,9 +368,13 @@ banned-module-level-imports = ["scipy", "matplotlib"]
|
|
|
309
368
|
|
|
310
369
|
[tool.pytest.ini_options]
|
|
311
370
|
# TODO: remove --assert=plain when https://github.com/scipy/scipy/issues/22236 is resolved
|
|
312
|
-
addopts = "
|
|
371
|
+
addopts = """
|
|
372
|
+
--cov=tidy3d --doctest-modules -n auto --dist worksteal --assert=plain -m 'not numerical and not perf and not generate_profile and not performance_profile'
|
|
373
|
+
"""
|
|
313
374
|
markers = [
|
|
314
375
|
"numerical: marks numerical tests for adjoint gradients that require running simulations (deselect with '-m \"not numerical\"')",
|
|
376
|
+
"generate_profile: regenerate fixture data required by the performance tests (select with '-m \"generate_profile\"')",
|
|
377
|
+
"performance_profile: enable CPU and memory profiling based on data generated with generate_profile (select with '-m \"performance_profile\"')",
|
|
315
378
|
"perf: marks tests which test the runtime of operations (deselect with '-m \"not perf\"')",
|
|
316
379
|
"slow: marks tests as slow (deselect with -m 'not slow')",
|
|
317
380
|
]
|
|
@@ -319,6 +382,7 @@ env = ["MPLBACKEND=Agg", "OMP_NUM_THREADS=1", "TIDY3D_MICROWAVE__SUPPRESS_RF_LIC
|
|
|
319
382
|
doctest_optionflags = "NORMALIZE_WHITESPACE ELLIPSIS"
|
|
320
383
|
norecursedirs = [
|
|
321
384
|
"tests/_test_local",
|
|
385
|
+
"tests/_integration",
|
|
322
386
|
"tests/test_cli",
|
|
323
387
|
"tests/_test_data",
|
|
324
388
|
"tests/_test_notebooks",
|
|
@@ -334,82 +398,24 @@ python_files = "*.py"
|
|
|
334
398
|
[tool.mypy]
|
|
335
399
|
python_version = "3.10"
|
|
336
400
|
files = [
|
|
337
|
-
"tidy3d
|
|
338
|
-
"tidy3d/config",
|
|
339
|
-
"tidy3d/material_library",
|
|
340
|
-
"tidy3d/components/geometry"
|
|
401
|
+
"tidy3d",
|
|
341
402
|
]
|
|
342
403
|
ignore_missing_imports = true
|
|
343
404
|
follow_imports = "skip"
|
|
344
405
|
disallow_untyped_defs = true
|
|
345
406
|
disable_error_code = [
|
|
346
|
-
"abstract",
|
|
347
|
-
"annotation-unchecked",
|
|
348
407
|
"arg-type",
|
|
349
|
-
"assert-type",
|
|
350
408
|
"assignment",
|
|
351
409
|
"attr-defined",
|
|
352
|
-
"await-not-async",
|
|
353
410
|
"call-arg",
|
|
354
411
|
"call-overload",
|
|
355
|
-
"comparison-overlap",
|
|
356
|
-
"dict-item",
|
|
357
|
-
"empty-body",
|
|
358
|
-
"exit-return",
|
|
359
|
-
"explicit-override",
|
|
360
|
-
"func-returns-value",
|
|
361
|
-
"has-type",
|
|
362
|
-
"ignore-without-code",
|
|
363
|
-
"import",
|
|
364
|
-
"import-not-found",
|
|
365
412
|
"import-untyped",
|
|
366
413
|
"index",
|
|
367
|
-
"list-item",
|
|
368
|
-
"literal-required",
|
|
369
|
-
"method-assign",
|
|
370
414
|
"misc",
|
|
371
|
-
"mutable-override",
|
|
372
|
-
"name-defined",
|
|
373
|
-
"name-match",
|
|
374
|
-
"narrowed-type-not-subtype",
|
|
375
|
-
"no-any-return",
|
|
376
|
-
"no-any-unimported",
|
|
377
|
-
"no-overload-impl",
|
|
378
|
-
"no-redef",
|
|
379
|
-
"no-untyped-call",
|
|
380
415
|
"operator",
|
|
381
|
-
"overload-cannot-match",
|
|
382
|
-
"overload-overlap",
|
|
383
416
|
"override",
|
|
384
|
-
"possibly-undefined",
|
|
385
|
-
"prop-decorator",
|
|
386
|
-
"redundant-cast",
|
|
387
|
-
"redundant-expr",
|
|
388
|
-
"redundant-self",
|
|
389
|
-
"return",
|
|
390
417
|
"return-value",
|
|
391
|
-
"safe-super",
|
|
392
|
-
"str-bytes-safe",
|
|
393
|
-
"str-format",
|
|
394
|
-
"syntax",
|
|
395
|
-
"top-level-await",
|
|
396
|
-
"truthy-bool",
|
|
397
|
-
"truthy-function",
|
|
398
|
-
"truthy-iterable",
|
|
399
|
-
"type-abstract",
|
|
400
|
-
"type-arg",
|
|
401
|
-
"type-var",
|
|
402
|
-
"typeddict-item",
|
|
403
|
-
"typeddict-readonly-mutated",
|
|
404
|
-
"typeddict-unknown-key",
|
|
405
|
-
"unimported-reveal",
|
|
406
418
|
"union-attr",
|
|
407
|
-
"unreachable",
|
|
408
|
-
"unused-awaitable",
|
|
409
|
-
"unused-coroutine",
|
|
410
|
-
"unused-ignore",
|
|
411
|
-
"used-before-def",
|
|
412
|
-
"valid-newtype",
|
|
413
419
|
"valid-type",
|
|
414
420
|
"var-annotated",
|
|
415
421
|
]
|
|
@@ -26,11 +26,11 @@ This makes things easy to reason about and keeps the client code simple.
|
|
|
26
26
|
|
|
27
27
|
#### Pydantic
|
|
28
28
|
|
|
29
|
-
We leverage the [`pydantic`](https://
|
|
29
|
+
We leverage the [`pydantic`](https://docs.pydantic.dev/latest/) package to define these components, which has the following benefits:
|
|
30
30
|
- Less boilerplate code, including pre-processing, writing `__init__` and other methods, the code is easier to read and edit.
|
|
31
31
|
- `pydantic` provides methods for checking types validating arguments so we can catch incorrect .json files before trying to run them.
|
|
32
32
|
- It is very simple to export json files and schema definitions, which makes life easy when we change anything in the code.
|
|
33
|
-
- Many more advantages as described [here](https://
|
|
33
|
+
- Many more advantages as described [here](https://docs.pydantic.dev/latest/why/).
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
### Plugins
|
|
@@ -138,7 +138,6 @@ from tidy3d.components.tcad.types import (
|
|
|
138
138
|
|
|
139
139
|
from .components.apodization import ApodizationSpec
|
|
140
140
|
|
|
141
|
-
# boundary placement for other solvers
|
|
142
141
|
# boundary placement for other solvers
|
|
143
142
|
from .components.bc_placement import (
|
|
144
143
|
MediumMediumInterface,
|
|
@@ -196,10 +195,19 @@ from .components.data.data_array import (
|
|
|
196
195
|
FieldProjectionKSpaceDataArray,
|
|
197
196
|
FluxDataArray,
|
|
198
197
|
FluxTimeDataArray,
|
|
198
|
+
FreqDataArray,
|
|
199
|
+
FreqModeDataArray,
|
|
199
200
|
GroupIndexDataArray,
|
|
200
201
|
HeatDataArray,
|
|
201
202
|
IndexedDataArray,
|
|
203
|
+
IndexedFieldDataArray,
|
|
204
|
+
IndexedFieldTimeDataArray,
|
|
202
205
|
IndexedFieldVoltageDataArray,
|
|
206
|
+
IndexedFreqDataArray,
|
|
207
|
+
IndexedSurfaceFieldDataArray,
|
|
208
|
+
IndexedSurfaceFieldTimeDataArray,
|
|
209
|
+
IndexedSurfaceFreqDataArray,
|
|
210
|
+
IndexedSurfaceTimeDataArray,
|
|
203
211
|
IndexedTimeDataArray,
|
|
204
212
|
IndexedVoltageDataArray,
|
|
205
213
|
ModeAmpsDataArray,
|
|
@@ -226,6 +234,7 @@ from .components.data.monitor_data import (
|
|
|
226
234
|
DiffractionData,
|
|
227
235
|
DirectivityData,
|
|
228
236
|
FieldData,
|
|
237
|
+
FieldOverlapData,
|
|
229
238
|
FieldProjectionAngleData,
|
|
230
239
|
FieldProjectionCartesianData,
|
|
231
240
|
FieldProjectionKSpaceData,
|
|
@@ -236,8 +245,11 @@ from .components.data.monitor_data import (
|
|
|
236
245
|
ModeData,
|
|
237
246
|
ModeSolverData,
|
|
238
247
|
PermittivityData,
|
|
248
|
+
SurfaceFieldData,
|
|
249
|
+
SurfaceFieldTimeData,
|
|
239
250
|
)
|
|
240
251
|
from .components.data.sim_data import DATA_TYPE_MAP, SimulationData
|
|
252
|
+
from .components.data.unstructured.surface import TriangularSurfaceDataset
|
|
241
253
|
from .components.data.utils import (
|
|
242
254
|
TetrahedralGridDataset,
|
|
243
255
|
TriangularGridDataset,
|
|
@@ -277,7 +289,14 @@ from .components.field_projection import FieldProjector
|
|
|
277
289
|
from .components.frequencies import FreqRange, FrequencyUtils, frequencies, wavelengths
|
|
278
290
|
|
|
279
291
|
# geometry
|
|
280
|
-
from .components.geometry.base import
|
|
292
|
+
from .components.geometry.base import (
|
|
293
|
+
Box,
|
|
294
|
+
ClipOperation,
|
|
295
|
+
Geometry,
|
|
296
|
+
GeometryArray,
|
|
297
|
+
GeometryGroup,
|
|
298
|
+
Transformed,
|
|
299
|
+
)
|
|
281
300
|
from .components.geometry.mesh import TriangleMesh
|
|
282
301
|
from .components.geometry.polyslab import PolySlab
|
|
283
302
|
from .components.geometry.primitives import Cylinder, Sphere
|
|
@@ -338,6 +357,14 @@ from .components.medium import (
|
|
|
338
357
|
SurfaceImpedanceFitterParam,
|
|
339
358
|
medium_from_nk,
|
|
340
359
|
)
|
|
360
|
+
|
|
361
|
+
# sources
|
|
362
|
+
from .components.microwave.time import (
|
|
363
|
+
BasebandCustomSourceTime,
|
|
364
|
+
BasebandGaussianPulse,
|
|
365
|
+
BasebandRectangularPulse,
|
|
366
|
+
BasebandStep,
|
|
367
|
+
)
|
|
341
368
|
from .components.mode.data.sim_data import ModeSimulationData
|
|
342
369
|
|
|
343
370
|
# Mode
|
|
@@ -355,6 +382,7 @@ from .components.mode_spec import (
|
|
|
355
382
|
|
|
356
383
|
# monitors
|
|
357
384
|
from .components.monitor import (
|
|
385
|
+
AstigmaticGaussianOverlapMonitor,
|
|
358
386
|
AuxFieldTimeMonitor,
|
|
359
387
|
DiffractionMonitor,
|
|
360
388
|
DirectivityMonitor,
|
|
@@ -366,11 +394,14 @@ from .components.monitor import (
|
|
|
366
394
|
FieldTimeMonitor,
|
|
367
395
|
FluxMonitor,
|
|
368
396
|
FluxTimeMonitor,
|
|
397
|
+
GaussianOverlapMonitor,
|
|
369
398
|
MediumMonitor,
|
|
370
399
|
ModeMonitor,
|
|
371
400
|
ModeSolverMonitor,
|
|
372
401
|
Monitor,
|
|
373
402
|
PermittivityMonitor,
|
|
403
|
+
SurfaceFieldMonitor,
|
|
404
|
+
SurfaceFieldTimeMonitor,
|
|
374
405
|
)
|
|
375
406
|
|
|
376
407
|
# nonlinear
|
|
@@ -395,7 +426,6 @@ from .components.parameter_perturbation import (
|
|
|
395
426
|
# run time spec
|
|
396
427
|
from .components.run_time_spec import RunTimeSpec
|
|
397
428
|
|
|
398
|
-
# scene
|
|
399
429
|
# scene
|
|
400
430
|
from .components.scene import Scene
|
|
401
431
|
|
|
@@ -420,8 +450,6 @@ from .components.source.field import (
|
|
|
420
450
|
from .components.source.frame import (
|
|
421
451
|
PECFrame,
|
|
422
452
|
)
|
|
423
|
-
|
|
424
|
-
# sources
|
|
425
453
|
from .components.source.time import (
|
|
426
454
|
BroadbandPulse,
|
|
427
455
|
ContinuousWave,
|
|
@@ -484,9 +512,10 @@ def set_logging_level(level: str) -> None:
|
|
|
484
512
|
|
|
485
513
|
log.info(f"Using client version: {__version__}")
|
|
486
514
|
|
|
487
|
-
Transformed.
|
|
488
|
-
ClipOperation.
|
|
489
|
-
GeometryGroup.
|
|
515
|
+
Transformed.model_rebuild()
|
|
516
|
+
ClipOperation.model_rebuild()
|
|
517
|
+
GeometryGroup.model_rebuild()
|
|
518
|
+
GeometryArray.model_rebuild()
|
|
490
519
|
|
|
491
520
|
# Backwards compatibility: Remove 2.11 renamed integral classes
|
|
492
521
|
VoltageIntegralAxisAligned = AxisAlignedVoltageIntegral
|
|
@@ -518,6 +547,7 @@ __all__ = [
|
|
|
518
547
|
"ApodizationSpec",
|
|
519
548
|
"AstigmaticGaussianBeam",
|
|
520
549
|
"AstigmaticGaussianBeamProfile",
|
|
550
|
+
"AstigmaticGaussianOverlapMonitor",
|
|
521
551
|
"AugerRecombination",
|
|
522
552
|
"AutoGrid",
|
|
523
553
|
"AutoImpedanceSpec",
|
|
@@ -527,6 +557,10 @@ __all__ = [
|
|
|
527
557
|
"AxisAlignedCurrentIntegralSpec",
|
|
528
558
|
"AxisAlignedVoltageIntegral",
|
|
529
559
|
"AxisAlignedVoltageIntegralSpec",
|
|
560
|
+
"BasebandCustomSourceTime",
|
|
561
|
+
"BasebandGaussianPulse",
|
|
562
|
+
"BasebandRectangularPulse",
|
|
563
|
+
"BasebandStep",
|
|
530
564
|
"BlochBoundary",
|
|
531
565
|
"Boundary",
|
|
532
566
|
"BoundaryEdge",
|
|
@@ -630,12 +664,12 @@ __all__ = [
|
|
|
630
664
|
"EMEScalarModeFieldDataArray",
|
|
631
665
|
"EMESimulation",
|
|
632
666
|
"EMESimulationData",
|
|
633
|
-
"EMESweepSpec",
|
|
634
667
|
"EMEUniformGrid",
|
|
635
668
|
"FieldData",
|
|
636
669
|
"FieldDataset",
|
|
637
670
|
"FieldGrid",
|
|
638
671
|
"FieldMonitor",
|
|
672
|
+
"FieldOverlapData",
|
|
639
673
|
"FieldProjectionAngleData",
|
|
640
674
|
"FieldProjectionAngleDataArray",
|
|
641
675
|
"FieldProjectionAngleMonitor",
|
|
@@ -661,14 +695,18 @@ __all__ = [
|
|
|
661
695
|
"FluxTimeDataArray",
|
|
662
696
|
"FluxTimeMonitor",
|
|
663
697
|
"FossumCarrierLifetime",
|
|
698
|
+
"FreqDataArray",
|
|
699
|
+
"FreqModeDataArray",
|
|
664
700
|
"FreqRange",
|
|
665
701
|
"FrequencyUtils",
|
|
666
702
|
"FullyAnisotropicMedium",
|
|
667
703
|
"GaussianBeam",
|
|
668
704
|
"GaussianBeamProfile",
|
|
669
705
|
"GaussianDoping",
|
|
706
|
+
"GaussianOverlapMonitor",
|
|
670
707
|
"GaussianPulse",
|
|
671
708
|
"Geometry",
|
|
709
|
+
"GeometryArray",
|
|
672
710
|
"GeometryGroup",
|
|
673
711
|
"Graphene",
|
|
674
712
|
"Grid",
|
|
@@ -695,7 +733,14 @@ __all__ = [
|
|
|
695
733
|
"ImpedanceCalculator",
|
|
696
734
|
"IndexPerturbation",
|
|
697
735
|
"IndexedDataArray",
|
|
736
|
+
"IndexedFieldDataArray",
|
|
737
|
+
"IndexedFieldTimeDataArray",
|
|
698
738
|
"IndexedFieldVoltageDataArray",
|
|
739
|
+
"IndexedFreqDataArray",
|
|
740
|
+
"IndexedSurfaceFieldDataArray",
|
|
741
|
+
"IndexedSurfaceFieldTimeDataArray",
|
|
742
|
+
"IndexedSurfaceFreqDataArray",
|
|
743
|
+
"IndexedSurfaceTimeDataArray",
|
|
699
744
|
"IndexedTimeDataArray",
|
|
700
745
|
"IndexedVoltageDataArray",
|
|
701
746
|
"InsulatingBC",
|
|
@@ -824,6 +869,10 @@ __all__ = [
|
|
|
824
869
|
"StructureSimulationBoundary",
|
|
825
870
|
"StructureStructureInterface",
|
|
826
871
|
"SubpixelSpec",
|
|
872
|
+
"SurfaceFieldData",
|
|
873
|
+
"SurfaceFieldMonitor",
|
|
874
|
+
"SurfaceFieldTimeData",
|
|
875
|
+
"SurfaceFieldTimeMonitor",
|
|
827
876
|
"SurfaceImpedance",
|
|
828
877
|
"SurfaceImpedanceFitterParam",
|
|
829
878
|
"TemperatureBC",
|
|
@@ -834,6 +883,7 @@ __all__ = [
|
|
|
834
883
|
"Transformed",
|
|
835
884
|
"TriangleMesh",
|
|
836
885
|
"TriangularGridDataset",
|
|
886
|
+
"TriangularSurfaceDataset",
|
|
837
887
|
"TwoPhotonAbsorption",
|
|
838
888
|
"UniformCurrentSource",
|
|
839
889
|
"UniformGrid",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Compatibility layer for handling differences between package versions."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import importlib
|
|
6
|
+
from functools import cache
|
|
7
|
+
|
|
8
|
+
from packaging.version import parse
|
|
9
|
+
|
|
10
|
+
try:
|
|
11
|
+
from xarray.structure import alignment
|
|
12
|
+
except ImportError:
|
|
13
|
+
from xarray.core import alignment
|
|
14
|
+
|
|
15
|
+
try:
|
|
16
|
+
from numpy import trapezoid as np_trapezoid
|
|
17
|
+
except ImportError: # NumPy < 2.0
|
|
18
|
+
from numpy import trapz as np_trapezoid
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
from typing import Self, TypeAlias # Python >= 3.11
|
|
22
|
+
except ImportError: # Python <3.11
|
|
23
|
+
from typing_extensions import Self, TypeAlias
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@cache
|
|
27
|
+
def _package_is_older_than(package: str, version: str) -> bool:
|
|
28
|
+
return parse(importlib.metadata.version(package)) < parse(version)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
__all__ = ["Self", "TypeAlias", "_package_is_older_than", "alignment", "np_trapezoid"]
|
|
@@ -7,7 +7,7 @@ This file explains the various `tidy3d` components that make up the core of the
|
|
|
7
7
|
### Base
|
|
8
8
|
|
|
9
9
|
All `tidy3d` components are subclasses of the `Tidy3dBaseModel` defined in `base.py`.
|
|
10
|
-
This `Tidy3dBaseModel` itself is a subclass of [`pydantic.BaseModel`](https://
|
|
10
|
+
This `Tidy3dBaseModel` itself is a subclass of [`pydantic.BaseModel`](https://docs.pydantic.dev/latest/concepts/models/) which makes them `pydantic` models.
|
|
11
11
|
In `Tidy3dBaseModel`, we also specify some configuration options, such as whether we validate fields that change after initialization, among others.
|
|
12
12
|
|
|
13
13
|
### Types
|
|
@@ -21,7 +21,7 @@ Coordinate = Tuple[float, float, float]
|
|
|
21
21
|
```
|
|
22
22
|
defines a coordinate in 3D and
|
|
23
23
|
```python
|
|
24
|
-
Indices = Tuple[pydantic.
|
|
24
|
+
Indices = Tuple[pydantic.NonNegativeInt, ...]
|
|
25
25
|
```
|
|
26
26
|
defines a tuple of non-negative integers, for example, a tuple of indices.
|
|
27
27
|
|
|
@@ -134,8 +134,8 @@ Other checks may be added in future development.
|
|
|
134
134
|
|
|
135
135
|
#### JSON Operations
|
|
136
136
|
|
|
137
|
-
The `Simulation` can be exported as .json-like dictionary with `Simulation.
|
|
138
|
-
The schema corresponding to `Simulation` can be generated with `Simulation.
|
|
137
|
+
The `Simulation` can be exported as .json-like dictionary with `Simulation.model_dump_json()`
|
|
138
|
+
The schema corresponding to `Simulation` can be generated with `Simulation.model_json_schema()`
|
|
139
139
|
|
|
140
140
|
## Medium
|
|
141
141
|
|