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.
Files changed (577) hide show
  1. flexcompute_core-0.0.1.dev2/PKG-INFO +59 -0
  2. flexcompute_core-0.0.1.dev0/PKG-INFO → flexcompute_core-0.0.1.dev2/README.md +8 -8
  3. flexcompute_core-0.0.1.dev2/docs/configuration.md +29 -0
  4. flexcompute_core-0.0.1.dev2/pyproject.toml +102 -0
  5. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/__init__.py +1 -0
  6. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/__init__.py +1 -0
  7. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/README.md +109 -0
  8. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/__init__.py +1 -0
  9. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/__init__.py +1 -0
  10. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/diffraction.py +55 -0
  11. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/field_data.py +204 -0
  12. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/grid.py +149 -0
  13. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/medium.py +97 -0
  14. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/microwave.py +25 -0
  15. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/mode.py +107 -0
  16. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/source_normalization.py +31 -0
  17. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/source_time.py +89 -0
  18. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/raw/symmetry.py +18 -0
  19. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/__init__.py +1 -0
  20. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/field_data.py +84 -0
  21. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/solver_diagnostics.py +85 -0
  22. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/numerical/schema/source_time.py +51 -0
  23. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/__init__.py +1 -0
  24. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/cache.py +136 -0
  25. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/config.json +3 -0
  26. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/config.py +44 -0
  27. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/custom_medium.py +817 -0
  28. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/dipole_emission.py +28 -0
  29. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/mode.py +128 -0
  30. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/simulation.py +608 -0
  31. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/subgrid.py +510 -0
  32. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/subpixel.py +68 -0
  33. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/preprocess/utils.py +213 -0
  34. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/README.md +59 -0
  35. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/__init__.py +1082 -0
  36. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/__main__.py +99 -0
  37. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_runtime.py +12 -0
  38. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/__init__.py +17 -0
  39. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/synthetic_monitor_data.py +710 -0
  40. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/compat.py +30 -0
  41. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/README.md +233 -0
  42. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/apodization.py +107 -0
  43. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/__init__.py +42 -0
  44. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/boxes.py +162 -0
  45. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/derivative_utils.py +1635 -0
  46. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/field_map.py +83 -0
  47. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/flux_monitor.py +76 -0
  48. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/functions.py +289 -0
  49. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/monitor_names.py +25 -0
  50. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/parallel_adjoint_bases.py +348 -0
  51. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/path_utils.py +157 -0
  52. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/point_consumption.py +410 -0
  53. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/sample_sets.py +1024 -0
  54. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/snapping.py +180 -0
  55. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/source_factory.py +521 -0
  56. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/spacing.py +352 -0
  57. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/types.py +193 -0
  58. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/utils.py +136 -0
  59. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base.py +2293 -0
  60. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/__init__.py +0 -0
  61. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/__init__.py +0 -0
  62. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/monitor_data.py +130 -0
  63. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/sim_data.py +243 -0
  64. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/monitor.py +102 -0
  65. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/simulation.py +729 -0
  66. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/source.py +30 -0
  67. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/bc_placement.py +121 -0
  68. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/beam.py +1259 -0
  69. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/boundary.py +1776 -0
  70. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/README.md +158 -0
  71. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/__init__.py +0 -0
  72. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/data_array.py +2750 -0
  73. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/dataset.py +1363 -0
  74. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/em_fields.py +59 -0
  75. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/index.py +117 -0
  76. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/README.md +13 -0
  77. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/__init__.py +164 -0
  78. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_constants.py +15 -0
  79. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_types.py +29 -0
  80. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_utils.py +70 -0
  81. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/base.py +369 -0
  82. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/__init__.py +27 -0
  83. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_algebra.py +523 -0
  84. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_grid.py +367 -0
  85. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_io.py +300 -0
  86. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_metrics.py +258 -0
  87. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/data.py +390 -0
  88. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/diagnostic.py +334 -0
  89. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/dipole.py +79 -0
  90. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/electromagnetic.py +92 -0
  91. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/point_cloud.py +133 -0
  92. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/surface.py +229 -0
  93. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/time.py +193 -0
  94. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/flux.py +131 -0
  95. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/__init__.py +16 -0
  96. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/data.py +989 -0
  97. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/overlap.py +133 -0
  98. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/solver.py +405 -0
  99. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/time.py +67 -0
  100. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/__init__.py +22 -0
  101. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/_types.py +30 -0
  102. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/angle.py +224 -0
  103. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/base.py +322 -0
  104. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/cartesian.py +161 -0
  105. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/diffraction.py +363 -0
  106. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/directivity.py +451 -0
  107. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/kspace.py +133 -0
  108. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/optical_generation.py +327 -0
  109. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/point_cloud.py +151 -0
  110. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/sim_data.py +2090 -0
  111. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/__init__.py +0 -0
  112. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/base.py +2753 -0
  113. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/surface.py +502 -0
  114. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/tetrahedral.py +460 -0
  115. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/triangular.py +955 -0
  116. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/utils.py +464 -0
  117. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/validators.py +86 -0
  118. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/zbf.py +156 -0
  119. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/diffraction.py +256 -0
  120. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/dispersion_fitter.py +1051 -0
  121. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/docstrings.py +298 -0
  122. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/__init__.py +0 -0
  123. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/__init__.py +0 -0
  124. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/dataset.py +522 -0
  125. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/monitor_data.py +203 -0
  126. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/sim_data.py +1230 -0
  127. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/stage.py +225 -0
  128. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/grid.py +950 -0
  129. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/monitor.py +425 -0
  130. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/simulation.py +2498 -0
  131. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/sweep.py +180 -0
  132. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/README.md +248 -0
  133. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/__init__.py +7 -0
  134. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_angle.py +193 -0
  135. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_paired.py +399 -0
  136. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/common.py +880 -0
  137. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/exact.py +970 -0
  138. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/projector.py +1292 -0
  139. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/file_util.py +107 -0
  140. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/frequencies.py +564 -0
  141. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/frequency_extrapolation.py +86 -0
  142. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/__init__.py +0 -0
  143. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/__init__.py +82 -0
  144. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/abstract_primitives.py +419 -0
  145. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/array.py +414 -0
  146. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/box.py +1193 -0
  147. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/clip_operation.py +528 -0
  148. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/constants.py +9 -0
  149. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/core.py +719 -0
  150. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/gds.py +437 -0
  151. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/geometry_group.py +401 -0
  152. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/operators.py +153 -0
  153. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/plotting.py +515 -0
  154. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transformed.py +365 -0
  155. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transforms.py +309 -0
  156. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/utils.py +104 -0
  157. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/bound_ops.py +71 -0
  158. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/contour_conversion.py +797 -0
  159. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/float_utils.py +31 -0
  160. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/mesh.py +1568 -0
  161. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/polyslab.py +3817 -0
  162. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/primitives.py +1480 -0
  163. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/triangulation.py +84 -0
  164. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/utils.py +1099 -0
  165. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/utils_2d.py +372 -0
  166. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/vertex_utils.py +59 -0
  167. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/__init__.py +0 -0
  168. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/corner_finder.py +715 -0
  169. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid.py +925 -0
  170. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/__init__.py +193 -0
  171. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/constants.py +50 -0
  172. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/__init__.py +16 -0
  173. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/auto.py +494 -0
  174. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/base.py +251 -0
  175. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/manual.py +302 -0
  176. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/__init__.py +5 -0
  177. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/construction.py +291 -0
  178. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/edges.py +277 -0
  179. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/gaps.py +526 -0
  180. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/inplane.py +524 -0
  181. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/model.py +369 -0
  182. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/properties.py +81 -0
  183. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/__init__.py +5 -0
  184. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/entities.py +335 -0
  185. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/factories.py +170 -0
  186. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/generation.py +669 -0
  187. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization.py +59 -0
  188. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization_helpers.py +136 -0
  189. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/model.py +241 -0
  190. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/sizing.py +128 -0
  191. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/mesher.py +1638 -0
  192. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/yee_areas.py +31 -0
  193. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/index.py +210 -0
  194. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/lumped_element.py +2297 -0
  195. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/README.md +3 -0
  196. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/__init__.py +1 -0
  197. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/multi_physics.py +221 -0
  198. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/solver_types.py +22 -0
  199. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/__init__.py +0 -0
  200. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/charge.py +456 -0
  201. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/heat.py +426 -0
  202. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tensor_rotation.py +198 -0
  203. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/types.py +26 -0
  204. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/README.md +16 -0
  205. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/__init__.py +179 -0
  206. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/_rebuild.py +53 -0
  207. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/abstract_custom.py +461 -0
  208. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/anisotropic.py +670 -0
  209. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/base.py +988 -0
  210. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/__init__.py +27 -0
  211. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/anisotropic.py +277 -0
  212. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/dispersive.py +1504 -0
  213. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/isotropic.py +1149 -0
  214. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/debye.py +222 -0
  215. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/drude.py +188 -0
  216. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/isotropic.py +438 -0
  217. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lorentz.py +317 -0
  218. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lossy_metal.py +275 -0
  219. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/medium_types.py +74 -0
  220. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/perturbation.py +480 -0
  221. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/pole_residue.py +827 -0
  222. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/roughness.py +260 -0
  223. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/sellmeier.py +274 -0
  224. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/two_d.py +468 -0
  225. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/__init__.py +0 -0
  226. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/base.py +9 -0
  227. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/__init__.py +0 -0
  228. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/data_array.py +52 -0
  229. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/dataset.py +202 -0
  230. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/monitor_data.py +790 -0
  231. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/__init__.py +0 -0
  232. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/circuit_parameters.py +179 -0
  233. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/impedance_calculator.py +205 -0
  234. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/mode_spec.py +368 -0
  235. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/monitor.py +94 -0
  236. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/__init__.py +0 -0
  237. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/factory.py +223 -0
  238. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/__init__.py +0 -0
  239. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/auto.py +91 -0
  240. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/base.py +244 -0
  241. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/current.py +335 -0
  242. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/voltage.py +99 -0
  243. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/mode_plane_analyzer.py +445 -0
  244. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/__init__.py +0 -0
  245. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/base.py +274 -0
  246. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/current.py +434 -0
  247. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/impedance.py +189 -0
  248. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/voltage.py +235 -0
  249. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/types.py +18 -0
  250. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/viz.py +56 -0
  251. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/source.py +79 -0
  252. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/time.py +355 -0
  253. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/types.py +9 -0
  254. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/LICENSE +25 -0
  255. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/__init__.py +0 -0
  256. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/__init__.py +0 -0
  257. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/sim_data.py +335 -0
  258. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/derivatives.py +294 -0
  259. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/geometry.py +122 -0
  260. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/mode_solver.py +3310 -0
  261. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/simulation.py +723 -0
  262. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/solver.py +1388 -0
  263. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/transforms.py +131 -0
  264. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/validation.py +155 -0
  265. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode_spec.py +1038 -0
  266. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/monitor.py +3116 -0
  267. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/nonlinear.py +422 -0
  268. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/parameter_perturbation.py +1797 -0
  269. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/run_time_spec.py +42 -0
  270. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/scene.py +2141 -0
  271. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/README.md +67 -0
  272. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/__init__.py +81 -0
  273. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/adjoint.py +218 -0
  274. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/boundaries.py +789 -0
  275. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/constants.py +32 -0
  276. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/construction.py +418 -0
  277. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/export.py +357 -0
  278. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/grid.py +833 -0
  279. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/materials.py +648 -0
  280. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/mode_integration.py +514 -0
  281. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/model.py +1332 -0
  282. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/monitors.py +919 -0
  283. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/rf_integration.py +123 -0
  284. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/runtime.py +414 -0
  285. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/sources.py +568 -0
  286. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/tfsf.py +998 -0
  287. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/visualization.py +835 -0
  288. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/yee.py +258 -0
  289. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/__init__.py +0 -0
  290. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/adjoint_helpers.py +272 -0
  291. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/base.py +241 -0
  292. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/current.py +424 -0
  293. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/field.py +1650 -0
  294. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/frame.py +25 -0
  295. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/freq_range.py +230 -0
  296. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/time.py +682 -0
  297. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/utils.py +36 -0
  298. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/__init__.py +0 -0
  299. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/__init__.py +0 -0
  300. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/ac.py +101 -0
  301. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/dc.py +298 -0
  302. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/__init__.py +0 -0
  303. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/ac.py +61 -0
  304. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/dc.py +166 -0
  305. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/types.py +7 -0
  306. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/types.py +17 -0
  307. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/structure.py +1396 -0
  308. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/subpixel_spec.py +224 -0
  309. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/__init__.py +0 -0
  310. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/__init__.py +0 -0
  311. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/heat_simulation_type.py +177 -0
  312. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/bandgap.py +151 -0
  313. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/__init__.py +0 -0
  314. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/abstract.py +11 -0
  315. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/charge.py +152 -0
  316. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/heat.py +339 -0
  317. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/specification.py +53 -0
  318. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/__init__.py +0 -0
  319. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/__init__.py +0 -0
  320. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/abstract.py +391 -0
  321. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/charge.py +738 -0
  322. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/heat.py +67 -0
  323. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/mesh.py +70 -0
  324. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/sim_data.py +852 -0
  325. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/types.py +31 -0
  326. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping.py +433 -0
  327. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping_utils.py +329 -0
  328. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/effective_DOS.py +130 -0
  329. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/generation_recombination.py +839 -0
  330. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/grid.py +750 -0
  331. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mesher.py +41 -0
  332. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mobility.py +531 -0
  333. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/__init__.py +0 -0
  334. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/abstract.py +61 -0
  335. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/charge.py +225 -0
  336. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/heat.py +27 -0
  337. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/mesh.py +35 -0
  338. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/__init__.py +0 -0
  339. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat.py +60 -0
  340. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat_charge.py +3778 -0
  341. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/__init__.py +0 -0
  342. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/abstract.py +49 -0
  343. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/coupled.py +32 -0
  344. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/heat.py +52 -0
  345. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/types.py +103 -0
  346. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/viz.py +17 -0
  347. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/thin_lens.py +149 -0
  348. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/time.py +208 -0
  349. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/time_modulation.py +328 -0
  350. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/transformation.py +221 -0
  351. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/__init__.py +141 -0
  352. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/base.py +334 -0
  353. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/mode_spec.py +11 -0
  354. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor.py +67 -0
  355. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor_data.py +88 -0
  356. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/simulation.py +49 -0
  357. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/third_party.py +18 -0
  358. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/time.py +27 -0
  359. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/utils.py +103 -0
  360. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/workflow.py +22 -0
  361. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/validators.py +719 -0
  362. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/__init__.py +110 -0
  363. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/axes_utils.py +413 -0
  364. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/descartes.py +113 -0
  365. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_color_palettes.py +3306 -0
  366. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_style.py +46 -0
  367. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/layout.py +101 -0
  368. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_params.py +95 -0
  369. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_sim_3d.py +218 -0
  370. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/styles.py +49 -0
  371. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/visualization_spec.py +87 -0
  372. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/components/workflow.py +372 -0
  373. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/README.md +96 -0
  374. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/__init__.py +183 -0
  375. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/deprecations.py +95 -0
  376. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/loader.py +852 -0
  377. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/manager.py +617 -0
  378. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/migrations.py +290 -0
  379. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/profiles.py +64 -0
  380. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/registry.py +83 -0
  381. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/schema_utils.py +27 -0
  382. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/sections.py +739 -0
  383. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/config/serializer.py +145 -0
  384. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/constants.py +360 -0
  385. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/exceptions.py +84 -0
  386. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/log.py +540 -0
  387. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/__init__.py +0 -0
  388. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_library.py +2991 -0
  389. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_reference.py +231 -0
  390. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/parametric_materials.py +412 -0
  391. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/util.py +272 -0
  392. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/packaging.py +251 -0
  393. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/__init__.py +1 -0
  394. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/README.md +302 -0
  395. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/__init__.py +99 -0
  396. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/constants.py +4 -0
  397. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/differential_operators.py +78 -0
  398. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/functions.py +884 -0
  399. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/__init__.py +43 -0
  400. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/filters.py +326 -0
  401. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/misc.py +29 -0
  402. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/parametrizations.py +393 -0
  403. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/penalties.py +268 -0
  404. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/projections.py +190 -0
  405. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/invdes/symmetries.py +236 -0
  406. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/optimizers.py +335 -0
  407. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/__init__.py +6 -0
  408. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/interpolate.py +847 -0
  409. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/primitives/misc.py +139 -0
  410. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/types.py +6 -0
  411. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/autograd/utilities.py +262 -0
  412. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/README.md +148 -0
  413. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/__init__.py +29 -0
  414. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/design.py +783 -0
  415. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/method.py +1071 -0
  416. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/parameter.py +222 -0
  417. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/design/result.py +504 -0
  418. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/README.md +16 -0
  419. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/__init__.py +29 -0
  420. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/constants.py +9 -0
  421. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/data.py +108 -0
  422. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/data_array.py +66 -0
  423. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dipole_emission/study.py +890 -0
  424. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/__init__.py +16 -0
  425. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/fit.py +797 -0
  426. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/dispersion/fit_fast.py +193 -0
  427. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/README.md +308 -0
  428. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/__init__.py +68 -0
  429. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/base.py +209 -0
  430. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/functions.py +171 -0
  431. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/metrics.py +140 -0
  432. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/operators.py +178 -0
  433. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/types.py +68 -0
  434. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/variables.py +96 -0
  435. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/README.md +515 -0
  436. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/__init__.py +60 -0
  437. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/base.py +10 -0
  438. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/contours.py +71 -0
  439. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/design.py +429 -0
  440. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/initialization.py +139 -0
  441. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/optimizer.py +231 -0
  442. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/penalty.py +115 -0
  443. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/polyslab_set.py +509 -0
  444. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/region.py +397 -0
  445. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/result.py +170 -0
  446. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/self_intersection.py +302 -0
  447. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/transformation.py +101 -0
  448. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/utils.py +75 -0
  449. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/validators.py +80 -0
  450. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/README.md +10 -0
  451. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/__init__.py +18 -0
  452. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/README.md +43 -0
  453. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/__init__.py +22 -0
  454. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/defaults.py +9 -0
  455. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/drc.py +233 -0
  456. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/drc/results.py +503 -0
  457. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/klayout/util.py +13 -0
  458. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/__init__.py +82 -0
  459. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/array_factor.py +1350 -0
  460. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/auto_path_integrals.py +11 -0
  461. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/custom_path_integrals.py +35 -0
  462. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/impedance_calculator.py +15 -0
  463. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/lobe_measurer.py +356 -0
  464. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/__init__.py +10 -0
  465. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/coupled_microstrip.py +105 -0
  466. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/models/microstrip.py +152 -0
  467. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/path_integrals.py +23 -0
  468. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/rf_material_library.py +1380 -0
  469. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/rf_material_reference.py +148 -0
  470. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/microwave/viz.py +39 -0
  471. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/LICENSE +25 -0
  472. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/README.md +1 -0
  473. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/__init__.py +7 -0
  474. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/mode_solver.py +17 -0
  475. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/polyslab/__init__.py +7 -0
  476. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/polyslab/polyslab.py +77 -0
  477. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/README.md +54 -0
  478. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/__init__.py +5 -0
  479. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/pytorch/wrapper.py +33 -0
  480. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/resonance/__init__.py +7 -0
  481. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/resonance/resonance.py +450 -0
  482. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/__init__.py +92 -0
  483. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/__init__.py +0 -0
  484. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/antenna.py +133 -0
  485. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/modal.py +120 -0
  486. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/analysis/terminal.py +465 -0
  487. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/__init__.py +0 -0
  488. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/base.py +418 -0
  489. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/modal.py +401 -0
  490. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/terminal.py +2560 -0
  491. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/types.py +6 -0
  492. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/component_modelers/viz.py +111 -0
  493. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/__init__.py +0 -0
  494. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/base.py +82 -0
  495. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/data_array.py +83 -0
  496. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/modal.py +54 -0
  497. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/terminal.py +753 -0
  498. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/data/types.py +10 -0
  499. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/__init__.py +0 -0
  500. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base.py +28 -0
  501. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base_lumped.py +267 -0
  502. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/base_terminal.py +66 -0
  503. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/coaxial_lumped.py +467 -0
  504. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/modal.py +274 -0
  505. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/rectangular_lumped.py +629 -0
  506. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/tilted_lumped.py +706 -0
  507. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/types.py +30 -0
  508. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/ports/wave.py +1631 -0
  509. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/run.py +176 -0
  510. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/types.py +20 -0
  511. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/smatrix/utils.py +469 -0
  512. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/waveguide/__init__.py +7 -0
  513. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/waveguide/rectangular_dielectric.py +1181 -0
  514. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/rf.py +269 -0
  515. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/style.mplstyle +1 -0
  516. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/system.py +12 -0
  517. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/updater.py +381 -0
  518. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/schema/tidy3d/version.py +3 -0
  519. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/validation/__init__.py +5 -0
  520. flexcompute_core-0.0.1.dev2/src/flexcompute/core/_migration/em/validation/report.py +28 -0
  521. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/__init__.py +20 -0
  522. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/app.py +102 -0
  523. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/env.py +52 -0
  524. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/loader.py +826 -0
  525. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/manager.py +325 -0
  526. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/registry.py +81 -0
  527. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/sections.py +41 -0
  528. flexcompute_core-0.0.1.dev2/src/flexcompute/core/config/serializer.py +152 -0
  529. flexcompute_core-0.0.1.dev2/src/flexcompute/core/py.typed +0 -0
  530. flexcompute_core-0.0.1.dev2/tests/_migration/em/README.md +8 -0
  531. flexcompute_core-0.0.1.dev2/tests/_migration/em/check_import_does_not_load_public_products.py +33 -0
  532. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_design_plugin.py +56 -0
  533. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_dipole_emission_schema.py +56 -0
  534. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_dispersive_vjps.py +132 -0
  535. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_eme_validation.py +285 -0
  536. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_field_data_sources.py +284 -0
  537. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_heat_charge_grid_warning.py +72 -0
  538. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_heat_charge_semiconductor_analysis.py +144 -0
  539. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_import_boundaries.py +245 -0
  540. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_simulation.py +53 -0
  541. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_solver_classification.py +158 -0
  542. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_mode_solver_correctness.py +183 -0
  543. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_schema_field_data_numerics.py +89 -0
  544. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_shared_numerical_kernels.py +349 -0
  545. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_shared_numerical_mirrors.py +1490 -0
  546. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_solver_diagnostics.py +76 -0
  547. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_source_time_numerics.py +168 -0
  548. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_bounds.py +35 -0
  549. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_extrusion_overlap.py +134 -0
  550. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_geometry.py +129 -0
  551. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_grid.py +196 -0
  552. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_plot.py +97 -0
  553. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_tilted_lumped_port_sim_dict.py +74 -0
  554. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_transient_heat_characteristic_time.py +95 -0
  555. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_unsteady_heat_initial_temperature.py +74 -0
  556. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_unstructured_cell_types.py +46 -0
  557. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_validation_report.py +20 -0
  558. flexcompute_core-0.0.1.dev2/tests/_migration/em/test_wave_port_extrusion_geometry.py +69 -0
  559. flexcompute_core-0.0.1.dev2/tests/config/__init__.py +1 -0
  560. flexcompute_core-0.0.1.dev2/tests/config/helpers.py +110 -0
  561. flexcompute_core-0.0.1.dev2/tests/config/test_layering.py +97 -0
  562. flexcompute_core-0.0.1.dev2/tests/config/test_migrations.py +249 -0
  563. flexcompute_core-0.0.1.dev2/tests/config/test_persistence.py +237 -0
  564. flexcompute_core-0.0.1.dev2/tests/config/test_registry.py +112 -0
  565. flexcompute_core-0.0.1.dev2/tests/config/test_runtime.py +143 -0
  566. flexcompute_core-0.0.1.dev2/tests/test_config_boundaries.py +38 -0
  567. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/tests/test_metadata.py +4 -3
  568. flexcompute_core-0.0.1.dev2/tests/test_migrated_em_wheel.py +88 -0
  569. flexcompute_core-0.0.1.dev2/uv.lock +4216 -0
  570. flexcompute_core-0.0.1.dev0/README.md +0 -13
  571. flexcompute_core-0.0.1.dev0/pyproject.toml +0 -38
  572. flexcompute_core-0.0.1.dev0/uv.lock +0 -185
  573. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/.gitignore +0 -0
  574. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/.python-version +0 -0
  575. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev2}/src/flexcompute/core/__init__.py +0 -0
  576. /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
  577. {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