flexcompute-core 0.0.1.dev0__tar.gz → 0.0.1.dev2__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.
- flexcompute_core-0.0.1.dev2/PKG-INFO +59 -0
- flexcompute_core-0.0.1.dev0/PKG-INFO → flexcompute_core-0.0.1.dev2/README.md +8 -8
- flexcompute_core-0.0.1.dev2/docs/configuration.md +29 -0
- flexcompute_core-0.0.1.dev2/pyproject.toml +102 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/README.md +109 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/diffraction.py +55 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/field_data.py +204 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/grid.py +149 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/medium.py +97 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/microwave.py +25 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/mode.py +107 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/source_normalization.py +31 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/source_time.py +89 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/symmetry.py +18 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/field_data.py +84 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/solver_diagnostics.py +85 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/source_time.py +51 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/cache.py +136 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/config.json +3 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/config.py +44 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/custom_medium.py +817 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/dipole_emission.py +28 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/mode.py +128 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/simulation.py +608 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/subgrid.py +510 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/subpixel.py +68 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/utils.py +213 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/README.md +59 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/__init__.py +1082 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/__main__.py +99 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_runtime.py +12 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/__init__.py +17 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/synthetic_monitor_data.py +710 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/compat.py +30 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/README.md +233 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/apodization.py +107 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/__init__.py +42 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/boxes.py +162 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/derivative_utils.py +1635 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/field_map.py +83 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/flux_monitor.py +76 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/functions.py +289 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/monitor_names.py +25 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/parallel_adjoint_bases.py +348 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/path_utils.py +157 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/point_consumption.py +410 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/sample_sets.py +1024 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/snapping.py +180 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/source_factory.py +521 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/spacing.py +352 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/types.py +193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/utils.py +136 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base.py +2293 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/monitor_data.py +130 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/sim_data.py +243 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/monitor.py +102 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/simulation.py +729 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/source.py +30 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/bc_placement.py +121 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/beam.py +1259 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/boundary.py +1776 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/README.md +158 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/data_array.py +2750 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/dataset.py +1363 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/em_fields.py +59 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/index.py +117 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/README.md +13 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/__init__.py +164 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_constants.py +15 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_types.py +29 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_utils.py +70 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/base.py +369 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/__init__.py +27 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_algebra.py +523 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_grid.py +367 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_io.py +300 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_metrics.py +258 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/data.py +390 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/diagnostic.py +334 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/dipole.py +79 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/electromagnetic.py +92 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/point_cloud.py +133 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/surface.py +229 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/time.py +193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/flux.py +131 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/__init__.py +16 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/data.py +989 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/overlap.py +133 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/solver.py +405 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/time.py +67 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/__init__.py +22 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/_types.py +30 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/angle.py +224 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/base.py +322 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/cartesian.py +161 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/diffraction.py +363 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/directivity.py +451 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/kspace.py +133 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/optical_generation.py +327 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/point_cloud.py +151 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/sim_data.py +2090 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/base.py +2753 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/surface.py +502 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/tetrahedral.py +460 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/triangular.py +955 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/utils.py +464 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/validators.py +86 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/zbf.py +156 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/diffraction.py +256 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/dispersion_fitter.py +1051 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/docstrings.py +298 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/dataset.py +522 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/monitor_data.py +203 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/sim_data.py +1230 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/stage.py +225 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/grid.py +950 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/monitor.py +425 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/simulation.py +2498 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/sweep.py +180 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/README.md +248 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/__init__.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_angle.py +193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_paired.py +399 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/common.py +880 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/exact.py +970 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/projector.py +1292 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/file_util.py +107 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/frequencies.py +564 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/frequency_extrapolation.py +86 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/__init__.py +82 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/abstract_primitives.py +419 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/array.py +414 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/box.py +1193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/clip_operation.py +528 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/constants.py +9 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/core.py +719 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/gds.py +437 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/geometry_group.py +401 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/operators.py +153 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/plotting.py +515 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transformed.py +365 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transforms.py +309 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/utils.py +104 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/bound_ops.py +71 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/contour_conversion.py +797 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/float_utils.py +31 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/mesh.py +1568 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/polyslab.py +3817 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/primitives.py +1480 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/triangulation.py +84 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/utils.py +1099 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/utils_2d.py +372 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/vertex_utils.py +59 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/corner_finder.py +715 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid.py +925 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/__init__.py +193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/constants.py +50 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/__init__.py +16 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/auto.py +494 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/base.py +251 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/manual.py +302 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/__init__.py +5 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/construction.py +291 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/edges.py +277 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/gaps.py +526 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/inplane.py +524 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/model.py +369 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/properties.py +81 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/__init__.py +5 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/entities.py +335 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/factories.py +170 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/generation.py +669 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization.py +59 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization_helpers.py +136 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/model.py +241 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/sizing.py +128 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/mesher.py +1638 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/yee_areas.py +31 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/index.py +210 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/lumped_element.py +2297 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/README.md +3 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/multi_physics.py +221 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/solver_types.py +22 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/charge.py +456 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/heat.py +426 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tensor_rotation.py +198 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/types.py +26 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/README.md +16 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/__init__.py +179 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/_rebuild.py +53 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/abstract_custom.py +461 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/anisotropic.py +670 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/base.py +988 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/__init__.py +27 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/anisotropic.py +277 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/dispersive.py +1504 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/isotropic.py +1149 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/debye.py +222 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/drude.py +188 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/isotropic.py +438 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lorentz.py +317 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lossy_metal.py +275 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/medium_types.py +74 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/perturbation.py +480 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/pole_residue.py +827 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/roughness.py +260 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/sellmeier.py +274 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/two_d.py +468 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/base.py +9 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/data_array.py +52 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/dataset.py +202 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/monitor_data.py +790 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/circuit_parameters.py +179 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/impedance_calculator.py +205 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/mode_spec.py +368 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/monitor.py +94 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/factory.py +223 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/auto.py +91 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/base.py +244 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/current.py +335 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/voltage.py +99 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/mode_plane_analyzer.py +445 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/base.py +274 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/current.py +434 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/impedance.py +189 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/voltage.py +235 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/types.py +18 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/viz.py +56 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/source.py +79 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/time.py +355 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/types.py +9 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/LICENSE +25 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/sim_data.py +335 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/derivatives.py +294 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/geometry.py +122 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/mode_solver.py +3310 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/simulation.py +723 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/solver.py +1388 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/transforms.py +131 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/validation.py +155 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode_spec.py +1038 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/monitor.py +3116 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/nonlinear.py +422 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/parameter_perturbation.py +1797 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/run_time_spec.py +42 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/scene.py +2141 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/README.md +67 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/__init__.py +81 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/adjoint.py +218 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/boundaries.py +789 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/constants.py +32 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/construction.py +418 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/export.py +357 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/grid.py +833 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/materials.py +648 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/mode_integration.py +514 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/model.py +1332 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/monitors.py +919 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/rf_integration.py +123 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/runtime.py +414 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/sources.py +568 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/tfsf.py +998 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/visualization.py +835 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/yee.py +258 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/adjoint_helpers.py +272 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/base.py +241 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/current.py +424 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/field.py +1650 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/frame.py +25 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/freq_range.py +230 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/time.py +682 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/utils.py +36 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/ac.py +101 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/dc.py +298 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/ac.py +61 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/dc.py +166 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/types.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/types.py +17 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/structure.py +1396 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/subpixel_spec.py +224 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/heat_simulation_type.py +177 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/bandgap.py +151 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/abstract.py +11 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/charge.py +152 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/heat.py +339 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/specification.py +53 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/abstract.py +391 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/charge.py +738 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/heat.py +67 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/mesh.py +70 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/sim_data.py +852 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/types.py +31 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping.py +433 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping_utils.py +329 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/effective_DOS.py +130 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/generation_recombination.py +839 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/grid.py +750 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mesher.py +41 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mobility.py +531 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/abstract.py +61 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/charge.py +225 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/heat.py +27 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/mesh.py +35 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat.py +60 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat_charge.py +3778 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/abstract.py +49 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/coupled.py +32 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/heat.py +52 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/types.py +103 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/viz.py +17 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/thin_lens.py +149 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/time.py +208 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/time_modulation.py +328 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/transformation.py +221 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/__init__.py +141 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/base.py +334 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/mode_spec.py +11 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor.py +67 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor_data.py +88 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/simulation.py +49 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/third_party.py +18 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/time.py +27 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/utils.py +103 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/workflow.py +22 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/validators.py +719 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/__init__.py +110 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/axes_utils.py +413 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/descartes.py +113 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_color_palettes.py +3306 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_style.py +46 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/layout.py +101 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_params.py +95 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_sim_3d.py +218 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/styles.py +49 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/visualization_spec.py +87 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/workflow.py +372 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/README.md +96 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/__init__.py +183 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/deprecations.py +95 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/loader.py +852 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/manager.py +617 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/migrations.py +290 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/profiles.py +64 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/registry.py +83 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/schema_utils.py +27 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/sections.py +739 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/serializer.py +145 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/constants.py +360 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/exceptions.py +84 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/log.py +540 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_library.py +2991 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_reference.py +231 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/parametric_materials.py +412 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/util.py +272 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/packaging.py +251 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/README.md +302 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/__init__.py +99 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/constants.py +4 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/differential_operators.py +78 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/functions.py +884 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/__init__.py +43 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/filters.py +326 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/misc.py +29 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/parametrizations.py +393 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/penalties.py +268 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/projections.py +190 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/symmetries.py +236 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/optimizers.py +335 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/__init__.py +6 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/interpolate.py +847 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/misc.py +139 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/types.py +6 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/utilities.py +262 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/README.md +148 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/__init__.py +29 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/design.py +783 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/method.py +1071 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/parameter.py +222 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/result.py +504 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/README.md +16 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/__init__.py +29 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/constants.py +9 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/data.py +108 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/data_array.py +66 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/study.py +890 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/__init__.py +16 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/fit.py +797 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/fit_fast.py +193 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/README.md +308 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/__init__.py +68 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/base.py +209 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/functions.py +171 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/metrics.py +140 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/operators.py +178 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/types.py +68 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/variables.py +96 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/README.md +515 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/__init__.py +60 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/base.py +10 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/contours.py +71 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/design.py +429 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/initialization.py +139 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/optimizer.py +231 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/penalty.py +115 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/polyslab_set.py +509 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/region.py +397 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/result.py +170 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/self_intersection.py +302 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/transformation.py +101 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/utils.py +75 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/validators.py +80 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/README.md +10 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/__init__.py +18 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/README.md +43 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/__init__.py +22 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/defaults.py +9 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/drc.py +233 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/results.py +503 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/util.py +13 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/__init__.py +82 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/array_factor.py +1350 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/auto_path_integrals.py +11 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/custom_path_integrals.py +35 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/impedance_calculator.py +15 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/lobe_measurer.py +356 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/__init__.py +10 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/coupled_microstrip.py +105 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/microstrip.py +152 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/path_integrals.py +23 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/rf_material_library.py +1380 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/rf_material_reference.py +148 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/viz.py +39 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/LICENSE +25 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/README.md +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/__init__.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/mode_solver.py +17 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/polyslab/__init__.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/polyslab/polyslab.py +77 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/README.md +54 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/__init__.py +5 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/wrapper.py +33 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/resonance/__init__.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/resonance/resonance.py +450 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/__init__.py +92 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/antenna.py +133 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/modal.py +120 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/terminal.py +465 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/base.py +418 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/modal.py +401 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/terminal.py +2560 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/types.py +6 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/viz.py +111 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/base.py +82 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/data_array.py +83 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/modal.py +54 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/terminal.py +753 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/types.py +10 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/__init__.py +0 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base.py +28 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base_lumped.py +267 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base_terminal.py +66 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/coaxial_lumped.py +467 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/modal.py +274 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/rectangular_lumped.py +629 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/tilted_lumped.py +706 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/types.py +30 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/wave.py +1631 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/run.py +176 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/types.py +20 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/utils.py +469 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/waveguide/__init__.py +7 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/waveguide/rectangular_dielectric.py +1181 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/rf.py +269 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/style.mplstyle +1 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/system.py +12 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/updater.py +381 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/version.py +3 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/validation/__init__.py +5 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/validation/report.py +28 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/__init__.py +20 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/app.py +102 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/env.py +52 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/loader.py +826 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/manager.py +325 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/registry.py +81 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/sections.py +41 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/serializer.py +152 -0
- flexcompute_core-0.0.1.dev2/src/flexcompute/core/py.typed +0 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/README.md +8 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/check_import_does_not_load_public_products.py +33 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_design_plugin.py +56 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_dipole_emission_schema.py +56 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_dispersive_vjps.py +132 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_eme_validation.py +285 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_field_data_sources.py +284 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_heat_charge_grid_warning.py +72 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_heat_charge_semiconductor_analysis.py +144 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_import_boundaries.py +245 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_simulation.py +53 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_solver_classification.py +158 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_solver_correctness.py +183 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_schema_field_data_numerics.py +89 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_shared_numerical_kernels.py +349 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_shared_numerical_mirrors.py +1490 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_solver_diagnostics.py +76 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_source_time_numerics.py +168 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_bounds.py +35 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_extrusion_overlap.py +134 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_geometry.py +129 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_grid.py +196 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_plot.py +97 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_sim_dict.py +74 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_transient_heat_characteristic_time.py +95 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_unsteady_heat_initial_temperature.py +74 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_unstructured_cell_types.py +46 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_validation_report.py +20 -0
- flexcompute_core-0.0.1.dev2/tests/_migration/em/test_wave_port_extrusion_geometry.py +69 -0
- flexcompute_core-0.0.1.dev2/tests/config/__init__.py +1 -0
- flexcompute_core-0.0.1.dev2/tests/config/helpers.py +110 -0
- flexcompute_core-0.0.1.dev2/tests/config/test_layering.py +97 -0
- flexcompute_core-0.0.1.dev2/tests/config/test_migrations.py +249 -0
- flexcompute_core-0.0.1.dev2/tests/config/test_persistence.py +237 -0
- flexcompute_core-0.0.1.dev2/tests/config/test_registry.py +112 -0
- flexcompute_core-0.0.1.dev2/tests/config/test_runtime.py +143 -0
- flexcompute_core-0.0.1.dev2/tests/test_config_boundaries.py +38 -0
- {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/tests/test_metadata.py +4 -3
- flexcompute_core-0.0.1.dev2/tests/test_migrated_em_wheel.py +88 -0
- flexcompute_core-0.0.1.dev2/uv.lock +4216 -0
- flexcompute_core-0.0.1.dev0/README.md +0 -13
- flexcompute_core-0.0.1.dev0/pyproject.toml +0 -38
- flexcompute_core-0.0.1.dev0/uv.lock +0 -185
- {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/.gitignore +0 -0
- {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/.python-version +0 -0
- {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/src/flexcompute/core/__init__.py +0 -0
- /flexcompute_core-0.0.1.dev0/src/flexcompute/core/py.typed → /flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/__init__.py +0 -0
- {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/tests/test_import.py +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: flexcompute-core
|
|
3
|
+
Version: 0.0.1.dev2
|
|
4
|
+
Summary: Shared internal modules for Flexcompute Python packages.
|
|
5
|
+
Author-Email: "Flexcompute Inc." <support@flexcompute.com>
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Requires-Dist: pydantic<3,>=2.10.3
|
|
8
|
+
Requires-Dist: tomlkit<0.16.0,>=0.13.2
|
|
9
|
+
Requires-Dist: autograd<2.0.0,>=1.7.0
|
|
10
|
+
Requires-Dist: boto3<2.0.0,>=1.28.0
|
|
11
|
+
Requires-Dist: click<9.0.0,>=8.1.0
|
|
12
|
+
Requires-Dist: cryptography==48.0.1; platform_system == "Darwin" and platform_machine == "x86_64"
|
|
13
|
+
Requires-Dist: cryptography!=48.0.1,>=44.0.0; platform_system != "Darwin" or platform_machine != "x86_64"
|
|
14
|
+
Requires-Dist: dask<2027.0.0,>=2025.12.0
|
|
15
|
+
Requires-Dist: fastmcp<4,>=3.4.4
|
|
16
|
+
Requires-Dist: filelock<4.0.0,>=3.20.1
|
|
17
|
+
Requires-Dist: h5netcdf<2.0.0,>=1.0.2
|
|
18
|
+
Requires-Dist: h5py<3.17,>=3.0.0; python_version < "3.14"
|
|
19
|
+
Requires-Dist: h5py<3.17,>=3.16.0; python_version >= "3.14"
|
|
20
|
+
Requires-Dist: importlib-metadata<10.0.0,>=6.0.0
|
|
21
|
+
Requires-Dist: joblib<2.0.0,>=1.5.3
|
|
22
|
+
Requires-Dist: matplotlib<4.0.0,>=3.10.0
|
|
23
|
+
Requires-Dist: numpy<2.5.0,>=2.2.6
|
|
24
|
+
Requires-Dist: pandas<4.0,>=2.2
|
|
25
|
+
Requires-Dist: pydantic-settings<3.0.0,>=2.10.0
|
|
26
|
+
Requires-Dist: pyjwt<3.0.0,>=2.10.1
|
|
27
|
+
Requires-Dist: pyroots<0.6.0,>=0.5.0
|
|
28
|
+
Requires-Dist: PyYAML<7.0.0,>=6.0.3
|
|
29
|
+
Requires-Dist: requests<3.0.0,>=2.31.0
|
|
30
|
+
Requires-Dist: responses<0.27.0,>=0.25.8
|
|
31
|
+
Requires-Dist: rich<16.0,>=13.0
|
|
32
|
+
Requires-Dist: scipy!=1.15.0,!=1.15.1,!=1.15.2,<2.0,>=1.14
|
|
33
|
+
Requires-Dist: shapely<3.0,>=2.1.0
|
|
34
|
+
Requires-Dist: toml<0.11.0,>=0.10.2
|
|
35
|
+
Requires-Dist: typing-extensions<5.0.0,>=4.15.0
|
|
36
|
+
Requires-Dist: xarray<2026.8.0,>=2023.08
|
|
37
|
+
Description-Content-Type: text/markdown
|
|
38
|
+
|
|
39
|
+
# flexcompute-core
|
|
40
|
+
|
|
41
|
+
> Internal package — not intended for public-facing usage.
|
|
42
|
+
|
|
43
|
+
`flexcompute-core` contains shared internal modules used across Flexcompute's
|
|
44
|
+
Python packages under the `flexcompute.core` namespace.
|
|
45
|
+
|
|
46
|
+
The EM schema, preprocessing, and numerical modules migrated from the retired
|
|
47
|
+
standalone EM distribution are staged under `flexcompute.core._migration.em`.
|
|
48
|
+
That namespace is a temporary home for the moved code and is not a stable API;
|
|
49
|
+
the modules move to their final `flexcompute.core` locations in follow-up changes.
|
|
50
|
+
|
|
51
|
+
See the package [documentation](docs/configuration.md) for the configuration
|
|
52
|
+
engine's responsibilities and development checks.
|
|
53
|
+
|
|
54
|
+
It is not a standalone product, public client, or supported dependency for
|
|
55
|
+
external applications. Product APIs and user-facing capabilities live in the
|
|
56
|
+
owning product package.
|
|
57
|
+
|
|
58
|
+
See [Flexcompute](https://www.flexcompute.com/) for product capabilities and
|
|
59
|
+
the public [documentation](https://www.flexcompute.com/support/documentation/).
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: flexcompute-core
|
|
3
|
-
Version: 0.0.1.dev0
|
|
4
|
-
Summary: Shared internal modules for Flexcompute Python packages.
|
|
5
|
-
Author-Email: "Flexcompute Inc." <support@flexcompute.com>
|
|
6
|
-
Requires-Python: >=3.10
|
|
7
|
-
Description-Content-Type: text/markdown
|
|
8
|
-
|
|
9
1
|
# flexcompute-core
|
|
10
2
|
|
|
11
3
|
> Internal package — not intended for public-facing usage.
|
|
@@ -13,6 +5,14 @@ Description-Content-Type: text/markdown
|
|
|
13
5
|
`flexcompute-core` contains shared internal modules used across Flexcompute's
|
|
14
6
|
Python packages under the `flexcompute.core` namespace.
|
|
15
7
|
|
|
8
|
+
The EM schema, preprocessing, and numerical modules migrated from the retired
|
|
9
|
+
standalone EM distribution are staged under `flexcompute.core._migration.em`.
|
|
10
|
+
That namespace is a temporary home for the moved code and is not a stable API;
|
|
11
|
+
the modules move to their final `flexcompute.core` locations in follow-up changes.
|
|
12
|
+
|
|
13
|
+
See the package [documentation](docs/configuration.md) for the configuration
|
|
14
|
+
engine's responsibilities and development checks.
|
|
15
|
+
|
|
16
16
|
It is not a standalone product, public client, or supported dependency for
|
|
17
17
|
external applications. Product APIs and user-facing capabilities live in the
|
|
18
18
|
owning product package.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Configuration engine
|
|
2
|
+
|
|
3
|
+
`flexcompute.core.config` provides product-neutral configuration mechanics:
|
|
4
|
+
profile layering, Pydantic section validation, TOML persistence, atomic writes,
|
|
5
|
+
schema migration execution, scoped runtime overrides, and per-section handlers.
|
|
6
|
+
|
|
7
|
+
Products retain ownership of their public facades, section schemas, defaults,
|
|
8
|
+
profile names, environment aliases, migration definitions, handlers, CLI
|
|
9
|
+
commands, authentication validation, and endpoint catalogs. Core does not
|
|
10
|
+
import product packages or product policy. Core tests the generic migration
|
|
11
|
+
mechanism; products test their concrete migrations on their own surfaces.
|
|
12
|
+
|
|
13
|
+
## Profile versioning
|
|
14
|
+
|
|
15
|
+
`ConfigApp.version_profile_files` controls whether profile files include a
|
|
16
|
+
`config_version` key and whether migrated profile files are written back to
|
|
17
|
+
disk. Profile payloads still pass through the registered migration chain in
|
|
18
|
+
memory so loaded data matches the current schema. Products that need truly
|
|
19
|
+
unversioned, non-migrated profiles should supply a product-specific loader
|
|
20
|
+
override.
|
|
21
|
+
|
|
22
|
+
## Development
|
|
23
|
+
|
|
24
|
+
Run the package checks from the `flex/public/flexcompute-core` directory:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
uv run pytest
|
|
28
|
+
uv run ruff check src tests
|
|
29
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["scikit_build_core==1.0.3"]
|
|
3
|
+
build-backend = "scikit_build_core.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "flexcompute-core"
|
|
7
|
+
version = "0.0.1.dev2"
|
|
8
|
+
authors = [{ name = "Flexcompute Inc.", email = "support@flexcompute.com" }]
|
|
9
|
+
description = "Shared internal modules for Flexcompute Python packages."
|
|
10
|
+
readme = "README.md"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
dependencies = [
|
|
13
|
+
# Shared core.
|
|
14
|
+
"pydantic>=2.10.3,<3",
|
|
15
|
+
"tomlkit>=0.13.2,<0.16.0",
|
|
16
|
+
# Temporary migrated EM contracts under flexcompute.core._migration.em.
|
|
17
|
+
"autograd>=1.7.0,<2.0.0",
|
|
18
|
+
"boto3>=1.28.0,<2.0.0",
|
|
19
|
+
"click>=8.1.0,<9.0.0",
|
|
20
|
+
"cryptography==48.0.1; platform_system == 'Darwin' and platform_machine == 'x86_64'",
|
|
21
|
+
"cryptography>=44.0.0,!=48.0.1; platform_system != 'Darwin' or platform_machine != 'x86_64'",
|
|
22
|
+
"dask>=2025.12.0,<2027.0.0",
|
|
23
|
+
"fastmcp>=3.4.4,<4",
|
|
24
|
+
"filelock>=3.20.1,<4.0.0",
|
|
25
|
+
"h5netcdf>=1.0.2,<2.0.0",
|
|
26
|
+
"h5py>=3.0.0,<3.17; python_version < '3.14'",
|
|
27
|
+
"h5py>=3.16.0,<3.17; python_version >= '3.14'",
|
|
28
|
+
"importlib-metadata>=6.0.0,<10.0.0",
|
|
29
|
+
"joblib>=1.5.3,<2.0.0",
|
|
30
|
+
"matplotlib>=3.10.0,<4.0.0",
|
|
31
|
+
"numpy>=2.2.6,<2.5.0",
|
|
32
|
+
"pandas>=2.2,<4.0",
|
|
33
|
+
"pydantic-settings>=2.10.0,<3.0.0",
|
|
34
|
+
"pyjwt>=2.10.1,<3.0.0",
|
|
35
|
+
"pyroots>=0.5.0,<0.6.0",
|
|
36
|
+
"PyYAML>=6.0.3,<7.0.0",
|
|
37
|
+
"requests>=2.31.0,<3.0.0",
|
|
38
|
+
"responses>=0.25.8,<0.27.0",
|
|
39
|
+
"rich>=13.0,<16.0",
|
|
40
|
+
"scipy>=1.14,<2.0,!=1.15.0,!=1.15.1,!=1.15.2",
|
|
41
|
+
"shapely>=2.1.0,<3.0",
|
|
42
|
+
"toml>=0.10.2,<0.11.0",
|
|
43
|
+
"typing-extensions>=4.15.0,<5.0.0",
|
|
44
|
+
"xarray>=2023.08,<2026.8.0",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[tool.scikit-build]
|
|
48
|
+
cmake.version = ">=3.15"
|
|
49
|
+
wheel.cmake = false
|
|
50
|
+
wheel.packages = ["src/flexcompute"]
|
|
51
|
+
minimum-version = "build-system.requires"
|
|
52
|
+
|
|
53
|
+
[dependency-groups]
|
|
54
|
+
dev = [
|
|
55
|
+
"pyrefly==1.3.0",
|
|
56
|
+
"pytest>=8.1,<10.0.0",
|
|
57
|
+
"ruff==0.14.1",
|
|
58
|
+
"scipy-stubs>=1.15.3,<2.0",
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
[tool.uv]
|
|
62
|
+
default-groups = ["dev"]
|
|
63
|
+
|
|
64
|
+
[tool.pytest.ini_options]
|
|
65
|
+
pythonpath = ["src"]
|
|
66
|
+
testpaths = ["tests"]
|
|
67
|
+
|
|
68
|
+
[tool.ruff]
|
|
69
|
+
target-version = "py310"
|
|
70
|
+
line-length = 100
|
|
71
|
+
|
|
72
|
+
[tool.ruff.lint]
|
|
73
|
+
# Pin the rule set instead of extending ruff's default selection, which changes
|
|
74
|
+
# between ruff releases.
|
|
75
|
+
select = ["E", "F", "B", "I", "UP", "W"]
|
|
76
|
+
|
|
77
|
+
[tool.ruff.lint.per-file-ignores]
|
|
78
|
+
# The temporary migrated EM tree keeps the pyflakes-only baseline it moved in with.
|
|
79
|
+
"src/flexcompute/core/_migration/**" = ["B", "E", "I", "UP", "W"]
|
|
80
|
+
"tests/_migration/**" = ["B", "E", "I", "UP", "W"]
|
|
81
|
+
|
|
82
|
+
[tool.pyrefly]
|
|
83
|
+
project-includes = ["src/flexcompute/core/_migration/em"]
|
|
84
|
+
python-version = "3.10.0"
|
|
85
|
+
preset = "off"
|
|
86
|
+
ignore-missing-imports = ["*"]
|
|
87
|
+
|
|
88
|
+
[tool.pyrefly.errors]
|
|
89
|
+
# The migrated EM tree still contains legacy unannotated callables and attributes. Keep
|
|
90
|
+
# the annotation-presence rules disabled until that baseline is migrated.
|
|
91
|
+
deprecated = "error"
|
|
92
|
+
redundant-cast = "error"
|
|
93
|
+
redundant-condition = "error"
|
|
94
|
+
invalid-literal = "error"
|
|
95
|
+
unnecessary-type-conversion = "error"
|
|
96
|
+
bad-raise = "error"
|
|
97
|
+
bad-keyword-argument = "error"
|
|
98
|
+
invalid-syntax = "error"
|
|
99
|
+
implicit-any-attribute = "error"
|
|
100
|
+
invalid-argument = "error"
|
|
101
|
+
bad-override-param-name = "error"
|
|
102
|
+
not-required-key-access = "error"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Temporary migration-only namespace for the first flexcompute development release."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Temporary migrated EM contracts for the first flexcompute development release."""
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# flexcompute.core._migration.em.numerical
|
|
2
|
+
|
|
3
|
+
`flexcompute.core._migration.em.numerical` owns portable numerical kernels and
|
|
4
|
+
deterministic schema-level EM conventions shared across packages. These are the
|
|
5
|
+
formulas, sign conventions, and result interpretations that would otherwise be
|
|
6
|
+
duplicated across runtime consumers.
|
|
7
|
+
|
|
8
|
+
```mermaid
|
|
9
|
+
flowchart TD
|
|
10
|
+
Public["public tidy3d"]
|
|
11
|
+
Solver["em_solver"]
|
|
12
|
+
Schema["flexcompute.core._migration.em.schema"]
|
|
13
|
+
Adapter["flexcompute.core._migration.em.numerical.schema"]
|
|
14
|
+
Raw["flexcompute.core._migration.em.numerical.raw"]
|
|
15
|
+
|
|
16
|
+
Public --> Raw
|
|
17
|
+
Solver --> Raw
|
|
18
|
+
Schema --> Raw
|
|
19
|
+
Schema --> Adapter
|
|
20
|
+
Adapter --> Raw
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Paths below are relative to this directory unless they begin with `flex/` or
|
|
24
|
+
`src/`.
|
|
25
|
+
|
|
26
|
+
## Layers
|
|
27
|
+
|
|
28
|
+
| Layer | Primary input | May import |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| `raw` | arrays, scalars, simple typed payloads | third-party array libraries only |
|
|
31
|
+
| `schema` | `flexcompute.core._migration.em.schema` model instances | `flexcompute.core._migration.em.schema` and `raw` |
|
|
32
|
+
|
|
33
|
+
A schema adapter unpacks a model into keyword scalars once, then delegates the
|
|
34
|
+
arithmetic: `schema/source_time.py:10-23` against the keyword-only raw
|
|
35
|
+
signature it calls at `raw/source_time.py:10-22`.
|
|
36
|
+
|
|
37
|
+
The split is contract-enforced, and the enforcement is deliberately asymmetric.
|
|
38
|
+
|
|
39
|
+
| Contract | Asserts |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| `migrated-em-raw-numerical` | `numerical.raw` imports none of `tidy3d`, `flexcompute.rf`, `tidy3d_extras`, `flexcompute.core._migration.em.schema`, `em_solver` |
|
|
42
|
+
| `flexcompute-core` | `flexcompute.core._migration.em` imports no public product and no runtime consumer; `flexcompute.core._migration.em.schema` is allowed within the package |
|
|
43
|
+
|
|
44
|
+
Both live in `flex/utils/repository-tests/compute/.importlinter` and are checked
|
|
45
|
+
by import-linter across the whole EM import graph, so a breach is reported
|
|
46
|
+
wherever the import is written rather than only when this package's own tests
|
|
47
|
+
run.
|
|
48
|
+
|
|
49
|
+
## Consumers
|
|
50
|
+
|
|
51
|
+
| Consumer | Entry point | Example |
|
|
52
|
+
| --- | --- | --- |
|
|
53
|
+
| public Tidy3D | `raw` | `flex/public/tidy3d/tidy3d/components/source/time.py:249` |
|
|
54
|
+
| `flexcompute.core._migration.em.schema` | `raw`, or `schema` where a model must be unpacked | `flex/public/flexcompute-core/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data.py:78-82`; `flex/public/flexcompute-core/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/time.py:13` |
|
|
55
|
+
| `em_solver` | `raw` | in `src/Tidy3DCore/em-solver/em_solver/`: `eme_kernels.py:9`, `setup.py:25`, `point_cloud.py:13` |
|
|
56
|
+
|
|
57
|
+
Public Tidy3D calls `raw` directly instead of owning a public adapter
|
|
58
|
+
namespace. Only `flexcompute.core._migration.em.schema` has an adapter layer, and only where a schema
|
|
59
|
+
model has to be unpacked first.
|
|
60
|
+
|
|
61
|
+
## Conventions owned here
|
|
62
|
+
|
|
63
|
+
| Convention | Kernel | Behavior |
|
|
64
|
+
| --- | --- | --- |
|
|
65
|
+
| power and Poynting | `raw/field_data.py:14-17`, `:33-46` | `0.5 * E x H*`, complex. The kernels conjugate but do not take the real part. |
|
|
66
|
+
| planar monitor flux correction | `schema/field_data.py` | Preserves the centered Yee-grid flux convention after fields are interpolated to the exact monitor plane. |
|
|
67
|
+
| colocated integration | `raw/mode.py:10-16` | `colocate=None` means `True`; `colocate` and `use_colocated_integration` combine with OR, not AND. Resolver at `:19-31`: an explicit argument wins, otherwise any colocated monitor makes the call colocated. |
|
|
68
|
+
| snap margin | `raw/microwave.py:8-11` | `(2, 2, 2)` when field data is colocated, `(0, 0, 0)` otherwise, keeping automatic current paths off interpolated H fields near metal surfaces (call site and reason: `flex/public/flexcompute-core/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/mode_plane_analyzer.py:60-62`). |
|
|
69
|
+
| current sign | `raw/microwave.py:14-17` | Opposite the voltage polarity, because current flows from the plus to the minus terminal (`flex/public/flexcompute-core/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/auto.py:79-84`). The voltage integral takes the polarity unchanged at `:63`. |
|
|
70
|
+
| FDTD result diagnostics | `schema/solver_diagnostics.py` | Maps schema simulation context and solver completion flags to shared warning messages without owning logging. |
|
|
71
|
+
|
|
72
|
+
Read the kernel when the exact behavior matters; this table routes, it does not
|
|
73
|
+
restate.
|
|
74
|
+
|
|
75
|
+
## What stays out of raw
|
|
76
|
+
|
|
77
|
+
`raw` owns conventions duplicated in Python across public Tidy3D,
|
|
78
|
+
`flexcompute.core._migration.em.schema`, and `em_solver`. A source family whose evaluation is owned by
|
|
79
|
+
a native runtime is not duplicated Python convention, so its wrapper stays at
|
|
80
|
+
the runtime boundary instead.
|
|
81
|
+
|
|
82
|
+
`BroadbandPulse` is the worked example. Public Tidy3D delegates pulse
|
|
83
|
+
evaluation to the extras native extension at
|
|
84
|
+
`flex/public/tidy3d/tidy3d/components/source/time.py:681-692`; the schema class
|
|
85
|
+
raises `SetupError` at
|
|
86
|
+
`flex/public/flexcompute-core/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/time.py:649-655`.
|
|
87
|
+
There is no shared Python kernel between the two, and moving runtime-owned
|
|
88
|
+
implementation detail into `raw` would cost `raw` its product-neutrality.
|
|
89
|
+
|
|
90
|
+
## Validation
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
uv run --project flex/public/flexcompute-core pytest flex/public/flexcompute-core/tests/_migration/em
|
|
94
|
+
|
|
95
|
+
# The layer split is an import contract, so it needs the whole EM graph rather
|
|
96
|
+
# than this package alone. From a full checkout:
|
|
97
|
+
PYTHONPATH=flex/utils/repository-tests/compute \
|
|
98
|
+
python3 -m repository_tests.compute.import_boundaries
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The contract runner exits 2 in a narrow worktree that does not contain every
|
|
102
|
+
package root, so run it from a full checkout or let CI run it.
|
|
103
|
+
|
|
104
|
+
| Test or contract | Covers |
|
|
105
|
+
| --- | --- |
|
|
106
|
+
| the `migrated-em` and `migrated-em-raw-numerical` contracts | the layer split |
|
|
107
|
+
| `flex/public/flexcompute-core/tests/_migration/em/test_shared_numerical_kernels.py` | the conventions above, at `:25` (power and overlap signs and conjugation), `:280` (mode sorting and colocation), `:315` (path-integral sign and margin) |
|
|
108
|
+
| `flex/public/flexcompute-core/tests/_migration/em/test_shared_numerical_mirrors.py` | the same behavior at the consumer and schema-wrapper level, mirroring the equivalent public Tidy3D client tests |
|
|
109
|
+
| `flex/public/flexcompute-core/tests/_migration/em/test_schema_field_data_numerics.py` | planar field-monitor flux correction and its deliberate no-op cases |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Shared numerical kernels and schema-facing numerical adapters for EM packages."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Product-neutral shared numerical kernels."""
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""Shared diffraction-order numerical kernels."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import numpy as np
|
|
8
|
+
|
|
9
|
+
COS_THETA_THRESH = 1e-5
|
|
10
|
+
C_0 = 2.99792458e14
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def shifted_orders(orders: tuple[int, ...], bloch_vec: float | np.ndarray) -> np.ndarray:
|
|
14
|
+
"""Return diffraction orders shifted by the Bloch vector."""
|
|
15
|
+
|
|
16
|
+
return bloch_vec + np.atleast_2d(orders).T
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def reciprocal_coords_from_epsilon(
|
|
20
|
+
orders: Any,
|
|
21
|
+
*,
|
|
22
|
+
size: float,
|
|
23
|
+
bloch_vec: float | np.ndarray,
|
|
24
|
+
frequency: float,
|
|
25
|
+
epsilon: complex,
|
|
26
|
+
) -> np.ndarray:
|
|
27
|
+
"""Return normalized reciprocal coordinates from order, Bloch, and epsilon data."""
|
|
28
|
+
|
|
29
|
+
if size == 0:
|
|
30
|
+
return np.atleast_2d(0)
|
|
31
|
+
order_tuple = tuple(int(order) for order in np.atleast_1d(orders))
|
|
32
|
+
bloch_array = shifted_orders(order_tuple, bloch_vec)
|
|
33
|
+
return bloch_array / size * C_0 / frequency / np.real(np.sqrt(epsilon))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def amplitude_norm(theta_data: np.ndarray, eta: np.ndarray | complex) -> np.ndarray:
|
|
37
|
+
"""Return diffraction amplitude normalization."""
|
|
38
|
+
|
|
39
|
+
cos_theta = np.cos(np.nan_to_num(theta_data))
|
|
40
|
+
cos_theta[cos_theta <= COS_THETA_THRESH] = np.inf
|
|
41
|
+
return 1.0 / np.sqrt(2.0 * np.asarray(eta)) / np.sqrt(cos_theta)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def angle_is_propagating(angle_theta: float) -> bool:
|
|
45
|
+
"""Return whether a diffraction angle is valid for a propagating order."""
|
|
46
|
+
|
|
47
|
+
return bool(np.isfinite(angle_theta) and np.cos(angle_theta) > COS_THETA_THRESH)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def bloch_vec_at_freq(bloch_vec: float | np.ndarray, freq_index: int) -> float:
|
|
51
|
+
"""Return scalar Bloch vector for a monitor frequency index."""
|
|
52
|
+
|
|
53
|
+
if np.ndim(bloch_vec) == 0:
|
|
54
|
+
return float(bloch_vec)
|
|
55
|
+
return float(np.asarray(bloch_vec)[freq_index])
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"""Shared field-data numerical kernels."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import numpy as np
|
|
8
|
+
|
|
9
|
+
OUTER_DOT_BLOCK_TARGET_BYTES = 64 * 1024**2
|
|
10
|
+
OUTER_DOT_BLOCK_MIN_SIZE = 8
|
|
11
|
+
OUTER_DOT_BLOCK_MAX_SIZE = 64
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def complex_poynting(e1: Any, e2: Any, h1: Any, h2: Any) -> Any:
|
|
15
|
+
"""Return the complex time-averaged Poynting component ``0.5 E x H*``."""
|
|
16
|
+
|
|
17
|
+
return 0.5 * (e1 * h2.conj() - e2 * h1.conj())
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def instantaneous_power_flow(
|
|
21
|
+
E: tuple[np.ndarray, np.ndarray],
|
|
22
|
+
H: tuple[np.ndarray, np.ndarray],
|
|
23
|
+
dS: tuple[np.ndarray, np.ndarray],
|
|
24
|
+
) -> np.ndarray:
|
|
25
|
+
"""Compute instantaneous power flow for real fields."""
|
|
26
|
+
|
|
27
|
+
dS_EuHv, dS_EvHu = dS
|
|
28
|
+
Eu, Ev = E
|
|
29
|
+
Hu, Hv = H
|
|
30
|
+
return np.sum((Eu * Hv) * dS_EuHv - (Ev * Hu) * dS_EvHu, axis=(-2, -1))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def complex_power_flow(
|
|
34
|
+
E: tuple[np.ndarray, np.ndarray],
|
|
35
|
+
H: tuple[np.ndarray, np.ndarray],
|
|
36
|
+
dS: tuple[np.ndarray, np.ndarray],
|
|
37
|
+
) -> np.ndarray:
|
|
38
|
+
"""Compute ``0.5 * E x H*`` integrated with Yee-grid area elements."""
|
|
39
|
+
|
|
40
|
+
dS_EuHv, dS_EvHu = dS
|
|
41
|
+
Eu, Ev = E
|
|
42
|
+
Hu, Hv = H
|
|
43
|
+
return 0.5 * np.sum(
|
|
44
|
+
(Eu * np.conj(Hv)) * dS_EuHv - (Ev * np.conj(Hu)) * dS_EvHu,
|
|
45
|
+
axis=(-2, -1),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def dot(
|
|
50
|
+
E1: tuple[np.ndarray, np.ndarray],
|
|
51
|
+
H1: tuple[np.ndarray, np.ndarray],
|
|
52
|
+
E2: tuple[np.ndarray, np.ndarray],
|
|
53
|
+
H2: tuple[np.ndarray, np.ndarray],
|
|
54
|
+
dS: tuple[np.ndarray, np.ndarray],
|
|
55
|
+
conjugate: bool = False,
|
|
56
|
+
bidirectional: bool = True,
|
|
57
|
+
) -> np.ndarray:
|
|
58
|
+
"""Compute the modal overlap integral."""
|
|
59
|
+
|
|
60
|
+
dS_EuHv, dS_EvHu = dS
|
|
61
|
+
E1u, E1v = E1
|
|
62
|
+
H1u, H1v = H1
|
|
63
|
+
E2u, E2v = E2
|
|
64
|
+
H2u, H2v = H2
|
|
65
|
+
|
|
66
|
+
dS_EuHv_flat = np.asarray(dS_EuHv).reshape(-1)
|
|
67
|
+
dS_EvHu_flat = np.asarray(dS_EvHu).reshape(-1)
|
|
68
|
+
|
|
69
|
+
if bidirectional:
|
|
70
|
+
term_specs = (
|
|
71
|
+
(0.25, E1u, H2v, dS_EuHv_flat),
|
|
72
|
+
(0.25, H1v, E2u, dS_EuHv_flat),
|
|
73
|
+
(-0.25, E1v, H2u, dS_EvHu_flat),
|
|
74
|
+
(-0.25, H1u, E2v, dS_EvHu_flat),
|
|
75
|
+
)
|
|
76
|
+
else:
|
|
77
|
+
term_specs = (
|
|
78
|
+
(0.5, E1u, H2v, dS_EuHv_flat),
|
|
79
|
+
(-0.5, E1v, H2u, dS_EvHu_flat),
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
batch_shape = np.broadcast_shapes(
|
|
83
|
+
*(left.shape[:-2] for _, left, _, _ in term_specs),
|
|
84
|
+
*(right.shape[:-2] for _, _, right, _ in term_specs),
|
|
85
|
+
)
|
|
86
|
+
dtype = np.result_type(
|
|
87
|
+
*(a.dtype for _, a, _, _ in term_specs),
|
|
88
|
+
*(a.dtype for _, _, a, _ in term_specs),
|
|
89
|
+
*(d.dtype for _, _, _, d in term_specs),
|
|
90
|
+
)
|
|
91
|
+
result = np.zeros(batch_shape, dtype=dtype)
|
|
92
|
+
|
|
93
|
+
for coeff, left, right, d_area in term_specs:
|
|
94
|
+
left_flat = left.reshape(*left.shape[:-2], -1)
|
|
95
|
+
right_flat = right.reshape(*right.shape[:-2], -1)
|
|
96
|
+
if conjugate:
|
|
97
|
+
left_flat = np.conj(left_flat)
|
|
98
|
+
result += (
|
|
99
|
+
coeff
|
|
100
|
+
* ((left_flat * d_area)[..., np.newaxis, :] @ right_flat[..., :, np.newaxis])[..., 0, 0]
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
return result
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def outer_dot(
|
|
107
|
+
E1: tuple[np.ndarray, np.ndarray],
|
|
108
|
+
H1: tuple[np.ndarray, np.ndarray],
|
|
109
|
+
E2: tuple[np.ndarray, np.ndarray],
|
|
110
|
+
H2: tuple[np.ndarray, np.ndarray],
|
|
111
|
+
dS: tuple[np.ndarray, np.ndarray],
|
|
112
|
+
conjugate: bool = False,
|
|
113
|
+
bidirectional: bool = True,
|
|
114
|
+
) -> np.ndarray:
|
|
115
|
+
"""Compute a pairwise modal-overlap matrix."""
|
|
116
|
+
|
|
117
|
+
E1u, E1v = E1
|
|
118
|
+
H1u, H1v = H1
|
|
119
|
+
E2u, E2v = E2
|
|
120
|
+
H2u, H2v = H2
|
|
121
|
+
dS_EuHv, dS_EvHu = dS
|
|
122
|
+
|
|
123
|
+
n_modes_1 = E1u.shape[-3]
|
|
124
|
+
n_modes_2 = E2u.shape[-3]
|
|
125
|
+
broadcast_shape = E1u.shape[:-3]
|
|
126
|
+
num_grid_points = E1u.shape[-2] * E1u.shape[-1]
|
|
127
|
+
dtype = np.result_type(
|
|
128
|
+
E1u.dtype,
|
|
129
|
+
E1v.dtype,
|
|
130
|
+
H1u.dtype,
|
|
131
|
+
H1v.dtype,
|
|
132
|
+
E2u.dtype,
|
|
133
|
+
E2v.dtype,
|
|
134
|
+
H2u.dtype,
|
|
135
|
+
H2v.dtype,
|
|
136
|
+
np.asarray(dS_EuHv).dtype,
|
|
137
|
+
np.asarray(dS_EvHu).dtype,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
S = np.zeros((*broadcast_shape, n_modes_1, n_modes_2), dtype=dtype)
|
|
141
|
+
if n_modes_1 == 0 or n_modes_2 == 0:
|
|
142
|
+
return S
|
|
143
|
+
|
|
144
|
+
if conjugate:
|
|
145
|
+
E1u, E1v = np.conj(E1u), np.conj(E1v)
|
|
146
|
+
H1u, H1v = np.conj(H1u), np.conj(H1v)
|
|
147
|
+
|
|
148
|
+
itemsize = np.dtype(dtype).itemsize
|
|
149
|
+
if num_grid_points == 0:
|
|
150
|
+
block_size = OUTER_DOT_BLOCK_MAX_SIZE
|
|
151
|
+
else:
|
|
152
|
+
block_size = int(OUTER_DOT_BLOCK_TARGET_BYTES // (num_grid_points * itemsize))
|
|
153
|
+
block_size = max(OUTER_DOT_BLOCK_MIN_SIZE, block_size)
|
|
154
|
+
block_size = min(OUTER_DOT_BLOCK_MAX_SIZE, block_size)
|
|
155
|
+
|
|
156
|
+
block_size_left = min(n_modes_1, block_size)
|
|
157
|
+
block_size_right = min(n_modes_2, block_size)
|
|
158
|
+
|
|
159
|
+
dS_EuHv_flat = np.asarray(dS_EuHv).reshape(-1)
|
|
160
|
+
dS_EvHu_flat = np.asarray(dS_EvHu).reshape(-1)
|
|
161
|
+
if dS_EuHv_flat.size != num_grid_points or dS_EvHu_flat.size != num_grid_points:
|
|
162
|
+
raise ValueError("Tangential area shape mismatch in blocked outer_dot kernel.")
|
|
163
|
+
|
|
164
|
+
num_batches = int(np.prod(broadcast_shape, dtype=int)) if broadcast_shape else 1
|
|
165
|
+
out_flat = S.reshape(num_batches, n_modes_1, n_modes_2)
|
|
166
|
+
|
|
167
|
+
if bidirectional:
|
|
168
|
+
term_specs = (
|
|
169
|
+
(0.25, E1u, H2v, dS_EuHv_flat),
|
|
170
|
+
(0.25, H1v, E2u, dS_EuHv_flat),
|
|
171
|
+
(-0.25, E1v, H2u, dS_EvHu_flat),
|
|
172
|
+
(-0.25, H1u, E2v, dS_EvHu_flat),
|
|
173
|
+
)
|
|
174
|
+
else:
|
|
175
|
+
term_specs = (
|
|
176
|
+
(0.5, E1u, H2v, dS_EuHv_flat),
|
|
177
|
+
(-0.5, E1v, H2u, dS_EvHu_flat),
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
flattened_terms = tuple(
|
|
181
|
+
(
|
|
182
|
+
coeff,
|
|
183
|
+
left.reshape(num_batches, n_modes_1, num_grid_points),
|
|
184
|
+
right.reshape(num_batches, n_modes_2, num_grid_points),
|
|
185
|
+
d_area,
|
|
186
|
+
)
|
|
187
|
+
for coeff, left, right, d_area in term_specs
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
for batch_idx in range(num_batches):
|
|
191
|
+
out_batch = out_flat[batch_idx]
|
|
192
|
+
for coeff, left_term, right_term, d_area in flattened_terms:
|
|
193
|
+
left_batch = left_term[batch_idx]
|
|
194
|
+
right_batch = right_term[batch_idx]
|
|
195
|
+
for i0 in range(0, n_modes_1, block_size_left):
|
|
196
|
+
i0_end = min(i0 + block_size_left, n_modes_1)
|
|
197
|
+
left_block = left_batch[i0:i0_end]
|
|
198
|
+
for i1 in range(0, n_modes_2, block_size_right):
|
|
199
|
+
i1_end = min(i1 + block_size_right, n_modes_2)
|
|
200
|
+
right_block = right_batch[i1:i1_end]
|
|
201
|
+
weighted_right = right_block * d_area
|
|
202
|
+
out_batch[i0:i0_end, i1:i1_end] += coeff * (left_block @ weighted_right.T)
|
|
203
|
+
|
|
204
|
+
return S
|