flexcompute-core 0.0.1.dev0__tar.gz → 0.0.1.dev3__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 (721) hide show
  1. flexcompute_core-0.0.1.dev3/PKG-INFO +73 -0
  2. flexcompute_core-0.0.1.dev3/README.md +34 -0
  3. flexcompute_core-0.0.1.dev3/docs/configuration.md +29 -0
  4. flexcompute_core-0.0.1.dev3/pyproject.toml +132 -0
  5. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/__init__.py +1 -0
  6. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/__init__.py +1 -0
  7. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/apodization/__init__.py +1 -0
  8. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/apodization/schema.py +88 -0
  9. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/apodization/validation.py +54 -0
  10. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/__init__.py +1 -0
  11. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/placement/__init__.py +1 -0
  12. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/placement/schema.py +101 -0
  13. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/placement/validation.py +42 -0
  14. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/schema.py +1592 -0
  15. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/boundary/validation.py +232 -0
  16. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/conversion/__init__.py +1 -0
  17. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/conversion/base.py +38 -0
  18. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/data/__init__.py +1 -0
  19. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/data/validation.py +158 -0
  20. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/__init__.py +89 -0
  21. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/base.py +259 -0
  22. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/execute.py +257 -0
  23. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/hdf5.py +106 -0
  24. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/kernels.py +653 -0
  25. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/program.py +149 -0
  26. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/derivatives/reductions.py +246 -0
  27. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/__init__.py +1 -0
  28. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/runtime.py +151 -0
  29. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/schema/__init__.py +1 -0
  30. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/schema/grid.py +813 -0
  31. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/schema/sweep.py +166 -0
  32. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/schema/validation_schema.py +39 -0
  33. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/eme/validation.py +282 -0
  34. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/frequency_extrapolation/__init__.py +1 -0
  35. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/frequency_extrapolation/schema.py +76 -0
  36. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/frequency_extrapolation/validation.py +78 -0
  37. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/geometry/__init__.py +1 -0
  38. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/geometry/translate.py +154 -0
  39. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/geometry/validation.py +19 -0
  40. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/__init__.py +1 -0
  41. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/__init__.py +1 -0
  42. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/__init__.py +1 -0
  43. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/constants.py +42 -0
  44. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/__init__.py +1 -0
  45. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/construction.py +290 -0
  46. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/edges.py +277 -0
  47. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/gaps.py +526 -0
  48. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/grid_refinement.py +142 -0
  49. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/inplane.py +524 -0
  50. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/model.py +229 -0
  51. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/grid_spec/refinement/properties.py +80 -0
  52. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/schema/validation_schema.py +9 -0
  53. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/grid/validation.py +78 -0
  54. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/__init__.py +1 -0
  55. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/__init__.py +1 -0
  56. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/design.py +190 -0
  57. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/initialization.py +103 -0
  58. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/penalty.py +116 -0
  59. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/region.py +331 -0
  60. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/schema/transformation.py +121 -0
  61. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/invdes/validation.py +273 -0
  62. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/lumped_element/__init__.py +1 -0
  63. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/lumped_element/schema.py +2186 -0
  64. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/lumped_element/validation.py +203 -0
  65. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/__init__.py +1 -0
  66. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/dispersion_fitter/__init__.py +1 -0
  67. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/dispersion_fitter/schema/__init__.py +1 -0
  68. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/dispersion_fitter/schema/dispersion_fitter.py +1017 -0
  69. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/dispersion_fitter/validation.py +50 -0
  70. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/__init__.py +1 -0
  71. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/comparison.py +16 -0
  72. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/limits.py +20 -0
  73. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/__init__.py +32 -0
  74. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/_rebuild.py +60 -0
  75. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/abstract_custom.py +343 -0
  76. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/anisotropic.py +496 -0
  77. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/base.py +775 -0
  78. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/custom/__init__.py +1 -0
  79. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/custom/anisotropic.py +250 -0
  80. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/custom/dispersive.py +863 -0
  81. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/custom/isotropic.py +709 -0
  82. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/debye.py +120 -0
  83. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/drude.py +116 -0
  84. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/isotropic.py +272 -0
  85. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/lorentz.py +193 -0
  86. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/lossy_metal.py +265 -0
  87. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/medium_types.py +91 -0
  88. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/perturbation.py +304 -0
  89. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/pole_residue.py +603 -0
  90. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/roughness.py +260 -0
  91. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/sellmeier.py +154 -0
  92. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/schema/two_d.py +473 -0
  93. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/validation.py +1449 -0
  94. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/medium/validation_schema.py +58 -0
  95. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/nonlinear/__init__.py +1 -0
  96. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/nonlinear/schema/__init__.py +1 -0
  97. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/nonlinear/schema/nonlinear.py +312 -0
  98. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/nonlinear/validation.py +101 -0
  99. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/parameter_perturbation/__init__.py +1 -0
  100. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/parameter_perturbation/schema/__init__.py +1 -0
  101. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/parameter_perturbation/schema/parameter_perturbation.py +1684 -0
  102. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/parameter_perturbation/validation.py +114 -0
  103. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/time_modulation/__init__.py +1 -0
  104. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/time_modulation/schema/__init__.py +1 -0
  105. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/time_modulation/schema/time_modulation.py +306 -0
  106. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/material/time_modulation/validation.py +86 -0
  107. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/__init__.py +1 -0
  108. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/__init__.py +1 -0
  109. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/impedance_calculator.py +192 -0
  110. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/factory.py +223 -0
  111. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/integrals/__init__.py +0 -0
  112. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/integrals/auto.py +91 -0
  113. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/integrals/base.py +244 -0
  114. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/integrals/current.py +345 -0
  115. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/integrals/voltage.py +106 -0
  116. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/mode_plane_analyzer.py +447 -0
  117. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/specs/__init__.py +0 -0
  118. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/specs/base.py +274 -0
  119. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/specs/current.py +435 -0
  120. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/specs/impedance.py +170 -0
  121. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/specs/voltage.py +236 -0
  122. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/types.py +18 -0
  123. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/viz.py +56 -0
  124. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/validation.py +57 -0
  125. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/mode/__init__.py +1 -0
  126. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/mode/spec/__init__.py +1 -0
  127. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/mode/spec/constants.py +59 -0
  128. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/mode/spec/schema.py +484 -0
  129. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/mode/spec/validation.py +227 -0
  130. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/monitor/__init__.py +1 -0
  131. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/monitor/schema.py +2854 -0
  132. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/monitor/validation.py +497 -0
  133. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/__init__.py +1 -0
  134. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/__init__.py +1 -0
  135. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/baseband_source_time.py +333 -0
  136. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/collar.py +616 -0
  137. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/diffraction.py +57 -0
  138. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/doping.py +57 -0
  139. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/field_data.py +204 -0
  140. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/grid.py +242 -0
  141. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/medium.py +276 -0
  142. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/microwave.py +495 -0
  143. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/mode.py +124 -0
  144. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/power_loss.py +152 -0
  145. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/projections.py +143 -0
  146. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/shape_derivative.py +132 -0
  147. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/source_derivative.py +62 -0
  148. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/source_normalization.py +31 -0
  149. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/source_time.py +107 -0
  150. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/spatial.py +465 -0
  151. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/symmetry.py +54 -0
  152. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/raw/thin_lens.py +20 -0
  153. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/schema/__init__.py +1 -0
  154. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/schema/field_data.py +149 -0
  155. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/schema/solver_diagnostics.py +85 -0
  156. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/numerical/schema/source_time.py +51 -0
  157. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/scene/__init__.py +1 -0
  158. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/scene/schema.py +2039 -0
  159. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/scene/validation.py +157 -0
  160. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/__init__.py +1 -0
  161. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/cache.py +142 -0
  162. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/config.json +3 -0
  163. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/config.py +44 -0
  164. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/custom_medium.py +818 -0
  165. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/dipole_emission.py +28 -0
  166. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/mode.py +128 -0
  167. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/simulation.py +604 -0
  168. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/subgrid.py +511 -0
  169. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/subpixel.py +68 -0
  170. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/preprocess/utils.py +380 -0
  171. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/__init__.py +4 -0
  172. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/__main__.py +99 -0
  173. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/_optional_imports.py +215 -0
  174. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/_runtime.py +12 -0
  175. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/__init__.py +17 -0
  176. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/_testing/synthetic_monitor_data.py +818 -0
  177. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/compat.py +30 -0
  178. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/__init__.py +0 -0
  179. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/apodization.py +5 -0
  180. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/__init__.py +42 -0
  181. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/boxes.py +12 -0
  182. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/field_map.py +44 -0
  183. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/flux_monitor.py +73 -0
  184. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/functions.py +15 -0
  185. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/monitor_names.py +25 -0
  186. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/path_utils.py +19 -0
  187. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/sample_sets.py +1052 -0
  188. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/types.py +193 -0
  189. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/autograd/utils.py +12 -0
  190. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base.py +2319 -0
  191. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/__init__.py +0 -0
  192. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/__init__.py +0 -0
  193. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/monitor_data.py +130 -0
  194. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/data/sim_data.py +242 -0
  195. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/monitor.py +119 -0
  196. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/simulation.py +661 -0
  197. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/base_sim/source.py +30 -0
  198. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/bc_placement.py +21 -0
  199. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/beam.py +1276 -0
  200. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/bound_ops.py +9 -0
  201. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/boundary.py +81 -0
  202. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/contour_conversion.py +801 -0
  203. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/__init__.py +0 -0
  204. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/binary.py +156 -0
  205. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/data_array/__init__.py +114 -0
  206. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/dataset.py +1526 -0
  207. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/dataset_base.py +43 -0
  208. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/em_fields.py +59 -0
  209. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/index.py +117 -0
  210. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/__init__.py +172 -0
  211. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_constants.py +15 -0
  212. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/_types.py +29 -0
  213. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/base.py +361 -0
  214. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/__init__.py +43 -0
  215. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_algebra.py +523 -0
  216. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_grid.py +367 -0
  217. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_io.py +300 -0
  218. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/_em_metrics.py +258 -0
  219. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/data.py +117 -0
  220. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/diagnostic.py +717 -0
  221. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/dipole.py +67 -0
  222. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/electromagnetic.py +92 -0
  223. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/point_cloud.py +113 -0
  224. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/surface.py +362 -0
  225. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/field/time.py +193 -0
  226. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/flux.py +107 -0
  227. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/__init__.py +16 -0
  228. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/data.py +921 -0
  229. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/overlap.py +74 -0
  230. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/solver.py +423 -0
  231. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/mode/time.py +67 -0
  232. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/__init__.py +22 -0
  233. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/_types.py +30 -0
  234. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/angle.py +224 -0
  235. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/base.py +321 -0
  236. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/cartesian.py +161 -0
  237. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/diffraction.py +286 -0
  238. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/directivity.py +455 -0
  239. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/monitor_data/projection/kspace.py +133 -0
  240. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/optical_generation.py +353 -0
  241. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/plot_safe.py +8 -0
  242. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/point_cloud.py +151 -0
  243. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/registry.py +8 -0
  244. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/sim_data.py +1792 -0
  245. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/structure_loss.py +628 -0
  246. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/__init__.py +0 -0
  247. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/base.py +2735 -0
  248. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/surface.py +502 -0
  249. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/tetrahedral.py +460 -0
  250. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/unstructured/triangular.py +955 -0
  251. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/utils.py +443 -0
  252. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/validators.py +86 -0
  253. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/data/zbf.py +156 -0
  254. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/diffraction.py +256 -0
  255. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/dispersion_fitter.py +45 -0
  256. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/docstrings.py +298 -0
  257. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/__init__.py +0 -0
  258. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/__init__.py +0 -0
  259. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/dataset.py +553 -0
  260. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/monitor_data.py +203 -0
  261. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/sim_data.py +1285 -0
  262. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/data/stage.py +294 -0
  263. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/grid.py +29 -0
  264. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/monitor.py +440 -0
  265. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/simulation.py +5 -0
  266. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/eme/sweep.py +19 -0
  267. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/__init__.py +7 -0
  268. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_angle.py +193 -0
  269. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/approximate_paired.py +399 -0
  270. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/common.py +880 -0
  271. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/exact.py +970 -0
  272. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/field_projection/projector.py +1321 -0
  273. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/file_util.py +107 -0
  274. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/frequency_extrapolation.py +8 -0
  275. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/__init__.py +9 -0
  276. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/__init__.py +44 -0
  277. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/abstract_primitives.py +390 -0
  278. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/array.py +320 -0
  279. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/box.py +736 -0
  280. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/clip_operation.py +344 -0
  281. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/constants.py +15 -0
  282. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/core.py +601 -0
  283. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/gds.py +437 -0
  284. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/geometry_group.py +253 -0
  285. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/operators.py +126 -0
  286. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/plotting.py +511 -0
  287. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transformed.py +363 -0
  288. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/transforms.py +309 -0
  289. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/base/utils.py +104 -0
  290. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/float_utils.py +31 -0
  291. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/mesh.py +791 -0
  292. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/polyslab.py +2316 -0
  293. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/primitives.py +972 -0
  294. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/triangulation.py +84 -0
  295. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/utils.py +615 -0
  296. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/geometry/vertex_utils.py +59 -0
  297. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/__init__.py +0 -0
  298. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/corner_finder.py +715 -0
  299. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid.py +916 -0
  300. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/__init__.py +58 -0
  301. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/constants.py +29 -0
  302. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/__init__.py +16 -0
  303. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/auto.py +498 -0
  304. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/base.py +251 -0
  305. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/grid_1d/manual.py +295 -0
  306. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/__init__.py +5 -0
  307. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/refinement/model.py +10 -0
  308. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/__init__.py +5 -0
  309. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/entities.py +335 -0
  310. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/factories.py +170 -0
  311. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/generation.py +669 -0
  312. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization.py +59 -0
  313. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/localization_helpers.py +132 -0
  314. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/model.py +241 -0
  315. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/grid_spec/spec/sizing.py +128 -0
  316. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/mesher.py +1644 -0
  317. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/snapping.py +477 -0
  318. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/grid/yee_areas.py +31 -0
  319. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/index.py +210 -0
  320. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/lumped_element.py +45 -0
  321. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/__init__.py +1 -0
  322. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/multi_physics.py +203 -0
  323. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/solver_types.py +28 -0
  324. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/__init__.py +0 -0
  325. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/charge.py +769 -0
  326. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tcad/heat.py +174 -0
  327. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tensor.py +82 -0
  328. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/tensor_rotation.py +198 -0
  329. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/material/types.py +26 -0
  330. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/__init__.py +215 -0
  331. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/_rebuild.py +5 -0
  332. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/abstract_custom.py +9 -0
  333. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/anisotropic.py +13 -0
  334. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/base.py +35 -0
  335. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/__init__.py +27 -0
  336. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/anisotropic.py +11 -0
  337. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/dispersive.py +19 -0
  338. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/custom/isotropic.py +11 -0
  339. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/debye.py +9 -0
  340. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/drude.py +9 -0
  341. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/isotropic.py +19 -0
  342. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lorentz.py +9 -0
  343. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/lossy_metal.py +11 -0
  344. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/medium_types.py +33 -0
  345. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/perturbation.py +19 -0
  346. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/pole_residue.py +11 -0
  347. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/protected.py +784 -0
  348. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/roughness.py +23 -0
  349. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/sellmeier.py +9 -0
  350. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/medium/two_d.py +11 -0
  351. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/__init__.py +0 -0
  352. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/base.py +9 -0
  353. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/__init__.py +0 -0
  354. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/data_array.py +52 -0
  355. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/dataset.py +202 -0
  356. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/data/monitor_data.py +790 -0
  357. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/__init__.py +0 -0
  358. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/formulas/circuit_parameters.py +179 -0
  359. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/impedance_calculator.py +13 -0
  360. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/mode_spec.py +368 -0
  361. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/monitor.py +94 -0
  362. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/__init__.py +0 -0
  363. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/__init__.py +0 -0
  364. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/base.py +17 -0
  365. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/current.py +13 -0
  366. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/integrals/voltage.py +11 -0
  367. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/mode_plane_analyzer.py +9 -0
  368. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/__init__.py +0 -0
  369. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/base.py +13 -0
  370. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/current.py +13 -0
  371. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/impedance.py +15 -0
  372. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/specs/voltage.py +11 -0
  373. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/path_integrals/types.py +11 -0
  374. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/source.py +113 -0
  375. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/time.py +591 -0
  376. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/microwave/types.py +9 -0
  377. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/LICENSE +25 -0
  378. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/__init__.py +0 -0
  379. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/__init__.py +0 -0
  380. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/data/sim_data.py +538 -0
  381. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/derivatives.py +294 -0
  382. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/geometry.py +122 -0
  383. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/mode_solver.py +5 -0
  384. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/simulation.py +5 -0
  385. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/solver.py +1395 -0
  386. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/transforms.py +131 -0
  387. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode/validation.py +189 -0
  388. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/mode_spec.py +479 -0
  389. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/monitor.py +109 -0
  390. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/nonlinear.py +25 -0
  391. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/parameter_perturbation.py +49 -0
  392. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/run_time_spec.py +42 -0
  393. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/scene.py +5 -0
  394. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/__init__.py +81 -0
  395. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/adjoint.py +8 -0
  396. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/constants.py +59 -0
  397. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/simulation/model.py +5 -0
  398. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/__init__.py +0 -0
  399. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/base.py +9 -0
  400. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/current.py +17 -0
  401. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/field.py +47 -0
  402. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/frame.py +11 -0
  403. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/freq_range.py +9 -0
  404. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/time.py +29 -0
  405. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/source/utils.py +11 -0
  406. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/__init__.py +0 -0
  407. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/__init__.py +0 -0
  408. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/ac.py +9 -0
  409. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/analysis/dc.py +19 -0
  410. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/__init__.py +0 -0
  411. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/ac.py +5 -0
  412. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/dc.py +111 -0
  413. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/sources/types.py +7 -0
  414. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/spice/types.py +17 -0
  415. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/structure.py +19 -0
  416. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/subpixel_spec.py +224 -0
  417. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/__init__.py +0 -0
  418. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/__init__.py +0 -0
  419. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/analysis/heat_simulation_type.py +11 -0
  420. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/bandgap.py +185 -0
  421. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/__init__.py +0 -0
  422. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/abstract.py +11 -0
  423. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/charge.py +181 -0
  424. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/heat.py +284 -0
  425. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/boundary/specification.py +53 -0
  426. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/__init__.py +0 -0
  427. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/__init__.py +0 -0
  428. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/abstract.py +391 -0
  429. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/charge.py +843 -0
  430. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/heat.py +67 -0
  431. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/monitor_data/mesh.py +70 -0
  432. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/sim_data.py +892 -0
  433. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/data/types.py +33 -0
  434. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping.py +22 -0
  435. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/doping_utils.py +334 -0
  436. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/effective_DOS.py +130 -0
  437. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/generation_recombination.py +409 -0
  438. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/grid.py +104 -0
  439. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/ionization.py +21 -0
  440. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mesher.py +41 -0
  441. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/mobility.py +62 -0
  442. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/__init__.py +0 -0
  443. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/abstract.py +61 -0
  444. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/charge.py +255 -0
  445. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/heat.py +27 -0
  446. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/monitors/mesh.py +7 -0
  447. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/__init__.py +0 -0
  448. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat.py +8 -0
  449. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/simulation/heat_charge.py +43 -0
  450. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/__init__.py +0 -0
  451. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/abstract.py +18 -0
  452. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/coupled.py +32 -0
  453. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/source/heat.py +7 -0
  454. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/types.py +106 -0
  455. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/tcad/viz.py +17 -0
  456. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/thin_lens.py +19 -0
  457. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/time.py +208 -0
  458. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/time_modulation.py +23 -0
  459. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/transformation.py +23 -0
  460. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/two_d_materials.py +375 -0
  461. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/__init__.py +141 -0
  462. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/base.py +334 -0
  463. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/mode_spec.py +11 -0
  464. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor.py +71 -0
  465. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/monitor_data.py +94 -0
  466. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/simulation.py +49 -0
  467. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/third_party.py +18 -0
  468. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/time.py +29 -0
  469. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/types/utils.py +103 -0
  470. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/validators.py +613 -0
  471. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/__init__.py +97 -0
  472. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/axes_utils.py +417 -0
  473. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/descartes.py +113 -0
  474. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_color_palettes.py +3306 -0
  475. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/flex_style.py +59 -0
  476. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/layout.py +101 -0
  477. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_params.py +95 -0
  478. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/plot_sim_3d.py +219 -0
  479. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/styles.py +49 -0
  480. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/viz/visualization_spec.py +87 -0
  481. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/components/workflow.py +368 -0
  482. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/constants.py +335 -0
  483. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/exceptions.py +45 -0
  484. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/__init__.py +0 -0
  485. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_library.py +2991 -0
  486. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/material_reference.py +237 -0
  487. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/parametric_materials.py +412 -0
  488. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/material_library/util.py +271 -0
  489. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/packaging.py +19 -0
  490. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/__init__.py +1 -0
  491. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/__init__.py +68 -0
  492. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/base.py +209 -0
  493. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/functions.py +171 -0
  494. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/metrics.py +140 -0
  495. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/operators.py +178 -0
  496. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/types.py +68 -0
  497. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/expressions/variables.py +96 -0
  498. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/__init__.py +52 -0
  499. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/base.py +10 -0
  500. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/contours.py +71 -0
  501. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/design.py +15 -0
  502. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/initialization.py +17 -0
  503. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/optimizer.py +231 -0
  504. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/penalty.py +13 -0
  505. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/polyslab_set.py +501 -0
  506. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/region.py +13 -0
  507. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/result.py +172 -0
  508. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/self_intersection.py +302 -0
  509. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/transformation.py +13 -0
  510. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/invdes/utils.py +80 -0
  511. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/LICENSE +25 -0
  512. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/__init__.py +7 -0
  513. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/plugins/mode/mode_solver.py +17 -0
  514. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/style.mplstyle +1 -0
  515. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/system.py +12 -0
  516. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/updater.py +381 -0
  517. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/schema/tidy3d/version.py +3 -0
  518. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/__init__.py +1 -0
  519. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/__init__.py +1 -0
  520. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/base.py +147 -0
  521. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/current.py +240 -0
  522. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/field.py +1073 -0
  523. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/frame.py +25 -0
  524. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/freq_range.py +230 -0
  525. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/time.py +658 -0
  526. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/schema/utils.py +38 -0
  527. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/source/validation.py +279 -0
  528. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/structure/__init__.py +1 -0
  529. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/structure/schema.py +1167 -0
  530. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/structure/validation.py +85 -0
  531. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/thin_lens/__init__.py +1 -0
  532. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/thin_lens/schema/__init__.py +1 -0
  533. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/thin_lens/schema/thin_lens.py +100 -0
  534. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/thin_lens/validation.py +110 -0
  535. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/transformation/__init__.py +1 -0
  536. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/transformation/schema.py +205 -0
  537. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/transformation/validation.py +45 -0
  538. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/__init__.py +1 -0
  539. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/__init__.py +99 -0
  540. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/constants.py +4 -0
  541. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/differential_operators.py +78 -0
  542. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/functions.py +798 -0
  543. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/__init__.py +43 -0
  544. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/filters.py +326 -0
  545. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/misc.py +29 -0
  546. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/parametrizations.py +442 -0
  547. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/penalties.py +268 -0
  548. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/projections.py +164 -0
  549. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/invdes/symmetries.py +240 -0
  550. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/optimizers.py +335 -0
  551. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/primitives/__init__.py +6 -0
  552. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/primitives/interpolate.py +847 -0
  553. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/primitives/misc.py +12 -0
  554. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/types.py +7 -0
  555. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/autograd/utilities.py +212 -0
  556. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/design/__init__.py +29 -0
  557. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/design/design.py +783 -0
  558. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/design/method.py +1091 -0
  559. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/design/parameter.py +222 -0
  560. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/design/result.py +504 -0
  561. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/dispersion/__init__.py +16 -0
  562. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/dispersion/fit.py +795 -0
  563. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/extensions/dispersion/fit_fast.py +193 -0
  564. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/__init__.py +1 -0
  565. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/component_modeler/__init__.py +1 -0
  566. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/component_modeler/schema.py +36 -0
  567. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/eme/__init__.py +1 -0
  568. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/eme/schema/__init__.py +1 -0
  569. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/eme/schema/simulation.py +1917 -0
  570. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/eme/validation.py +694 -0
  571. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/__init__.py +1 -0
  572. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/schema/__init__.py +1 -0
  573. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/schema/fast_heat.py +171 -0
  574. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/schema/grid.py +213 -0
  575. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/schema/monitor.py +36 -0
  576. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/validation/__init__.py +52 -0
  577. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/validation/fast_heat.py +576 -0
  578. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/validation/grid.py +59 -0
  579. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fast_heat/validation/solve.py +173 -0
  580. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/__init__.py +1 -0
  581. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/conversion/__init__.py +2 -0
  582. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/conversion/boundaries.py +24 -0
  583. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/__init__.py +1 -0
  584. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/adjoint.py +105 -0
  585. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/boundaries.py +228 -0
  586. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/constants.py +31 -0
  587. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/construction.py +418 -0
  588. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/export.py +356 -0
  589. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/grid.py +827 -0
  590. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/materials.py +413 -0
  591. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/mode_integration.py +383 -0
  592. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/model.py +1034 -0
  593. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/monitors.py +358 -0
  594. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/rf_integration.py +49 -0
  595. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/runtime.py +319 -0
  596. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/sources.py +238 -0
  597. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/tfsf.py +335 -0
  598. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/validation_schema.py +28 -0
  599. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/visualization.py +835 -0
  600. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/schema/yee.py +284 -0
  601. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/__init__.py +158 -0
  602. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/boundaries.py +556 -0
  603. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/grid.py +136 -0
  604. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/materials.py +118 -0
  605. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/mode_integration.py +243 -0
  606. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/model.py +511 -0
  607. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/monitors.py +695 -0
  608. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/rf_integration.py +71 -0
  609. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/runtime.py +107 -0
  610. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/sources.py +370 -0
  611. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/tfsf.py +687 -0
  612. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/fdtd/validation/yee.py +80 -0
  613. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/__init__.py +1 -0
  614. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/__init__.py +1 -0
  615. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/ac.py +84 -0
  616. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/dc.py +196 -0
  617. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/heat.py +43 -0
  618. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/heat_charge.py +2374 -0
  619. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/schema/heat_simulation_type.py +103 -0
  620. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/validation/__init__.py +115 -0
  621. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/validation/ac.py +41 -0
  622. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/validation/dc.py +71 -0
  623. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/validation/heat_charge.py +3259 -0
  624. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/heat_charge/validation/heat_simulation_type.py +114 -0
  625. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/__init__.py +1 -0
  626. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/schema/__init__.py +1 -0
  627. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/schema/mode_solver.py +3194 -0
  628. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/schema/simulation.py +704 -0
  629. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/validation/__init__.py +43 -0
  630. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/validation/mode_solver.py +254 -0
  631. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/solver/mode/validation/simulation.py +132 -0
  632. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/spice/__init__.py +1 -0
  633. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/spice/schema/__init__.py +1 -0
  634. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/spice/schema/sources.py +91 -0
  635. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/spice/validation.py +84 -0
  636. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/__init__.py +1 -0
  637. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/__init__.py +1 -0
  638. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/boundary.py +67 -0
  639. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/doping.py +389 -0
  640. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/generation_recombination.py +508 -0
  641. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/grid.py +551 -0
  642. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/heat_medium.py +570 -0
  643. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/ionization.py +314 -0
  644. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/mobility.py +1029 -0
  645. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/monitor.py +23 -0
  646. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/source.py +65 -0
  647. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/schema/validation_schema.py +55 -0
  648. flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/tcad/validation.py +748 -0
  649. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/__init__.py +20 -0
  650. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/app.py +102 -0
  651. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/env.py +52 -0
  652. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/loader.py +826 -0
  653. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/manager.py +325 -0
  654. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/registry.py +81 -0
  655. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/sections.py +41 -0
  656. flexcompute_core-0.0.1.dev3/src/flexcompute/core/config/serializer.py +152 -0
  657. flexcompute_core-0.0.1.dev3/src/flexcompute/core/log.py +567 -0
  658. flexcompute_core-0.0.1.dev3/src/flexcompute/core/py.typed +0 -0
  659. flexcompute_core-0.0.1.dev3/src/flexcompute/core/validation/__init__.py +27 -0
  660. flexcompute_core-0.0.1.dev3/src/flexcompute/core/validation/errors.py +60 -0
  661. flexcompute_core-0.0.1.dev3/src/flexcompute/core/validation/report.py +69 -0
  662. flexcompute_core-0.0.1.dev3/src/flexcompute/core/validation/simulation.py +69 -0
  663. flexcompute_core-0.0.1.dev3/src/flexcompute/data/__init__.py +4 -0
  664. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_autograd/__init__.py +6 -0
  665. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_autograd/boxes.py +162 -0
  666. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_autograd/functions.py +289 -0
  667. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_autograd/utils.py +67 -0
  668. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_bounds.py +74 -0
  669. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_compat.py +6 -0
  670. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_exceptions.py +48 -0
  671. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_plot_safe.py +37 -0
  672. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_registry.py +12 -0
  673. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_typing.py +11 -0
  674. flexcompute_core-0.0.1.dev3/src/flexcompute/data/_units.py +56 -0
  675. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/__init__.py +241 -0
  676. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/_autograd.py +257 -0
  677. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/_constants.py +60 -0
  678. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/_io.py +92 -0
  679. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/_plot.py +47 -0
  680. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/_traced.py +46 -0
  681. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/abstract_spatial.py +392 -0
  682. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/base.py +340 -0
  683. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/eme.py +227 -0
  684. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/microwave.py +429 -0
  685. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/monitor.py +281 -0
  686. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/registry.py +194 -0
  687. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/spatial.py +186 -0
  688. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/spectral.py +168 -0
  689. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/tcad.py +155 -0
  690. flexcompute_core-0.0.1.dev3/src/flexcompute/data/arrays/unstructured.py +275 -0
  691. flexcompute_core-0.0.1.dev3/src/flexcompute/data/py.typed +0 -0
  692. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/__init__.py +7 -0
  693. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_base.py +237 -0
  694. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_kernels/__init__.py +6 -0
  695. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_kernels/axes.py +12 -0
  696. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_kernels/meshes.py +20 -0
  697. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_kernels/polygons.py +322 -0
  698. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/_traced.py +19 -0
  699. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/base.py +50 -0
  700. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/composites.py +203 -0
  701. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/mesh.py +54 -0
  702. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/polyslab.py +160 -0
  703. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/primitives.py +75 -0
  704. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/py.typed +0 -0
  705. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/schema.py +187 -0
  706. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/__init__.py +75 -0
  707. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/composites.py +263 -0
  708. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/cylinder.py +37 -0
  709. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/mesh.py +94 -0
  710. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/polyslab.py +343 -0
  711. flexcompute_core-0.0.1.dev3/src/flexcompute/geometry/validation/primitives.py +50 -0
  712. flexcompute_core-0.0.1.dev0/.python-version +0 -1
  713. flexcompute_core-0.0.1.dev0/PKG-INFO +0 -21
  714. flexcompute_core-0.0.1.dev0/README.md +0 -13
  715. flexcompute_core-0.0.1.dev0/pyproject.toml +0 -38
  716. flexcompute_core-0.0.1.dev0/tests/test_import.py +0 -17
  717. flexcompute_core-0.0.1.dev0/tests/test_metadata.py +0 -18
  718. flexcompute_core-0.0.1.dev0/uv.lock +0 -185
  719. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev3}/.gitignore +0 -0
  720. {flexcompute_core-0.0.1.dev0 → flexcompute_core-0.0.1.dev3}/src/flexcompute/core/__init__.py +0 -0
  721. /flexcompute_core-0.0.1.dev0/src/flexcompute/core/py.typed → /flexcompute_core-0.0.1.dev3/src/flexcompute/core/_migration/em/microwave/schema/path_integrals/__init__.py +0 -0
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.2
2
+ Name: flexcompute-core
3
+ Version: 0.0.1.dev3
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: numpy<2.5.0,>=2.2.6
11
+ Requires-Dist: shapely<3.0,>=2.1.0
12
+ Requires-Dist: trimesh<6.0.0,>=4.6
13
+ Requires-Dist: boto3<2.0.0,>=1.28.0
14
+ Requires-Dist: click<9.0.0,>=8.1.0
15
+ Requires-Dist: cryptography==48.0.1; platform_system == "Darwin" and platform_machine == "x86_64"
16
+ Requires-Dist: cryptography!=48.0.1,>=44.0.0; platform_system != "Darwin" or platform_machine != "x86_64"
17
+ Requires-Dist: dask<2027.0.0,>=2025.12.0
18
+ Requires-Dist: fastmcp<4,>=3.4.4
19
+ Requires-Dist: filelock<4.0.0,>=3.20.1
20
+ Requires-Dist: h5netcdf<2.0.0,>=1.0.2
21
+ Requires-Dist: h5py<3.17,>=3.0.0; python_version < "3.14"
22
+ Requires-Dist: h5py<3.17,>=3.16.0; python_version >= "3.14"
23
+ Requires-Dist: importlib-metadata<10.0.0,>=6.0.0
24
+ Requires-Dist: joblib<2.0.0,>=1.5.3
25
+ Requires-Dist: matplotlib<4.0.0,>=3.10.0
26
+ Requires-Dist: pandas<4.0,>=2.2
27
+ Requires-Dist: pydantic-settings<3.0.0,>=2.10.0
28
+ Requires-Dist: pyjwt<3.0.0,>=2.10.1
29
+ Requires-Dist: pyroots<0.6.0,>=0.5.0
30
+ Requires-Dist: PyYAML<7.0.0,>=6.0.3
31
+ Requires-Dist: requests<3.0.0,>=2.31.0
32
+ Requires-Dist: responses<0.27.0,>=0.25.8
33
+ Requires-Dist: rich<16.0,>=13.0
34
+ Requires-Dist: scipy!=1.15.0,!=1.15.1,!=1.15.2,<2.0,>=1.14
35
+ Requires-Dist: toml<0.11.0,>=0.10.2
36
+ Requires-Dist: typing-extensions<5.0.0,>=4.15.0
37
+ Requires-Dist: xarray<2026.8.0,>=2023.08
38
+ Description-Content-Type: text/markdown
39
+
40
+ # flexcompute-core
41
+
42
+ > Internal package — not intended for public-facing usage.
43
+
44
+ `flexcompute-core` contains shared internal modules used across Flexcompute's
45
+ Python packages under the `flexcompute.core` namespace.
46
+
47
+ The EM schema, preprocessing, and numerical modules migrated from the retired
48
+ standalone EM distribution are staged under `flexcompute.core._migration.em`.
49
+ Solver workflow contracts that product translators lower tasks to, such as the
50
+ component-modeler task input, are staged under `flexcompute.core._migration.solver`.
51
+ Both namespaces are a temporary home and not a stable API; the modules move to
52
+ their final `flexcompute.core` locations in follow-up changes.
53
+
54
+ Shared plugin families that are not solver task contracts live temporarily in
55
+ [`_migration/extensions`](src/flexcompute/core/_migration/extensions/README.md).
56
+ This holds the design-space, dispersion-fitting and autograd helpers while their
57
+ final shared namespaces are decided. Public product APIs stay in their owning
58
+ clients.
59
+
60
+ See the package [documentation](docs/configuration.md) for the configuration
61
+ engine's responsibilities and development checks.
62
+
63
+ It is not a standalone product, public client, or supported dependency for
64
+ external applications. Product APIs and user-facing capabilities live in the
65
+ owning product package.
66
+
67
+ See [Flexcompute](https://www.flexcompute.com/) for product capabilities and
68
+ the public [documentation](https://www.flexcompute.com/support/documentation/).
69
+
70
+ Optical-medium comparison is shared through
71
+ `_migration/em/material/medium/comparison.py`. Public and schema-native
72
+ homogeneity checks use this owner to ignore names and user attributes without
73
+ changing ordinary model equality, material indexing, or protected identities.
@@ -0,0 +1,34 @@
1
+ # flexcompute-core
2
+
3
+ > Internal package — not intended for public-facing usage.
4
+
5
+ `flexcompute-core` contains shared internal modules used across Flexcompute's
6
+ Python packages under the `flexcompute.core` namespace.
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
+ Solver workflow contracts that product translators lower tasks to, such as the
11
+ component-modeler task input, are staged under `flexcompute.core._migration.solver`.
12
+ Both namespaces are a temporary home and not a stable API; the modules move to
13
+ their final `flexcompute.core` locations in follow-up changes.
14
+
15
+ Shared plugin families that are not solver task contracts live temporarily in
16
+ [`_migration/extensions`](src/flexcompute/core/_migration/extensions/README.md).
17
+ This holds the design-space, dispersion-fitting and autograd helpers while their
18
+ final shared namespaces are decided. Public product APIs stay in their owning
19
+ clients.
20
+
21
+ See the package [documentation](docs/configuration.md) for the configuration
22
+ engine's responsibilities and development checks.
23
+
24
+ It is not a standalone product, public client, or supported dependency for
25
+ external applications. Product APIs and user-facing capabilities live in the
26
+ owning product package.
27
+
28
+ See [Flexcompute](https://www.flexcompute.com/) for product capabilities and
29
+ the public [documentation](https://www.flexcompute.com/support/documentation/).
30
+
31
+ Optical-medium comparison is shared through
32
+ `_migration/em/material/medium/comparison.py`. Public and schema-native
33
+ homogeneity checks use this owner to ignore names and user attributes without
34
+ changing ordinary model equality, material indexing, or protected identities.
@@ -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,132 @@
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.dev3"
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
+ # Shared geometry under flexcompute.geometry.
17
+ "autograd>=1.7.0,<2.0.0",
18
+ "numpy>=2.2.6,<2.5.0",
19
+ "shapely>=2.1.0,<3.0",
20
+ "trimesh>=4.6,<6.0.0",
21
+ # Temporary migrated EM contracts under flexcompute.core._migration.em.
22
+ "boto3>=1.28.0,<2.0.0",
23
+ "click>=8.1.0,<9.0.0",
24
+ "cryptography==48.0.1; platform_system == 'Darwin' and platform_machine == 'x86_64'",
25
+ "cryptography>=44.0.0,!=48.0.1; platform_system != 'Darwin' or platform_machine != 'x86_64'",
26
+ "dask>=2025.12.0,<2027.0.0",
27
+ "fastmcp>=3.4.4,<4",
28
+ "filelock>=3.20.1,<4.0.0",
29
+ "h5netcdf>=1.0.2,<2.0.0",
30
+ "h5py>=3.0.0,<3.17; python_version < '3.14'",
31
+ "h5py>=3.16.0,<3.17; python_version >= '3.14'",
32
+ "importlib-metadata>=6.0.0,<10.0.0",
33
+ "joblib>=1.5.3,<2.0.0",
34
+ "matplotlib>=3.10.0,<4.0.0",
35
+ "pandas>=2.2,<4.0",
36
+ "pydantic-settings>=2.10.0,<3.0.0",
37
+ "pyjwt>=2.10.1,<3.0.0",
38
+ "pyroots>=0.5.0,<0.6.0",
39
+ "PyYAML>=6.0.3,<7.0.0",
40
+ "requests>=2.31.0,<3.0.0",
41
+ "responses>=0.25.8,<0.27.0",
42
+ "rich>=13.0,<16.0",
43
+ "scipy>=1.14,<2.0,!=1.15.0,!=1.15.1,!=1.15.2",
44
+ "toml>=0.10.2,<0.11.0",
45
+ "typing-extensions>=4.15.0,<5.0.0",
46
+ "xarray>=2023.08,<2026.8.0",
47
+ ]
48
+
49
+ [tool.scikit-build]
50
+ # The root README is required by project.readme when rebuilding from an sdist.
51
+ sdist.exclude = ["tests/**", "uv.lock", ".python-version", "src/**/README.md"]
52
+ cmake.version = ">=3.15"
53
+ wheel.cmake = false
54
+ wheel.packages = ["src/flexcompute"]
55
+ wheel.exclude = ["**/README.md"]
56
+ minimum-version = "build-system.requires"
57
+
58
+ [dependency-groups]
59
+ dev = [
60
+ "pyrefly==1.3.0",
61
+ "pytest>=8.1,<10.0.0",
62
+ "ruff==0.14.1",
63
+ "scipy-stubs>=1.15.3,<2.0",
64
+ ]
65
+
66
+ [tool.uv]
67
+ default-groups = ["dev"]
68
+
69
+ [tool.pytest.ini_options]
70
+ pythonpath = ["src"]
71
+ testpaths = ["tests"]
72
+
73
+ [tool.ruff]
74
+ target-version = "py310"
75
+ line-length = 100
76
+
77
+ [tool.ruff.lint]
78
+ # Pin the rule set instead of extending ruff's default selection, which changes
79
+ # between ruff releases.
80
+ select = ["E", "F", "B", "I", "UP", "W"]
81
+
82
+ [tool.ruff.lint.per-file-ignores]
83
+ # Preserve legacy docstring/zip style when relocating shared array primitives.
84
+ "src/flexcompute/data/**" = ["E501", "B905"]
85
+ # The temporary migrated EM tree keeps the pyflakes-only baseline it moved in with.
86
+ "src/flexcompute/core/_migration/**" = ["B", "E", "I", "UP", "W"]
87
+ "tests/_migration/**" = ["B", "E", "I", "UP", "W"]
88
+
89
+ [tool.pyrefly]
90
+ project-includes = [
91
+ "src/flexcompute/data",
92
+ "src/flexcompute/core/_migration/em",
93
+ "src/flexcompute/core/_migration/extensions",
94
+ "src/flexcompute/core/_migration/spice",
95
+ "src/flexcompute/core/_migration/tcad",
96
+ "src/flexcompute/geometry",
97
+ ]
98
+ python-version = "3.10.0"
99
+ preset = "off"
100
+ ignore-missing-imports = ["*"]
101
+
102
+ [tool.pyrefly.errors]
103
+ # The migrated EM tree still contains legacy unannotated callables and attributes. Keep
104
+ # the annotation-presence rules disabled until that baseline is migrated.
105
+ deprecated = "error"
106
+ redundant-cast = "error"
107
+ redundant-condition = "error"
108
+ invalid-literal = "error"
109
+ unnecessary-type-conversion = "error"
110
+ bad-raise = "error"
111
+ bad-keyword-argument = "error"
112
+ invalid-syntax = "error"
113
+ implicit-any-attribute = "error"
114
+ invalid-argument = "error"
115
+ bad-override-param-name = "error"
116
+ not-required-key-access = "error"
117
+
118
+ # flexcompute.geometry is new, annotated code, so it is also checked for type errors.
119
+ [[tool.pyrefly.sub-config]]
120
+ matches = "src/flexcompute/geometry/**"
121
+ # autograd ships no type information and builds these namespaces at import time.
122
+ replace-imports-with-any = ["autograd.numpy", "autograd.numpy.linalg"]
123
+
124
+ [tool.pyrefly.sub-config.errors]
125
+ bad-argument-count = "error"
126
+ bad-argument-type = "error"
127
+ bad-assignment = "error"
128
+ bad-return = "error"
129
+ implicit-any-parameter = "error"
130
+ missing-argument = "error"
131
+ missing-attribute = "error"
132
+ unexpected-keyword = "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 @@
1
+ """Apodization validation scope."""
@@ -0,0 +1,88 @@
1
+ """Defines specification for apodization."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ import numpy as np
8
+ from pydantic import Field, NonNegativeFloat, PositiveFloat
9
+
10
+ from flexcompute.core._migration.em.schema.tidy3d.components.base import Tidy3dBaseModel
11
+ from flexcompute.core._migration.em.schema.tidy3d.components.viz import add_ax_if_none
12
+ from flexcompute.core._migration.em.schema.tidy3d.constants import SECOND
13
+
14
+ if TYPE_CHECKING:
15
+ from flexcompute.core._migration.em.schema.tidy3d.components.types import ArrayFloat1D, Ax
16
+
17
+
18
+ class ApodizationSpec(Tidy3dBaseModel):
19
+ """Stores specifications for the apodizaton of frequency-domain monitors.
20
+
21
+ Example
22
+ -------
23
+ >>> apod_spec = ApodizationSpec(start=1, end=2, width=0.2)
24
+
25
+
26
+ .. image:: ../../_static/img/apodization.png
27
+ :width: 80%
28
+ :align: center
29
+
30
+ """
31
+
32
+ start: NonNegativeFloat | None = Field(
33
+ default=None,
34
+ title="Start Interval",
35
+ description="Defines the time at which the start apodization ends.",
36
+ json_schema_extra={"units": SECOND},
37
+ )
38
+
39
+ end: NonNegativeFloat | None = Field(
40
+ default=None,
41
+ title="End Interval",
42
+ description="Defines the time at which the end apodization begins.",
43
+ json_schema_extra={"units": SECOND},
44
+ )
45
+
46
+ width: PositiveFloat | None = Field(
47
+ default=None,
48
+ title="Apodization Width",
49
+ description="Characteristic decay length of the apodization function, i.e., the width of the ramping up of the scaling function from 0 to 1.",
50
+ json_schema_extra={"units": SECOND},
51
+ )
52
+
53
+ @add_ax_if_none
54
+ def plot(self, times: ArrayFloat1D, ax: Ax = None) -> Ax:
55
+ """Plot the apodization function.
56
+
57
+ Parameters
58
+ ----------
59
+ times : np.ndarray
60
+ Array of times (seconds) to plot source at.
61
+ To see source time amplitude for a specific :class:`.Simulation`,
62
+ pass ``simulation.tmesh``.
63
+ ax : matplotlib.axes._subplots.Axes = None
64
+ Matplotlib axes to plot on, if not specified, one is created.
65
+
66
+ Returns
67
+ -------
68
+ matplotlib.axes._subplots.Axes
69
+ The supplied or created matplotlib axes.
70
+ """
71
+ times = np.array(times)
72
+ amp = np.ones_like(times)
73
+
74
+ if self.start is not None:
75
+ start_ind = times < self.start
76
+ time_scaled = (times[start_ind] - self.start) / self.width
77
+ amp[start_ind] *= np.exp(-0.5 * time_scaled**2)
78
+
79
+ if self.end is not None:
80
+ end_ind = times > self.end
81
+ time_scaled = (times[end_ind] - self.end) / self.width
82
+ amp[end_ind] *= np.exp(-0.5 * time_scaled**2)
83
+
84
+ ax.plot(times, amp, color="blueviolet")
85
+ ax.set_xlabel("time (s)")
86
+ ax.set_title("apodization function")
87
+ ax.set_aspect("auto")
88
+ return ax
@@ -0,0 +1,54 @@
1
+ """Pure rules for apodization validation."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from flexcompute.core.validation import ValidationDiagnostic, ValidationReport, error
6
+
7
+
8
+ def validate_end_order(start: float | None, end: float | None) -> tuple[ValidationDiagnostic, ...]:
9
+ """Require the end apodization to begin no earlier than the start apodization ends."""
10
+ if start is not None and end is not None and end < start:
11
+ return (
12
+ error(
13
+ "em.apodization.end_greater_than_start",
14
+ "End apodization begins before start apodization ends.",
15
+ ("end",),
16
+ ),
17
+ )
18
+ return ()
19
+
20
+
21
+ def validate_width(
22
+ start: float | None, end: float | None, width: float | None
23
+ ) -> tuple[ValidationDiagnostic, ...]:
24
+ """Require a width when either the start or the end apodization is requested."""
25
+ if (start is not None or end is not None) and width is None:
26
+ return (
27
+ error(
28
+ "em.apodization.width_provided",
29
+ "Apodization width must be set.",
30
+ ("width",),
31
+ ),
32
+ )
33
+ return ()
34
+
35
+
36
+ def validate(schema: object) -> ValidationReport:
37
+ """Validate a moved apodization spec in the order of the replaced validators.
38
+
39
+ The end-before-start rule comes first, as that validator ran first, so the first error
40
+ matches the public constructor.
41
+
42
+ The validation dispatch calls this on every node whose class has this scope. A node of
43
+ any other class reports nothing.
44
+ """
45
+ from .schema import ApodizationSpec
46
+
47
+ if not isinstance(schema, ApodizationSpec):
48
+ return ValidationReport()
49
+ return ValidationReport(
50
+ diagnostics=(
51
+ *validate_end_order(schema.start, schema.end),
52
+ *validate_width(schema.start, schema.end, schema.width),
53
+ )
54
+ )
@@ -0,0 +1 @@
1
+ """Boundary-condition validation scope."""
@@ -0,0 +1 @@
1
+ """Boundary-placement validation scope."""
@@ -0,0 +1,101 @@
1
+ """Defines placements for boundary conditions."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from abc import ABC
6
+
7
+ from pydantic import Field
8
+
9
+ from flexcompute.core._migration.em.schema.tidy3d.components.types.base import discriminated_union
10
+ from flexcompute.core._migration.em.schema.tidy3d.components.base import Tidy3dBaseModel
11
+ from flexcompute.core._migration.em.schema.tidy3d.components.types import BoxSurface
12
+
13
+
14
+ class AbstractBCPlacement(ABC, Tidy3dBaseModel):
15
+ """Abstract placement for boundary conditions."""
16
+
17
+
18
+ class StructureBoundary(AbstractBCPlacement):
19
+ """Placement of boundary conditions on the structure's boundary.
20
+
21
+ Example
22
+ -------
23
+ >>> bc_placement = StructureBoundary(structure="box")
24
+ """
25
+
26
+ structure: str = Field(
27
+ title="Structure Name",
28
+ description="Name of the structure.",
29
+ )
30
+
31
+
32
+ class StructureStructureInterface(AbstractBCPlacement):
33
+ """Placement of boundary conditions between two structures.
34
+
35
+ Example
36
+ -------
37
+ >>> bc_placement = StructureStructureInterface(structures=["box", "sphere"])
38
+ """
39
+
40
+ structures: tuple[str, str] = Field(
41
+ title="Structures",
42
+ description="Names of two structures.",
43
+ )
44
+
45
+
46
+ class MediumMediumInterface(AbstractBCPlacement):
47
+ """Placement of boundary conditions between two mediums.
48
+
49
+ Example
50
+ -------
51
+ >>> bc_placement = MediumMediumInterface(mediums=["dieletric", "metal"])
52
+ """
53
+
54
+ mediums: tuple[str, str] = Field(
55
+ title="Mediums",
56
+ description="Names of two mediums.",
57
+ )
58
+
59
+
60
+ class SimulationBoundary(AbstractBCPlacement):
61
+ """Placement of boundary conditions on the simulation box boundary.
62
+
63
+ Example
64
+ -------
65
+ >>> bc_placement = SimulationBoundary(surfaces=["x-", "x+"])
66
+ """
67
+
68
+ surfaces: tuple[BoxSurface, ...] = Field(
69
+ default=("x-", "x+", "y-", "y+", "z-", "z+"),
70
+ title="Surfaces",
71
+ description="Surfaces of simulation domain where to apply boundary conditions.",
72
+ )
73
+
74
+
75
+ class StructureSimulationBoundary(AbstractBCPlacement):
76
+ """Placement of boundary conditions on the simulation box boundary covered by the structure.
77
+
78
+ Example
79
+ -------
80
+ >>> bc_placement = StructureSimulationBoundary(structure="box", surfaces=["y-", "y+"])
81
+ """
82
+
83
+ structure: str = Field(
84
+ title="Structure Name",
85
+ description="Name of the structure.",
86
+ )
87
+
88
+ surfaces: tuple[BoxSurface, ...] = Field(
89
+ default=("x-", "x+", "y-", "y+", "z-", "z+"),
90
+ title="Surfaces",
91
+ description="Surfaces of simulation domain where to apply boundary conditions.",
92
+ )
93
+
94
+
95
+ BCPlacementType = discriminated_union(
96
+ StructureBoundary
97
+ | StructureStructureInterface
98
+ | MediumMediumInterface
99
+ | SimulationBoundary
100
+ | StructureSimulationBoundary
101
+ )
@@ -0,0 +1,42 @@
1
+ """Pure rules for boundary-condition placements."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from flexcompute.core.validation import ValidationDiagnostic, ValidationReport, error
8
+
9
+ if TYPE_CHECKING:
10
+ from .schema import MediumMediumInterface, StructureStructureInterface
11
+
12
+
13
+ def validate_distinct_names(
14
+ interface: StructureStructureInterface | MediumMediumInterface,
15
+ ) -> tuple[ValidationDiagnostic, ...]:
16
+ """Reject an interface that names the same structure or medium twice."""
17
+ from .schema import StructureStructureInterface
18
+
19
+ if isinstance(interface, StructureStructureInterface):
20
+ field, kind, owner = "structures", "structure", "StructureStructureInterface"
21
+ else:
22
+ field, kind, owner = "mediums", "medium", "MediumMediumInterface"
23
+ names = getattr(interface, field)
24
+ if names[0] != names[1]:
25
+ return ()
26
+ return (
27
+ error(
28
+ f"em.boundary.placement.duplicate_{kind}",
29
+ f"The same {kind} is provided twice in '{owner}'.",
30
+ (field,),
31
+ ),
32
+ )
33
+
34
+
35
+ def validate(schema: object) -> ValidationReport:
36
+ """Run the placement rules for one node; any other node reports nothing."""
37
+ from .schema import MediumMediumInterface, StructureStructureInterface
38
+
39
+ diagnostics = ()
40
+ if isinstance(schema, (StructureStructureInterface, MediumMediumInterface)):
41
+ diagnostics = validate_distinct_names(schema)
42
+ return ValidationReport(diagnostics=diagnostics)