witwin-maxwell 0.4.0__tar.gz → 0.6.0__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 (1090) hide show
  1. witwin_maxwell-0.6.0/.gitignore +262 -0
  2. witwin_maxwell-0.6.0/CHANGELOG.md +277 -0
  3. witwin_maxwell-0.6.0/PKG-INFO +192 -0
  4. witwin_maxwell-0.6.0/README.md +169 -0
  5. witwin_maxwell-0.6.0/pyproject.toml +56 -0
  6. witwin_maxwell-0.6.0/witwin/maxwell/__init__.py +634 -0
  7. witwin_maxwell-0.6.0/witwin/maxwell/_fixed_inputs.py +21 -0
  8. witwin_maxwell-0.6.0/witwin/maxwell/_gc.py +27 -0
  9. witwin_maxwell-0.6.0/witwin/maxwell/absorbers.py +163 -0
  10. witwin_maxwell-0.6.0/witwin/maxwell/adapters/__init__.py +5 -0
  11. witwin_maxwell-0.6.0/witwin/maxwell/adapters/pcb.py +193 -0
  12. witwin_maxwell-0.6.0/witwin/maxwell/adapters/tidy3d.py +2712 -0
  13. witwin_maxwell-0.6.0/witwin/maxwell/adjoint_inputs.py +228 -0
  14. witwin_maxwell-0.6.0/witwin/maxwell/array_execution.py +67 -0
  15. witwin_maxwell-0.6.0/witwin/maxwell/breakdown_stress.py +542 -0
  16. witwin_maxwell-0.6.0/witwin/maxwell/compiler/_scalar_cache.py +74 -0
  17. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/__init__.py +1 -0
  18. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/build.py +30 -0
  19. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/coefficients.py +39 -0
  20. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/conductors.py +55 -0
  21. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/binding.cpp +53 -0
  22. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/bvh.cu +138 -0
  23. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/checks.h +18 -0
  24. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/coefficients.cu +70 -0
  25. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/distance.cuh +91 -0
  26. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/mesh.cu +143 -0
  27. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/poles.cu +206 -0
  28. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/setup.cu +258 -0
  29. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/subpixel.cu +93 -0
  30. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/tables.cu +88 -0
  31. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/dispatch.py +182 -0
  32. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/geometry.py +146 -0
  33. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/mesh.py +89 -0
  34. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/poles.py +164 -0
  35. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/primitives.py +74 -0
  36. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/setup.py +127 -0
  37. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/subpixel.py +112 -0
  38. witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/tables.py +26 -0
  39. witwin_maxwell-0.6.0/witwin/maxwell/compiler/coaxial.py +204 -0
  40. witwin_maxwell-0.6.0/witwin/maxwell/compiler/coordinates.py +168 -0
  41. witwin_maxwell-0.6.0/witwin/maxwell/compiler/copper_foil.py +576 -0
  42. witwin_maxwell-0.6.0/witwin/maxwell/compiler/curved_copper.py +130 -0
  43. witwin_maxwell-0.6.0/witwin/maxwell/compiler/cut_surface.py +227 -0
  44. witwin_maxwell-0.6.0/witwin/maxwell/compiler/delay.py +374 -0
  45. witwin_maxwell-0.6.0/witwin/maxwell/compiler/electrostatic.py +384 -0
  46. witwin_maxwell-0.6.0/witwin/maxwell/compiler/fdtd_audit.py +78 -0
  47. witwin_maxwell-0.6.0/witwin/maxwell/compiler/lumped.py +102 -0
  48. witwin_maxwell-0.6.0/witwin/maxwell/compiler/materials.py +3945 -0
  49. witwin_maxwell-0.6.0/witwin/maxwell/compiler/monitors.py +322 -0
  50. witwin_maxwell-0.6.0/witwin/maxwell/compiler/networks.py +318 -0
  51. witwin_maxwell-0.6.0/witwin/maxwell/compiler/nonlinear_devices.py +916 -0
  52. witwin_maxwell-0.6.0/witwin/maxwell/compiler/passive_fit.py +49 -0
  53. witwin_maxwell-0.6.0/witwin/maxwell/compiler/path_integrals.py +347 -0
  54. witwin_maxwell-0.6.0/witwin/maxwell/compiler/planar_pec.py +247 -0
  55. witwin_maxwell-0.6.0/witwin/maxwell/compiler/ports.py +509 -0
  56. witwin_maxwell-0.6.0/witwin/maxwell/compiler/power_loss.py +217 -0
  57. witwin_maxwell-0.6.0/witwin/maxwell/compiler/sources.py +263 -0
  58. witwin_maxwell-0.6.0/witwin/maxwell/compiler/structures.py +32 -0
  59. witwin_maxwell-0.6.0/witwin/maxwell/compiler/subpixel.py +446 -0
  60. witwin_maxwell-0.6.0/witwin/maxwell/compiler/terminal_waveports.py +205 -0
  61. witwin_maxwell-0.6.0/witwin/maxwell/compiler/thin_sheet.py +1564 -0
  62. witwin_maxwell-0.6.0/witwin/maxwell/compiler/thin_wire.py +2174 -0
  63. witwin_maxwell-0.6.0/witwin/maxwell/compiler/trilinear.py +89 -0
  64. witwin_maxwell-0.6.0/witwin/maxwell/compiler/waveports.py +442 -0
  65. witwin_maxwell-0.6.0/witwin/maxwell/compiler/wire_impedance.py +472 -0
  66. witwin_maxwell-0.6.0/witwin/maxwell/coordinates.py +187 -0
  67. witwin_maxwell-0.6.0/witwin/maxwell/copper_foil.py +171 -0
  68. witwin_maxwell-0.6.0/witwin/maxwell/dispersion_fit.py +801 -0
  69. witwin_maxwell-0.6.0/witwin/maxwell/esd.py +854 -0
  70. witwin_maxwell-0.6.0/witwin/maxwell/execution/adjoint.py +154 -0
  71. witwin_maxwell-0.6.0/witwin/maxwell/execution/batch.py +336 -0
  72. witwin_maxwell-0.6.0/witwin/maxwell/execution/batch_runtime.py +1209 -0
  73. witwin_maxwell-0.6.0/witwin/maxwell/execution/capacity.py +171 -0
  74. witwin_maxwell-0.6.0/witwin/maxwell/execution/plan.py +267 -0
  75. witwin_maxwell-0.6.0/witwin/maxwell/execution/pool.py +262 -0
  76. witwin_maxwell-0.6.0/witwin/maxwell/execution/records.py +244 -0
  77. witwin_maxwell-0.6.0/witwin/maxwell/execution/tuning.py +197 -0
  78. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/adjoint/bridge.py +197 -0
  79. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/ams.py +289 -0
  80. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/krylov.py +309 -0
  81. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/magnetic.py +102 -0
  82. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/materials.py +69 -0
  83. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/modes.py +131 -0
  84. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/observations.py +202 -0
  85. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/optimization.py +112 -0
  86. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/pml.py +84 -0
  87. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/postprocess.py +32 -0
  88. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/response.py +615 -0
  89. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/response_cache.py +89 -0
  90. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/solver.py +1175 -0
  91. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/sweep.py +134 -0
  92. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/update_cuda.py +192 -0
  93. witwin_maxwell-0.6.0/witwin/maxwell/fdfd/update_solve.py +31 -0
  94. witwin_maxwell-0.6.0/witwin/maxwell/fdfd_response.py +144 -0
  95. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/accumulation.py +74 -0
  96. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/bridge.py +1800 -0
  97. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/capabilities.py +32 -0
  98. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/circuits.py +711 -0
  99. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/copper_foil.py +143 -0
  100. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/copper_spectra.py +134 -0
  101. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/core.py +3854 -0
  102. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/dispatch.py +775 -0
  103. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/joint_material.py +89 -0
  104. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/mapped_admission.py +272 -0
  105. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/native.py +2810 -0
  106. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/profiler.py +202 -0
  107. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/seeds.py +997 -0
  108. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/abc.py +407 -0
  109. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/common.py +43 -0
  110. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/cpml.py +594 -0
  111. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/mur.py +94 -0
  112. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/runtime.py +322 -0
  113. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/checkpoint.py +688 -0
  114. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/circuits.py +1241 -0
  115. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/coaxial.py +356 -0
  116. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/copper_foil.py +606 -0
  117. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/copper_foil_ade.py +147 -0
  118. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cpu_profile.py +45 -0
  119. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cpu_reference.py +279 -0
  120. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/backend.py +3820 -0
  121. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/build.py +368 -0
  122. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/binding.cpp +325 -0
  123. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/build.py +41 -0
  124. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/observers.cu +45 -0
  125. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/observers.cuh +31 -0
  126. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/step.cu +259 -0
  127. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/step.cuh +52 -0
  128. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/yee.cu +345 -0
  129. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/yee.cuh +31 -0
  130. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/extension.cpp +2397 -0
  131. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/adjoint.cu +4244 -0
  132. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/aniso.cu +1701 -0
  133. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/common.cu +166 -0
  134. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/common.cuh +243 -0
  135. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/copper.cu +307 -0
  136. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/dispersive.cu +785 -0
  137. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/electric.cu +3981 -0
  138. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/magnetic.cu +1140 -0
  139. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/modulation.cuh +9 -0
  140. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/observers.cu +622 -0
  141. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/sources.cu +1274 -0
  142. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/spectral.cu +306 -0
  143. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/thin_sheet.cu +496 -0
  144. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/trilinear.cu +248 -0
  145. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/runtime/graph.py +186 -0
  146. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/source_gather.cuh +18 -0
  147. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/curved_copper.py +126 -0
  148. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cut_surface.py +194 -0
  149. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/adjoint.py +1667 -0
  150. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/circuits.py +613 -0
  151. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/copper.py +304 -0
  152. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/monitor_merge.py +470 -0
  153. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/networks.py +638 -0
  154. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/observations.py +91 -0
  155. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/resume.py +194 -0
  156. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/shard_engine.py +488 -0
  157. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/solver.py +1430 -0
  158. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/source_rebuild.py +86 -0
  159. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/sources.py +81 -0
  160. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/fixed_k.py +161 -0
  161. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/gather.py +78 -0
  162. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/incident_line_spectrum.py +154 -0
  163. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/injection.py +1644 -0
  164. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/__init__.py +1247 -0
  165. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/common.py +680 -0
  166. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/conductors.py +266 -0
  167. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/eigensolvers.py +310 -0
  168. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/tem.py +667 -0
  169. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/vector.py +1218 -0
  170. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/yee.py +1015 -0
  171. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/spatial.py +614 -0
  172. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/temporal.py +655 -0
  173. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_apply.py +262 -0
  174. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_common.py +449 -0
  175. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_state.py +880 -0
  176. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/lumped.py +1037 -0
  177. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/material_pullback.py +505 -0
  178. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/meshing/autogrid.py +580 -0
  179. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/meshing/corners.py +357 -0
  180. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/networks.py +1269 -0
  181. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/observation_resume.py +162 -0
  182. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/observers.py +1869 -0
  183. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/plane_product.py +309 -0
  184. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/ports.py +2663 -0
  185. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/postprocess.py +219 -0
  186. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/quadrature.py +238 -0
  187. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/resume.py +998 -0
  188. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/batch.py +264 -0
  189. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/batch_materials.py +48 -0
  190. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/breakdown.py +533 -0
  191. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/core_path.py +744 -0
  192. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/core_tables.py +279 -0
  193. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/initialization.py +299 -0
  194. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/materials.py +1973 -0
  195. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/module_cache.py +35 -0
  196. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/passivity.py +334 -0
  197. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/precision.py +74 -0
  198. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/representation.py +77 -0
  199. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/spectral.py +665 -0
  200. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/stepping.py +2733 -0
  201. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/timeplan.py +194 -0
  202. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/timestep.py +187 -0
  203. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/solver.py +544 -0
  204. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/thin_sheet.py +1369 -0
  205. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/time_flux.py +102 -0
  206. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/time_traces.py +276 -0
  207. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/wire.py +1399 -0
  208. witwin_maxwell-0.6.0/witwin/maxwell/fdtd/wire_lossy.py +503 -0
  209. witwin_maxwell-0.6.0/witwin/maxwell/geometry/__init__.py +7 -0
  210. witwin_maxwell-0.6.0/witwin/maxwell/geometry/planar_pec.py +125 -0
  211. witwin_maxwell-0.6.0/witwin/maxwell/geometry/surface_mesh.py +209 -0
  212. witwin_maxwell-0.6.0/witwin/maxwell/geometry/terminal_support.py +539 -0
  213. witwin_maxwell-0.6.0/witwin/maxwell/invdes/__init__.py +65 -0
  214. witwin_maxwell-0.6.0/witwin/maxwell/invdes/constraints.py +107 -0
  215. witwin_maxwell-0.6.0/witwin/maxwell/invdes/filters.py +262 -0
  216. witwin_maxwell-0.6.0/witwin/maxwell/invdes/optimize.py +134 -0
  217. witwin_maxwell-0.6.0/witwin/maxwell/invdes/parameterization.py +108 -0
  218. witwin_maxwell-0.6.0/witwin/maxwell/invdes/projection.py +202 -0
  219. witwin_maxwell-0.6.0/witwin/maxwell/invdes/symmetry.py +143 -0
  220. witwin_maxwell-0.6.0/witwin/maxwell/layers.py +44 -0
  221. witwin_maxwell-0.6.0/witwin/maxwell/lumped.py +614 -0
  222. witwin_maxwell-0.6.0/witwin/maxwell/material_cache.py +278 -0
  223. witwin_maxwell-0.6.0/witwin/maxwell/material_library.py +284 -0
  224. witwin_maxwell-0.6.0/witwin/maxwell/media.py +2950 -0
  225. witwin_maxwell-0.6.0/witwin/maxwell/modal_sweep.py +727 -0
  226. witwin_maxwell-0.6.0/witwin/maxwell/mom/action_harmonic_balance.py +75 -0
  227. witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_fields.py +480 -0
  228. witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_lifting.py +203 -0
  229. witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_operator.py +330 -0
  230. witwin_maxwell-0.6.0/witwin/maxwell/mom/background_bank_snapshot.py +73 -0
  231. witwin_maxwell-0.6.0/witwin/maxwell/mom/block_preconditioner.py +180 -0
  232. witwin_maxwell-0.6.0/witwin/maxwell/mom/carrier.py +217 -0
  233. witwin_maxwell-0.6.0/witwin/maxwell/mom/cluster.py +354 -0
  234. witwin_maxwell-0.6.0/witwin/maxwell/mom/complex_static_tensor_green.py +200 -0
  235. witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_background.py +171 -0
  236. witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_harmonic_snapshot.py +102 -0
  237. witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_volume_preparation.py +131 -0
  238. witwin_maxwell-0.6.0/witwin/maxwell/mom/conductive_static.py +101 -0
  239. witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_field_refinement.py +98 -0
  240. witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_original_check.py +138 -0
  241. witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_response_snapshot.py +131 -0
  242. witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_volume_action.py +132 -0
  243. witwin_maxwell-0.6.0/witwin/maxwell/mom/dipole.py +99 -0
  244. witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_capacity.py +85 -0
  245. witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_config.py +66 -0
  246. witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_operator.py +116 -0
  247. witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_regional.py +151 -0
  248. witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_system.py +159 -0
  249. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_action_snapshot.py +173 -0
  250. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_action.py +218 -0
  251. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_material.py +81 -0
  252. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_receipt.py +67 -0
  253. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_response.py +108 -0
  254. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_preparation_snapshot.py +203 -0
  255. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_static_current.py +177 -0
  256. witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_static_snapshot.py +148 -0
  257. witwin_maxwell-0.6.0/witwin/maxwell/mom/dyadic_contrast.py +686 -0
  258. witwin_maxwell-0.6.0/witwin/maxwell/mom/dyadic_green.py +1298 -0
  259. witwin_maxwell-0.6.0/witwin/maxwell/mom/efie_open.py +572 -0
  260. witwin_maxwell-0.6.0/witwin/maxwell/mom/efie_preconditioning.py +369 -0
  261. witwin_maxwell-0.6.0/witwin/maxwell/mom/ewald_nearfield.py +134 -0
  262. witwin_maxwell-0.6.0/witwin/maxwell/mom/ewald_refinement.py +83 -0
  263. witwin_maxwell-0.6.0/witwin/maxwell/mom/fields.py +615 -0
  264. witwin_maxwell-0.6.0/witwin/maxwell/mom/fixed_tangent_inverse.py +137 -0
  265. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_capacity.py +319 -0
  266. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_compact.py +625 -0
  267. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_config.py +424 -0
  268. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_fft.py +316 -0
  269. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_moments.py +983 -0
  270. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_rwg.py +998 -0
  271. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_shift.py +490 -0
  272. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_error.py +691 -0
  273. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_fft.py +104 -0
  274. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_real.py +109 -0
  275. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_spectral.py +117 -0
  276. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_translation.py +125 -0
  277. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_expansion.py +176 -0
  278. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_fft.py +329 -0
  279. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_fft_coefficients.py +44 -0
  280. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_moments.py +222 -0
  281. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_operator.py +46 -0
  282. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_order.py +947 -0
  283. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic.py +173 -0
  284. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_capacity.py +134 -0
  285. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_error.py +198 -0
  286. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_operator.py +25 -0
  287. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_order.py +110 -0
  288. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_regional.py +195 -0
  289. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_system.py +178 -0
  290. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_regional.py +551 -0
  291. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_rwg_error.py +46 -0
  292. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_shift.py +87 -0
  293. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_storage.py +165 -0
  294. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_system.py +406 -0
  295. witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_translation.py +281 -0
  296. witwin_maxwell-0.6.0/witwin/maxwell/mom/h2.py +230 -0
  297. witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_basis.py +260 -0
  298. witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_capacity.py +78 -0
  299. witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_operator.py +133 -0
  300. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_balance.py +327 -0
  301. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_config.py +155 -0
  302. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_convergence.py +144 -0
  303. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_current.py +176 -0
  304. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_current_snapshot.py +249 -0
  305. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_cutoff_receipt.py +103 -0
  306. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_dual_bridge.py +156 -0
  307. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_dual_current.py +210 -0
  308. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_fields.py +198 -0
  309. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_jacobian_action.py +165 -0
  310. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_material.py +207 -0
  311. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_mixed.py +97 -0
  312. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_mixed_snapshot.py +237 -0
  313. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_observables.py +232 -0
  314. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_preparation.py +240 -0
  315. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_runtime.py +473 -0
  316. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_snapshot.py +481 -0
  317. witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_state.py +339 -0
  318. witwin_maxwell-0.6.0/witwin/maxwell/mom/hierarchical_blocks.py +163 -0
  319. witwin_maxwell-0.6.0/witwin/maxwell/mom/hierarchical_runtime.py +172 -0
  320. witwin_maxwell-0.6.0/witwin/maxwell/mom/hmatrix.py +395 -0
  321. witwin_maxwell-0.6.0/witwin/maxwell/mom/implicit_surface_solve.py +143 -0
  322. witwin_maxwell-0.6.0/witwin/maxwell/mom/incident_work.py +95 -0
  323. witwin_maxwell-0.6.0/witwin/maxwell/mom/interior_volume_hmatrix.py +90 -0
  324. witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolated_far.py +57 -0
  325. witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation.py +84 -0
  326. witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_error.py +127 -0
  327. witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_kernel.py +73 -0
  328. witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_order.py +128 -0
  329. witwin_maxwell-0.6.0/witwin/maxwell/mom/kernels.py +51 -0
  330. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/__init__.py +10 -0
  331. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/assembly.py +184 -0
  332. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/build.py +30 -0
  333. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/config.py +81 -0
  334. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/assembly.cu +829 -0
  335. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/bessel.cu +261 -0
  336. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/binding.cpp +162 -0
  337. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/common.cuh +62 -0
  338. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/green_eval.cuh +299 -0
  339. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/interp.cu +262 -0
  340. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/lowfreq.cu +410 -0
  341. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/spectral.cu +432 -0
  342. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/triangle_static.cuh +126 -0
  343. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/vertical.cu +259 -0
  344. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/green.py +383 -0
  345. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/loss.py +102 -0
  346. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/lowfreq.py +119 -0
  347. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/mesh.py +298 -0
  348. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/network.py +375 -0
  349. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/process.py +231 -0
  350. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/runtime.py +232 -0
  351. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/sweep.py +113 -0
  352. witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/vertical.py +317 -0
  353. witwin_maxwell-0.6.0/witwin/maxwell/mom/lifting.py +742 -0
  354. witwin_maxwell-0.6.0/witwin/maxwell/mom/lifting_fields.py +538 -0
  355. witwin_maxwell-0.6.0/witwin/maxwell/mom/linalg.py +1523 -0
  356. witwin_maxwell-0.6.0/witwin/maxwell/mom/linear_runtime.py +104 -0
  357. witwin_maxwell-0.6.0/witwin/maxwell/mom/linear_volume_state.py +110 -0
  358. witwin_maxwell-0.6.0/witwin/maxwell/mom/lowrank.py +200 -0
  359. witwin_maxwell-0.6.0/witwin/maxwell/mom/magnetostatic.py +112 -0
  360. witwin_maxwell-0.6.0/witwin/maxwell/mom/matched_spd_green.py +262 -0
  361. witwin_maxwell-0.6.0/witwin/maxwell/mom/mesh.py +784 -0
  362. witwin_maxwell-0.6.0/witwin/maxwell/mom/migration.py +100 -0
  363. witwin_maxwell-0.6.0/witwin/maxwell/mom/modes.py +323 -0
  364. witwin_maxwell-0.6.0/witwin/maxwell/mom/near_preconditioner.py +167 -0
  365. witwin_maxwell-0.6.0/witwin/maxwell/mom/nearfield.py +598 -0
  366. witwin_maxwell-0.6.0/witwin/maxwell/mom/nested_h2_snapshot.py +180 -0
  367. witwin_maxwell-0.6.0/witwin/maxwell/mom/nested_moments.py +139 -0
  368. witwin_maxwell-0.6.0/witwin/maxwell/mom/nonlinear.py +190 -0
  369. witwin_maxwell-0.6.0/witwin/maxwell/mom/observables.py +71 -0
  370. witwin_maxwell-0.6.0/witwin/maxwell/mom/open_surface.py +254 -0
  371. witwin_maxwell-0.6.0/witwin/maxwell/mom/operator.py +739 -0
  372. witwin_maxwell-0.6.0/witwin/maxwell/mom/operator_error.py +187 -0
  373. witwin_maxwell-0.6.0/witwin/maxwell/mom/operator_protocol.py +102 -0
  374. witwin_maxwell-0.6.0/witwin/maxwell/mom/ordered_reduction.py +18 -0
  375. witwin_maxwell-0.6.0/witwin/maxwell/mom/packed_near.py +775 -0
  376. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic.py +473 -0
  377. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_config.py +162 -0
  378. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_cylindrical.py +79 -0
  379. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_diffraction.py +232 -0
  380. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic.py +1168 -0
  381. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_fields.py +277 -0
  382. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_nearfield.py +70 -0
  383. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_operator.py +277 -0
  384. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_fields.py +176 -0
  385. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_hierarchical_runtime.py +85 -0
  386. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_limits.py +99 -0
  387. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_nearfield.py +63 -0
  388. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_operator.py +208 -0
  389. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_runtime.py +446 -0
  390. witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_spectral.py +84 -0
  391. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_config.py +156 -0
  392. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_coupling.py +257 -0
  393. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_efie.py +259 -0
  394. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_grid.py +169 -0
  395. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_lifting.py +220 -0
  396. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_operator.py +235 -0
  397. witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_system.py +381 -0
  398. witwin_maxwell-0.6.0/witwin/maxwell/mom/physical_surface_snapshot.py +154 -0
  399. witwin_maxwell-0.6.0/witwin/maxwell/mom/physics.py +308 -0
  400. witwin_maxwell-0.6.0/witwin/maxwell/mom/preconditioning.py +241 -0
  401. witwin_maxwell-0.6.0/witwin/maxwell/mom/primitive_mesh.py +766 -0
  402. witwin_maxwell-0.6.0/witwin/maxwell/mom/quadrature.py +559 -0
  403. witwin_maxwell-0.6.0/witwin/maxwell/mom/riesz.py +168 -0
  404. witwin_maxwell-0.6.0/witwin/maxwell/mom/runtime.py +1280 -0
  405. witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_interpolation_error.py +196 -0
  406. witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_moments.py +119 -0
  407. witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_refinement.py +72 -0
  408. witwin_maxwell-0.6.0/witwin/maxwell/mom/scalar_moment_action.py +19 -0
  409. witwin_maxwell-0.6.0/witwin/maxwell/mom/scalar_near_channels.py +131 -0
  410. witwin_maxwell-0.6.0/witwin/maxwell/mom/single_layer.py +163 -0
  411. witwin_maxwell-0.6.0/witwin/maxwell/mom/spatial.py +203 -0
  412. witwin_maxwell-0.6.0/witwin/maxwell/mom/spectral_linalg.py +117 -0
  413. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_coupling.py +195 -0
  414. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_current.py +397 -0
  415. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_current_projector.py +96 -0
  416. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_floating.py +196 -0
  417. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic.py +140 -0
  418. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic_snapshot.py +124 -0
  419. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic_volume.py +128 -0
  420. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_mixed.py +164 -0
  421. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_projector_snapshot.py +98 -0
  422. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_floating.py +212 -0
  423. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_green.py +664 -0
  424. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_interface.py +271 -0
  425. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_material.py +150 -0
  426. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_polarization.py +128 -0
  427. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_preparation.py +65 -0
  428. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_snapshot.py +255 -0
  429. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_volume.py +263 -0
  430. witwin_maxwell-0.6.0/witwin/maxwell/mom/static_volume_curl.py +94 -0
  431. witwin_maxwell-0.6.0/witwin/maxwell/mom/streamed_dual_state_snapshot.py +97 -0
  432. witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_h_snapshot.py +242 -0
  433. witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_volume.py +336 -0
  434. witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_volume_hmatrix.py +150 -0
  435. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_carrier.py +200 -0
  436. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_bundle.py +335 -0
  437. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_preparation.py +261 -0
  438. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_runtime.py +260 -0
  439. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_snapshot.py +339 -0
  440. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_medium.py +247 -0
  441. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_nearfield.py +124 -0
  442. witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_volume.py +195 -0
  443. witwin_maxwell-0.6.0/witwin/maxwell/mom/topology.py +233 -0
  444. witwin_maxwell-0.6.0/witwin/maxwell/mom/vie_operator.py +275 -0
  445. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_basis.py +31 -0
  446. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h2.py +75 -0
  447. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h2_snapshot.py +76 -0
  448. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h_snapshot.py +209 -0
  449. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_hmatrix.py +119 -0
  450. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_mesh.py +201 -0
  451. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_response_matrix.py +385 -0
  452. witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_source_refinement.py +148 -0
  453. witwin_maxwell-0.6.0/witwin/maxwell/monitors.py +1985 -0
  454. witwin_maxwell-0.6.0/witwin/maxwell/network.py +1719 -0
  455. witwin_maxwell-0.6.0/witwin/maxwell/network_math.py +383 -0
  456. witwin_maxwell-0.6.0/witwin/maxwell/path_integrals.py +274 -0
  457. witwin_maxwell-0.6.0/witwin/maxwell/ports.py +1380 -0
  458. witwin_maxwell-0.6.0/witwin/maxwell/ports_postprocess.py +111 -0
  459. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/RCS.py +140 -0
  460. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/__init__.py +91 -0
  461. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/antenna.py +722 -0
  462. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/array_factor.py +398 -0
  463. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/array_taper.py +232 -0
  464. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/diffraction.py +219 -0
  465. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/fdtd_loss.py +201 -0
  466. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/field_projection.py +615 -0
  467. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/floquet.py +201 -0
  468. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/gaussian_overlap.py +170 -0
  469. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/lobes.py +580 -0
  470. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/low_frequency.py +141 -0
  471. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/modal.py +362 -0
  472. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/nfft.py +329 -0
  473. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/plane_payload.py +71 -0
  474. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/resonance.py +394 -0
  475. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/scattering_parameters.py +394 -0
  476. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/selected_query.py +283 -0
  477. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/stratton_chu.py +1446 -0
  478. witwin_maxwell-0.6.0/witwin/maxwell/postprocess/yee_interpolation.py +205 -0
  479. witwin_maxwell-0.6.0/witwin/maxwell/power_loss.py +452 -0
  480. witwin_maxwell-0.6.0/witwin/maxwell/result.py +3160 -0
  481. witwin_maxwell-0.6.0/witwin/maxwell/roughness.py +229 -0
  482. witwin_maxwell-0.6.0/witwin/maxwell/scene.py +2329 -0
  483. witwin_maxwell-0.6.0/witwin/maxwell/scene_dict.py +274 -0
  484. witwin_maxwell-0.6.0/witwin/maxwell/simulation.py +2568 -0
  485. witwin_maxwell-0.6.0/witwin/maxwell/sources.py +1307 -0
  486. witwin_maxwell-0.6.0/witwin/maxwell/terminal_waveport.py +601 -0
  487. witwin_maxwell-0.6.0/witwin/maxwell/waveforms.py +378 -0
  488. witwin_maxwell-0.6.0/witwin/maxwell/waveport_sweep.py +980 -0
  489. witwin_maxwell-0.4.0/.github/workflows/publish-witwin-maxwell.yml +0 -450
  490. witwin_maxwell-0.4.0/.gitignore +0 -245
  491. witwin_maxwell-0.4.0/AGENTS.md +0 -161
  492. witwin_maxwell-0.4.0/CHANGELOG.md +0 -72
  493. witwin_maxwell-0.4.0/CLAUDE.md +0 -161
  494. witwin_maxwell-0.4.0/FEATURE_LIST.md +0 -975
  495. witwin_maxwell-0.4.0/PKG-INFO +0 -187
  496. witwin_maxwell-0.4.0/README.md +0 -167
  497. witwin_maxwell-0.4.0/pyproject.toml +0 -42
  498. witwin_maxwell-0.4.0/scripts/build_fdtd_cuda_prebuilt.py +0 -71
  499. witwin_maxwell-0.4.0/scripts/dev/fdtd/multi_gpu/bench_joint.py +0 -939
  500. witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/bench_baseline.py +0 -162
  501. witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/profile_scenario.py +0 -24
  502. witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/snapshot_tool.py +0 -188
  503. witwin_maxwell-0.4.0/scripts/perf_cuda_graph_dispersive.py +0 -134
  504. witwin_maxwell-0.4.0/scripts/verify_cuda_binary_arches.py +0 -73
  505. witwin_maxwell-0.4.0/tests/TEST_LAYOUT.md +0 -37
  506. witwin_maxwell-0.4.0/tests/__init__.py +0 -1
  507. witwin_maxwell-0.4.0/tests/api/adapters/gds/test_gds_adapter.py +0 -213
  508. witwin_maxwell-0.4.0/tests/api/adapters/tidy3d/test_port_source_mapping.py +0 -138
  509. witwin_maxwell-0.4.0/tests/api/adapters/tidy3d/test_tidy3d_adapter.py +0 -2485
  510. witwin_maxwell-0.4.0/tests/api/public/test_dependency_contract.py +0 -22
  511. witwin_maxwell-0.4.0/tests/api/public/test_guard_census.py +0 -456
  512. witwin_maxwell-0.4.0/tests/api/public/test_public_api.py +0 -816
  513. witwin_maxwell-0.4.0/tests/api/public/test_simulation_smoke.py +0 -92
  514. witwin_maxwell-0.4.0/tests/api/public/test_thin_wire_api.py +0 -326
  515. witwin_maxwell-0.4.0/tests/boundaries/absorbers/test_boundary_variants.py +0 -158
  516. witwin_maxwell-0.4.0/tests/boundaries/boundary_physics/test_fdtd_boundary_physics.py +0 -466
  517. witwin_maxwell-0.4.0/tests/boundaries/boundary_physics/test_fdtd_pec_material.py +0 -65
  518. witwin_maxwell-0.4.0/tests/boundaries/boundary_specs/test_fdtd_boundaries.py +0 -274
  519. witwin_maxwell-0.4.0/tests/boundaries/cpml/test_fdtd_cpml.py +0 -384
  520. witwin_maxwell-0.4.0/tests/boundaries/symmetry/test_symmetry_generalization.py +0 -257
  521. witwin_maxwell-0.4.0/tests/breakdown/__init__.py +0 -0
  522. witwin_maxwell-0.4.0/tests/breakdown/_common.py +0 -140
  523. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_accumulator.py +0 -235
  524. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_compiler.py +0 -149
  525. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_energy.py +0 -133
  526. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_events.py +0 -93
  527. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_fdtd.py +0 -186
  528. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_guards.py +0 -145
  529. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_monitor.py +0 -146
  530. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_parity.py +0 -126
  531. witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_state_machine.py +0 -168
  532. witwin_maxwell-0.4.0/tests/breakdown/test_component_stress.py +0 -194
  533. witwin_maxwell-0.4.0/tests/breakdown/test_smooth_breakdown_risk.py +0 -326
  534. witwin_maxwell-0.4.0/tests/conftest.py +0 -20
  535. witwin_maxwell-0.4.0/tests/core/constants/test_physical_constants.py +0 -40
  536. witwin_maxwell-0.4.0/tests/core/geometry/test_mesh_geometry.py +0 -197
  537. witwin_maxwell-0.4.0/tests/core/grid/test_autogrid.py +0 -530
  538. witwin_maxwell-0.4.0/tests/core/grid/test_fdtd_coords.py +0 -72
  539. witwin_maxwell-0.4.0/tests/core/grid/test_gridspec_custom.py +0 -331
  540. witwin_maxwell-0.4.0/tests/core/grid/test_nonuniform_placement.py +0 -146
  541. witwin_maxwell-0.4.0/tests/core/grid/test_nonuniform_uniform_equivalence.py +0 -198
  542. witwin_maxwell-0.4.0/tests/core/scene/test_scene.py +0 -641
  543. witwin_maxwell-0.4.0/tests/electrostatic/__init__.py +0 -0
  544. witwin_maxwell-0.4.0/tests/electrostatic/oracles.py +0 -47
  545. witwin_maxwell-0.4.0/tests/electrostatic/test_analytic.py +0 -146
  546. witwin_maxwell-0.4.0/tests/electrostatic/test_api.py +0 -227
  547. witwin_maxwell-0.4.0/tests/electrostatic/test_capacitance.py +0 -239
  548. witwin_maxwell-0.4.0/tests/electrostatic/test_conservation.py +0 -107
  549. witwin_maxwell-0.4.0/tests/electrostatic/test_floating.py +0 -157
  550. witwin_maxwell-0.4.0/tests/electrostatic/test_gradients.py +0 -238
  551. witwin_maxwell-0.4.0/tests/electrostatic/test_initial_condition.py +0 -338
  552. witwin_maxwell-0.4.0/tests/electrostatic/test_open_boundary.py +0 -312
  553. witwin_maxwell-0.4.0/tests/electrostatic/test_tensor_eps.py +0 -473
  554. witwin_maxwell-0.4.0/tests/esd/test_esd_circuit.py +0 -512
  555. witwin_maxwell-0.4.0/tests/esd/test_esd_circuit_e2e.py +0 -186
  556. witwin_maxwell-0.4.0/tests/esd/test_esd_circuit_energy.py +0 -229
  557. witwin_maxwell-0.4.0/tests/esd/test_esd_injection.py +0 -321
  558. witwin_maxwell-0.4.0/tests/esd/test_esd_waveform.py +0 -208
  559. witwin_maxwell-0.4.0/tests/esd/test_prebias.py +0 -193
  560. witwin_maxwell-0.4.0/tests/fdfd/test_ams.py +0 -80
  561. witwin_maxwell-0.4.0/tests/fdfd/test_direct_solver.py +0 -100
  562. witwin_maxwell-0.4.0/tests/fdfd/test_krylov.py +0 -130
  563. witwin_maxwell-0.4.0/tests/fdfd/test_matrix_cache.py +0 -102
  564. witwin_maxwell-0.4.0/tests/fdfd/test_preconditioners.py +0 -70
  565. witwin_maxwell-0.4.0/tests/fdfd/test_symmetric_formulation.py +0 -91
  566. witwin_maxwell-0.4.0/tests/fdtd/__init__.py +0 -0
  567. witwin_maxwell-0.4.0/tests/fdtd/cuda/__init__.py +0 -0
  568. witwin_maxwell-0.4.0/tests/fdtd/cuda/_parity_backend.py +0 -30
  569. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_adjoint_native.py +0 -174
  570. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_common_parity.py +0 -216
  571. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_cpml_extension_parity.py +0 -346
  572. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_dispersive_parity.py +0 -168
  573. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_electric_boundary_parity.py +0 -321
  574. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_extension_load.py +0 -58
  575. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_graph.py +0 -37
  576. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_magnetic_parity.py +0 -262
  577. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_prebuilt_abi.py +0 -70
  578. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_sources_parity.py +0 -775
  579. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_spectral_observer_parity.py +0 -193
  580. witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_wire_parity.py +0 -368
  581. witwin_maxwell-0.4.0/tests/fdtd/cuda/torch_reference.py +0 -3306
  582. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_gpu_burner.py +0 -29
  583. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_adjoint_worker.py +0 -672
  584. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_forward_worker.py +0 -225
  585. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_rankdeath_worker.py +0 -84
  586. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_transport_adjoint_worker.py +0 -266
  587. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_transport_worker.py +0 -168
  588. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/conftest.py +0 -44
  589. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity.py +0 -585
  590. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity_cpml.py +0 -606
  591. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity_stress.py +0 -297
  592. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_replay.py +0 -354
  593. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_bench_joint_cli.py +0 -282
  594. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_bounded_standard_dispatch.py +0 -242
  595. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_capacity_cpml_stats.py +0 -237
  596. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_circuit_owner.py +0 -283
  597. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_cuda_graph_device_binding.py +0 -164
  598. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_executor.py +0 -260
  599. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_network_sweep.py +0 -110
  600. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_run_many.py +0 -250
  601. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_guard_regressions.py +0 -577
  602. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_material_region_forward.py +0 -174
  603. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_monitor_merge_ownership.py +0 -437
  604. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_monitor_numerical.py +0 -245
  605. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_nccl_transport.py +0 -772
  606. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_network_owner.py +0 -621
  607. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_numerical_matrix.py +0 -418
  608. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_parallel_public_api.py +0 -265
  609. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_partition.py +0 -282
  610. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_result_persistence.py +0 -131
  611. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_review_regressions.py +0 -240
  612. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_sharded_export.py +0 -184
  613. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_sharded_persistence.py +0 -420
  614. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_solver_acceptance.py +0 -390
  615. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_step_instrument.py +0 -143
  616. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_transport.py +0 -231
  617. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_transport_adjoint.py +0 -247
  618. witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_wire_owner.py +0 -612
  619. witwin_maxwell-0.4.0/tests/fdtd/surface_impedance/test_surface_impedance_reference.py +0 -208
  620. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph.py +0 -111
  621. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_capture_coverage.py +0 -226
  622. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_complex_bloch.py +0 -112
  623. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_dispersive.py +0 -91
  624. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_nonlinear.py +0 -89
  625. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_tfsf.py +0 -163
  626. witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_tfsf_slab.py +0 -141
  627. witwin_maxwell-0.4.0/tests/fdtd/test_fdtd_autoshutoff.py +0 -121
  628. witwin_maxwell-0.4.0/tests/fdtd/test_observer_quadrature.py +0 -68
  629. witwin_maxwell-0.4.0/tests/fdtd/test_observer_time_stagger.py +0 -245
  630. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_compiler.py +0 -1024
  631. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_forward.py +0 -1112
  632. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_lossy_forward.py +0 -231
  633. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_port_binding_gpu.py +0 -420
  634. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_reference.py +0 -458
  635. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_rotation_acceptance.py +0 -208
  636. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_wire_finite_conductivity.py +0 -277
  637. witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_wire_lossy_recurrence.py +0 -295
  638. witwin_maxwell-0.4.0/tests/gradients/README.md +0 -11
  639. witwin_maxwell-0.4.0/tests/gradients/__init__.py +0 -1
  640. witwin_maxwell-0.4.0/tests/gradients/e2e/__init__.py +0 -0
  641. witwin_maxwell-0.4.0/tests/gradients/e2e/test_fdtd_two_port_sparam_optimization.py +0 -169
  642. witwin_maxwell-0.4.0/tests/gradients/fdtd_adjoint_baselines.py +0 -120
  643. witwin_maxwell-0.4.0/tests/gradients/finite_difference_gate.py +0 -32
  644. witwin_maxwell-0.4.0/tests/gradients/test_fdfd_adjoint.py +0 -137
  645. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_bridge.py +0 -2445
  646. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_materials.py +0 -1830
  647. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_p6_acceptance.py +0 -59
  648. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_rigorous.py +0 -1134
  649. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_circuit_adjoint.py +0 -663
  650. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_cpml_psi_active_adjoint.py +0 -155
  651. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_custom_source_adjoint.py +0 -411
  652. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_mode_source_adjoint.py +0 -146
  653. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_multisource_adjoint.py +0 -436
  654. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_network_adjoint.py +0 -502
  655. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_rf_lumped_adjoint.py +0 -792
  656. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_adjoint.py +0 -543
  657. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_conductivity_adjoint.py +0 -172
  658. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_port_adjoint.py +0 -514
  659. witwin_maxwell-0.4.0/tests/gradients/test_fdtd_waveport_adjoint.py +0 -174
  660. witwin_maxwell-0.4.0/tests/gradients/test_rf_postprocess_adjoint.py +0 -181
  661. witwin_maxwell-0.4.0/tests/materials/__init__.py +0 -1
  662. witwin_maxwell-0.4.0/tests/materials/anisotropic/test_fdtd_full_anisotropy.py +0 -565
  663. witwin_maxwell-0.4.0/tests/materials/combinations/__init__.py +0 -0
  664. witwin_maxwell-0.4.0/tests/materials/combinations/test_aniso_pml_overlap_reflection.py +0 -206
  665. witwin_maxwell-0.4.0/tests/materials/combinations/test_bloch_dispersive_forward.py +0 -117
  666. witwin_maxwell-0.4.0/tests/materials/combinations/test_combination_matrix.py +0 -284
  667. witwin_maxwell-0.4.0/tests/materials/combinations/test_diagonal_aniso_dispersive.py +0 -194
  668. witwin_maxwell-0.4.0/tests/materials/combinations/test_lossy_anisotropic_slab.py +0 -291
  669. witwin_maxwell-0.4.0/tests/materials/combinations/test_modulated_dispersive_nonlinear.py +0 -391
  670. witwin_maxwell-0.4.0/tests/materials/combinations/test_modulated_slab_cpml.py +0 -154
  671. witwin_maxwell-0.4.0/tests/materials/combinations/test_mu_tensor_dispersion.py +0 -205
  672. witwin_maxwell-0.4.0/tests/materials/combinations/test_multi_frequency_modulation.py +0 -189
  673. witwin_maxwell-0.4.0/tests/materials/combinations/test_rotated_birefringent_dispersive_slab.py +0 -330
  674. witwin_maxwell-0.4.0/tests/materials/combinations/test_shg_dispersive_phase_matching.py +0 -212
  675. witwin_maxwell-0.4.0/tests/materials/compiler/test_curved_subpixel_convergence.py +0 -253
  676. witwin_maxwell-0.4.0/tests/materials/compiler/test_edge_native_sampling.py +0 -156
  677. witwin_maxwell-0.4.0/tests/materials/compiler/test_fdfd_material_support.py +0 -95
  678. witwin_maxwell-0.4.0/tests/materials/compiler/test_material_compiler.py +0 -1070
  679. witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_conformal_alignment.py +0 -212
  680. witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_conformal_nonuniform.py +0 -244
  681. witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_material.py +0 -95
  682. witwin_maxwell-0.4.0/tests/materials/compiler/test_polarized_averaging.py +0 -58
  683. witwin_maxwell-0.4.0/tests/materials/compiler/test_polyslab.py +0 -196
  684. witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_gradients.py +0 -58
  685. witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_nonuniform.py +0 -271
  686. witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_normals.py +0 -34
  687. witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_spec.py +0 -67
  688. witwin_maxwell-0.4.0/tests/materials/conductive/test_fdtd_conductive.py +0 -199
  689. witwin_maxwell-0.4.0/tests/materials/conductive/test_fdtd_magnetic_conductive.py +0 -316
  690. witwin_maxwell-0.4.0/tests/materials/dispersive/test_custom_dispersive.py +0 -342
  691. witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_dispersive.py +0 -354
  692. witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_gain.py +0 -156
  693. witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_sellmeier.py +0 -142
  694. witwin_maxwell-0.4.0/tests/materials/ferrite/test_ferrite_reference.py +0 -235
  695. witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_compiler.py +0 -265
  696. witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_ferrite.py +0 -262
  697. witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_forward.py +0 -751
  698. witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_general_bias.py +0 -628
  699. witwin_maxwell-0.4.0/tests/materials/modulation/test_fdtd_modulation.py +0 -387
  700. witwin_maxwell-0.4.0/tests/materials/nonlinear/test_fdtd_nonlinear.py +0 -572
  701. witwin_maxwell-0.4.0/tests/materials/perturbation/test_perturbation_medium.py +0 -224
  702. witwin_maxwell-0.4.0/tests/materials/sheet/__init__.py +0 -1
  703. witwin_maxwell-0.4.0/tests/materials/sheet/sheet_measurement.py +0 -132
  704. witwin_maxwell-0.4.0/tests/materials/sheet/test_fdtd_graphene.py +0 -333
  705. witwin_maxwell-0.4.0/tests/materials/sheet/test_fdtd_medium2d.py +0 -143
  706. witwin_maxwell-0.4.0/tests/materials/sheet/test_lossy_metal.py +0 -156
  707. witwin_maxwell-0.4.0/tests/materials/sheet/test_surface_impedance_funnel.py +0 -248
  708. witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_rational_surface_impedance.py +0 -245
  709. witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_ade.py +0 -103
  710. witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_resume.py +0 -174
  711. witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_runtime.py +0 -131
  712. witwin_maxwell-0.4.0/tests/monitors/diffraction/test_diffraction_monitor.py +0 -334
  713. witwin_maxwell-0.4.0/tests/monitors/emission/test_dipole_emission_monitor.py +0 -179
  714. witwin_maxwell-0.4.0/tests/monitors/material/test_permittivity_monitor.py +0 -222
  715. witwin_maxwell-0.4.0/tests/monitors/observers/test_fdtd_observers.py +0 -535
  716. witwin_maxwell-0.4.0/tests/monitors/time/test_fdtd_time_monitors.py +0 -255
  717. witwin_maxwell-0.4.0/tests/postprocess/directivity/test_directivity.py +0 -94
  718. witwin_maxwell-0.4.0/tests/postprocess/evaluation/test_fdtd_evaluation.py +0 -45
  719. witwin_maxwell-0.4.0/tests/postprocess/rcs/test_postprocess.py +0 -725
  720. witwin_maxwell-0.4.0/tests/postprocess/scattering/test_mode_overlap.py +0 -253
  721. witwin_maxwell-0.4.0/tests/postprocess/scattering/test_ring_resonator_s21.py +0 -296
  722. witwin_maxwell-0.4.0/tests/postprocess/scattering/test_scattering_parameters.py +0 -475
  723. witwin_maxwell-0.4.0/tests/rational/test_core.py +0 -213
  724. witwin_maxwell-0.4.0/tests/rational/test_fit.py +0 -83
  725. witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_benchmark_e2e.py +0 -203
  726. witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_data.py +0 -406
  727. witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_matching_block.py +0 -223
  728. witwin_maxwell-0.4.0/tests/rf/antenna/test_result_antenna.py +0 -253
  729. witwin_maxwell-0.4.0/tests/rf/array/test_array_codebook.py +0 -366
  730. witwin_maxwell-0.4.0/tests/rf/array/test_array_contracts.py +0 -696
  731. witwin_maxwell-0.4.0/tests/rf/array/test_array_fullwave.py +0 -287
  732. witwin_maxwell-0.4.0/tests/rf/array/test_array_mimo.py +0 -350
  733. witwin_maxwell-0.4.0/tests/rf/array/test_array_persistence.py +0 -262
  734. witwin_maxwell-0.4.0/tests/rf/array/test_array_scene_gradient.py +0 -605
  735. witwin_maxwell-0.4.0/tests/rf/array/test_array_scene_gradient_ensemble.py +0 -591
  736. witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_conservation.py +0 -438
  737. witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_contract.py +0 -156
  738. witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_graph.py +0 -150
  739. witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_hot_path_op_count.py +0 -163
  740. witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_independent_crosscheck.py +0 -409
  741. witwin_maxwell-0.4.0/tests/rf/circuits/test_fdtd_circuit_coupling.py +0 -449
  742. witwin_maxwell-0.4.0/tests/rf/circuits/test_fdtd_circuit_resume.py +0 -204
  743. witwin_maxwell-0.4.0/tests/rf/circuits/test_mna_runtime.py +0 -630
  744. witwin_maxwell-0.4.0/tests/rf/circuits/test_phase3_multiport.py +0 -437
  745. witwin_maxwell-0.4.0/tests/rf/circuits/test_phase4_batched_mna.py +0 -70
  746. witwin_maxwell-0.4.0/tests/rf/circuits/test_phase4_circuit_cuda_graph.py +0 -239
  747. witwin_maxwell-0.4.0/tests/rf/circuits/test_result_circuit_data.py +0 -219
  748. witwin_maxwell-0.4.0/tests/rf/circuits/test_spice_parser.py +0 -238
  749. witwin_maxwell-0.4.0/tests/rf/contracts/test_network_data_contract.py +0 -169
  750. witwin_maxwell-0.4.0/tests/rf/contracts/test_port_conventions.py +0 -144
  751. witwin_maxwell-0.4.0/tests/rf/contracts/test_port_geometry_contract.py +0 -101
  752. witwin_maxwell-0.4.0/tests/rf/contracts/test_public_rf_api.py +0 -121
  753. witwin_maxwell-0.4.0/tests/rf/contracts/test_wire_port_binding_api.py +0 -92
  754. witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_lumped_port_pec_gap.py +0 -78
  755. witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_lumped_runtime.py +0 -413
  756. witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_port_end_to_end.py +0 -272
  757. witwin_maxwell-0.4.0/tests/rf/lumped/test_port_data_persistence.py +0 -106
  758. witwin_maxwell-0.4.0/tests/rf/lumped/test_port_source_waveform.py +0 -39
  759. witwin_maxwell-0.4.0/tests/rf/lumped/test_result_port_data.py +0 -146
  760. witwin_maxwell-0.4.0/tests/rf/lumped/test_rlc_contract.py +0 -101
  761. witwin_maxwell-0.4.0/tests/rf/lumped/test_rlc_discretization.py +0 -123
  762. witwin_maxwell-0.4.0/tests/rf/lumped/test_scene_lumped_elements.py +0 -141
  763. witwin_maxwell-0.4.0/tests/rf/lumped/test_simulation_port_excitation.py +0 -97
  764. witwin_maxwell-0.4.0/tests/rf/network/fixtures/four_port_db.s4p +0 -6
  765. witwin_maxwell-0.4.0/tests/rf/network/fixtures/one_port_ri.s1p +0 -4
  766. witwin_maxwell-0.4.0/tests/rf/network/fixtures/two_port_ma.ts +0 -12
  767. witwin_maxwell-0.4.0/tests/rf/network/test_embedded_network_persistence.py +0 -286
  768. witwin_maxwell-0.4.0/tests/rf/network/test_finalize_state_norm_detach.py +0 -68
  769. witwin_maxwell-0.4.0/tests/rf/network/test_network_algebra.py +0 -261
  770. witwin_maxwell-0.4.0/tests/rf/network/test_network_block_contract.py +0 -247
  771. witwin_maxwell-0.4.0/tests/rf/network/test_network_cascade.py +0 -290
  772. witwin_maxwell-0.4.0/tests/rf/network/test_network_cascade_crosscheck.py +0 -193
  773. witwin_maxwell-0.4.0/tests/rf/network/test_network_conservation.py +0 -268
  774. witwin_maxwell-0.4.0/tests/rf/network/test_network_coupling_op_stream.py +0 -74
  775. witwin_maxwell-0.4.0/tests/rf/network/test_network_delay.py +0 -384
  776. witwin_maxwell-0.4.0/tests/rf/network/test_network_delay_checkpoint.py +0 -154
  777. witwin_maxwell-0.4.0/tests/rf/network/test_network_delay_integration.py +0 -293
  778. witwin_maxwell-0.4.0/tests/rf/network/test_network_multiport_fdtd.py +0 -291
  779. witwin_maxwell-0.4.0/tests/rf/network/test_network_multiport_runtime.py +0 -380
  780. witwin_maxwell-0.4.0/tests/rf/network/test_network_observer_hot_path.py +0 -246
  781. witwin_maxwell-0.4.0/tests/rf/network/test_network_persistence.py +0 -115
  782. witwin_maxwell-0.4.0/tests/rf/network/test_network_physicality.py +0 -79
  783. witwin_maxwell-0.4.0/tests/rf/network/test_network_runtime.py +0 -457
  784. witwin_maxwell-0.4.0/tests/rf/network/test_network_sweep.py +0 -374
  785. witwin_maxwell-0.4.0/tests/rf/network/test_touchstone.py +0 -246
  786. witwin_maxwell-0.4.0/tests/rf/network/test_touchstone_import.py +0 -383
  787. witwin_maxwell-0.4.0/tests/rf/nonlinear/_generate_goldens.py +0 -104
  788. witwin_maxwell-0.4.0/tests/rf/nonlinear/_rectifier_fixtures.py +0 -130
  789. witwin_maxwell-0.4.0/tests/rf/nonlinear/goldens/rectifier_goldens.pt +0 -0
  790. witwin_maxwell-0.4.0/tests/rf/nonlinear/test_newton_core.py +0 -220
  791. witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_device_contract.py +0 -151
  792. witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_device_math.py +0 -102
  793. witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_transient.py +0 -332
  794. witwin_maxwell-0.4.0/tests/rf/numerics/test_port_spectral_stagger.py +0 -93
  795. witwin_maxwell-0.4.0/tests/rf/numerics/test_tem_vi_prototype.py +0 -88
  796. witwin_maxwell-0.4.0/tests/rf/performance/measure_port_overhead_s2b.py +0 -522
  797. witwin_maxwell-0.4.0/tests/rf/performance/profile_port_hot_path.py +0 -444
  798. witwin_maxwell-0.4.0/tests/rf/performance/test_no_feature_fast_path.py +0 -23
  799. witwin_maxwell-0.4.0/tests/rf/performance/test_perf_variance_gate.py +0 -160
  800. witwin_maxwell-0.4.0/tests/rf/performance/test_port_energy_diagnostics_default_off.py +0 -99
  801. witwin_maxwell-0.4.0/tests/rf/performance/test_port_hot_path_op_count.py +0 -128
  802. witwin_maxwell-0.4.0/tests/rf/power_loss/test_power_loss_data.py +0 -454
  803. witwin_maxwell-0.4.0/tests/rf/terminal/test_terminal_port_contract.py +0 -253
  804. witwin_maxwell-0.4.0/tests/rf/wave_validation/__init__.py +0 -0
  805. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_asymmetric_reciprocity_power_balance.py +0 -158
  806. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_coax_contour_snap.py +0 -37
  807. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_interior_pec_operator.py +0 -503
  808. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_matched_s11_wave_level.py +0 -98
  809. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_microstrip_diffpair_wave_level.py +0 -178
  810. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_open_short_match_wave_level.py +0 -154
  811. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_planemonitor_waveport_passthrough.py +0 -215
  812. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_rf_reference_generation.py +0 -158
  813. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_rlc_resonance_wave_level.py +0 -181
  814. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_te10_mode_selection.py +0 -132
  815. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_transverse_operator.py +0 -450
  816. witwin_maxwell-0.4.0/tests/rf/wave_validation/test_waveguide_wave_level.py +0 -114
  817. witwin_maxwell-0.4.0/tests/rf/waveport/test_modal_port_data.py +0 -136
  818. witwin_maxwell-0.4.0/tests/rf/waveport/test_mode_tracking.py +0 -205
  819. witwin_maxwell-0.4.0/tests/rf/waveport/test_waveport_contract.py +0 -471
  820. witwin_maxwell-0.4.0/tests/rf/waveport/test_waveport_sweep.py +0 -452
  821. witwin_maxwell-0.4.0/tests/sar/test_incident_power.py +0 -228
  822. witwin_maxwell-0.4.0/tests/sar/test_mass_averaging.py +0 -404
  823. witwin_maxwell-0.4.0/tests/sar/test_mass_density.py +0 -114
  824. witwin_maxwell-0.4.0/tests/sar/test_normalization.py +0 -123
  825. witwin_maxwell-0.4.0/tests/sar/test_phantom_benchmarks.py +0 -175
  826. witwin_maxwell-0.4.0/tests/sar/test_phantom_convergence.py +0 -122
  827. witwin_maxwell-0.4.0/tests/sar/test_point_sar.py +0 -406
  828. witwin_maxwell-0.4.0/tests/sar/test_sar_combine.py +0 -120
  829. witwin_maxwell-0.4.0/tests/sar/test_sar_gradients.py +0 -154
  830. witwin_maxwell-0.4.0/tests/sar/test_sar_validation.py +0 -85
  831. witwin_maxwell-0.4.0/tests/sar/test_soft_peak.py +0 -106
  832. witwin_maxwell-0.4.0/tests/sources/definitions/test_astigmatic_gaussian_beam.py +0 -204
  833. witwin_maxwell-0.4.0/tests/sources/definitions/test_custom_source_time.py +0 -222
  834. witwin_maxwell-0.4.0/tests/sources/definitions/test_custom_uniform_sources.py +0 -249
  835. witwin_maxwell-0.4.0/tests/sources/definitions/test_sources.py +0 -222
  836. witwin_maxwell-0.4.0/tests/sources/incident/test_fdtd_incident.py +0 -118
  837. witwin_maxwell-0.4.0/tests/sources/incident/test_soft_planewave_absolute_power.py +0 -209
  838. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_anisotropic_aperture.py +0 -217
  839. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_bent_mode_source.py +0 -165
  840. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_broadband_mode_source.py +0 -178
  841. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_complex_lossy_slab_mode.py +0 -146
  842. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_mode_source.py +0 -53
  843. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_pec_mode_solver.py +0 -147
  844. witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_unidirectional_launch.py +0 -175
  845. witwin_maxwell-0.4.0/tests/sources/mode/test_mode_eigensolver_physics.py +0 -279
  846. witwin_maxwell-0.4.0/tests/sources/mode/test_mode_solver_gradients.py +0 -392
  847. witwin_maxwell-0.4.0/tests/sources/mode/test_mode_source_injection_physics.py +0 -188
  848. witwin_maxwell-0.4.0/tests/sources/point/test_fdtd_source_normalization.py +0 -76
  849. witwin_maxwell-0.4.0/tests/sources/point/test_fdtd_sources.py +0 -261
  850. witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_grating_pulsed_bloch.py +0 -256
  851. witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_grating_tfsf.py +0 -766
  852. witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_tfsf.py +0 -306
  853. witwin_maxwell-0.4.0/tests/support/benchmark_circuit_performance.py +0 -564
  854. witwin_maxwell-0.4.0/tests/support/benchmark_ensemble_speedup.py +0 -239
  855. witwin_maxwell-0.4.0/tests/support/benchmark_network_embedding.py +0 -260
  856. witwin_maxwell-0.4.0/tests/support/benchmark_rf_no_feature.py +0 -843
  857. witwin_maxwell-0.4.0/tests/support/benchmark_thin_wire_reverse.py +0 -159
  858. witwin_maxwell-0.4.0/tests/support/compare_no_feature_op_stream.py +0 -475
  859. witwin_maxwell-0.4.0/tests/support/network_coupling_op_stream.py +0 -280
  860. witwin_maxwell-0.4.0/tests/support/perf_variance_gate.py +0 -185
  861. witwin_maxwell-0.4.0/tests/support/port_hot_path_tally.py +0 -88
  862. witwin_maxwell-0.4.0/tests/support/test_benchmark_circuit_performance.py +0 -66
  863. witwin_maxwell-0.4.0/tests/support/test_benchmark_rf_no_feature_provenance.py +0 -232
  864. witwin_maxwell-0.4.0/tests/validation/cross_solver/test_fdfd_vs_fdtd.py +0 -463
  865. witwin_maxwell-0.4.0/tests/validation/physics/test_autogrid_physics.py +0 -175
  866. witwin_maxwell-0.4.0/tests/validation/physics/test_autogrid_subpixel_thesis.py +0 -217
  867. witwin_maxwell-0.4.0/tests/validation/physics/test_bloch_broadband_vs_cw.py +0 -213
  868. witwin_maxwell-0.4.0/tests/validation/physics/test_dispersive_metasurface_bloch.py +0 -110
  869. witwin_maxwell-0.4.0/tests/validation/physics/test_fdtd_boundary_tfsf_validation.py +0 -826
  870. witwin_maxwell-0.4.0/tests/validation/physics/test_fdtd_physics_correctness.py +0 -185
  871. witwin_maxwell-0.4.0/tests/validation/physics/test_layered_exterior_huygens_validation.py +0 -324
  872. witwin_maxwell-0.4.0/tests/validation/physics/test_lossy_metal_sibc.py +0 -161
  873. witwin_maxwell-0.4.0/tests/validation/physics/test_nonuniform_grid_physics.py +0 -180
  874. witwin_maxwell-0.4.0/tests/validation/physics/test_pec_conformal.py +0 -207
  875. witwin_maxwell-0.4.0/tests/validation/physics/test_postprocess_end_to_end_validation.py +0 -661
  876. witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_cylinder_convergence.py +0 -220
  877. witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_orientation.py +0 -218
  878. witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_staircase.py +0 -276
  879. witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_zero_impact.py +0 -124
  880. witwin_maxwell-0.4.0/tests/validation/physics/test_soft_planewave_graded.py +0 -302
  881. witwin_maxwell-0.4.0/tests/validation/physics/test_surface_impedance_broadband.py +0 -141
  882. witwin_maxwell-0.4.0/tests/validation/physics/test_tfsf_nonuniform.py +0 -335
  883. witwin_maxwell-0.4.0/witwin/maxwell/__init__.py +0 -437
  884. witwin_maxwell-0.4.0/witwin/maxwell/adapters/__init__.py +0 -1
  885. witwin_maxwell-0.4.0/witwin/maxwell/adapters/tidy3d.py +0 -2014
  886. witwin_maxwell-0.4.0/witwin/maxwell/adjoint_inputs.py +0 -207
  887. witwin_maxwell-0.4.0/witwin/maxwell/array_execution.py +0 -67
  888. witwin_maxwell-0.4.0/witwin/maxwell/breakdown_stress.py +0 -542
  889. witwin_maxwell-0.4.0/witwin/maxwell/compiler/delay.py +0 -374
  890. witwin_maxwell-0.4.0/witwin/maxwell/compiler/electrostatic.py +0 -379
  891. witwin_maxwell-0.4.0/witwin/maxwell/compiler/lumped.py +0 -100
  892. witwin_maxwell-0.4.0/witwin/maxwell/compiler/materials.py +0 -2623
  893. witwin_maxwell-0.4.0/witwin/maxwell/compiler/monitors.py +0 -240
  894. witwin_maxwell-0.4.0/witwin/maxwell/compiler/networks.py +0 -318
  895. witwin_maxwell-0.4.0/witwin/maxwell/compiler/nonlinear_devices.py +0 -916
  896. witwin_maxwell-0.4.0/witwin/maxwell/compiler/ports.py +0 -391
  897. witwin_maxwell-0.4.0/witwin/maxwell/compiler/power_loss.py +0 -175
  898. witwin_maxwell-0.4.0/witwin/maxwell/compiler/sources.py +0 -223
  899. witwin_maxwell-0.4.0/witwin/maxwell/compiler/structures.py +0 -21
  900. witwin_maxwell-0.4.0/witwin/maxwell/compiler/subpixel.py +0 -107
  901. witwin_maxwell-0.4.0/witwin/maxwell/compiler/thin_wire.py +0 -2201
  902. witwin_maxwell-0.4.0/witwin/maxwell/compiler/waveports.py +0 -435
  903. witwin_maxwell-0.4.0/witwin/maxwell/compiler/wire_impedance.py +0 -426
  904. witwin_maxwell-0.4.0/witwin/maxwell/esd.py +0 -854
  905. witwin_maxwell-0.4.0/witwin/maxwell/execution/capacity.py +0 -84
  906. witwin_maxwell-0.4.0/witwin/maxwell/execution/plan.py +0 -55
  907. witwin_maxwell-0.4.0/witwin/maxwell/execution/pool.py +0 -182
  908. witwin_maxwell-0.4.0/witwin/maxwell/execution/records.py +0 -144
  909. witwin_maxwell-0.4.0/witwin/maxwell/fdfd/adjoint/bridge.py +0 -180
  910. witwin_maxwell-0.4.0/witwin/maxwell/fdfd/ams.py +0 -300
  911. witwin_maxwell-0.4.0/witwin/maxwell/fdfd/krylov.py +0 -280
  912. witwin_maxwell-0.4.0/witwin/maxwell/fdfd/postprocess.py +0 -33
  913. witwin_maxwell-0.4.0/witwin/maxwell/fdfd/solver.py +0 -1069
  914. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/bridge.py +0 -1481
  915. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/capabilities.py +0 -31
  916. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/circuits.py +0 -708
  917. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/core.py +0 -3565
  918. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/dispatch.py +0 -727
  919. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/native.py +0 -2820
  920. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/profiler.py +0 -198
  921. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/seeds.py +0 -994
  922. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/common.py +0 -41
  923. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/cpml.py +0 -505
  924. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/runtime.py +0 -209
  925. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/checkpoint.py +0 -573
  926. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/circuits.py +0 -1209
  927. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/backend.py +0 -3727
  928. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/build.py +0 -319
  929. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/extension.cpp +0 -2212
  930. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/adjoint.cu +0 -4681
  931. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/aniso.cu +0 -1704
  932. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/common.cu +0 -74
  933. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/common.cuh +0 -96
  934. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/dispersive.cu +0 -782
  935. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/electric.cu +0 -3626
  936. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/magnetic.cu +0 -921
  937. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/observers.cu +0 -347
  938. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/sources.cu +0 -1482
  939. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/spectral.cu +0 -297
  940. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/runtime/graph.py +0 -123
  941. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/adjoint.py +0 -1643
  942. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/circuits.py +0 -609
  943. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/monitor_merge.py +0 -421
  944. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/networks.py +0 -640
  945. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/shard_engine.py +0 -467
  946. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/solver.py +0 -1317
  947. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/source_rebuild.py +0 -76
  948. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/sources.py +0 -77
  949. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/injection.py +0 -1140
  950. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/__init__.py +0 -963
  951. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/common.py +0 -592
  952. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/eigensolvers.py +0 -310
  953. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/tem.py +0 -354
  954. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/vector.py +0 -1113
  955. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/yee.py +0 -958
  956. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/spatial.py +0 -469
  957. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/temporal.py +0 -491
  958. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_apply.py +0 -264
  959. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_common.py +0 -421
  960. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_state.py +0 -778
  961. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/lumped.py +0 -915
  962. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/material_pullback.py +0 -393
  963. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/meshing/autogrid.py +0 -335
  964. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/networks.py +0 -1264
  965. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/observers.py +0 -1434
  966. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/ports.py +0 -2088
  967. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/postprocess.py +0 -205
  968. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/quadrature.py +0 -233
  969. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/resume.py +0 -714
  970. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/breakdown.py +0 -521
  971. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/initialization.py +0 -242
  972. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/materials.py +0 -1769
  973. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/module_cache.py +0 -31
  974. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/spectral.py +0 -652
  975. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/stepping.py +0 -2416
  976. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/solver.py +0 -543
  977. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/wire.py +0 -1371
  978. witwin_maxwell-0.4.0/witwin/maxwell/fdtd/wire_lossy.py +0 -627
  979. witwin_maxwell-0.4.0/witwin/maxwell/geometry/__init__.py +0 -5
  980. witwin_maxwell-0.4.0/witwin/maxwell/lumped.py +0 -534
  981. witwin_maxwell-0.4.0/witwin/maxwell/media.py +0 -2395
  982. witwin_maxwell-0.4.0/witwin/maxwell/monitors.py +0 -1097
  983. witwin_maxwell-0.4.0/witwin/maxwell/network.py +0 -1613
  984. witwin_maxwell-0.4.0/witwin/maxwell/network_math.py +0 -339
  985. witwin_maxwell-0.4.0/witwin/maxwell/ports.py +0 -932
  986. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/RCS.py +0 -140
  987. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/__init__.py +0 -51
  988. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/antenna.py +0 -712
  989. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/diffraction.py +0 -217
  990. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/modal.py +0 -330
  991. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/nfft.py +0 -265
  992. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/scattering_parameters.py +0 -370
  993. witwin_maxwell-0.4.0/witwin/maxwell/postprocess/stratton_chu.py +0 -1269
  994. witwin_maxwell-0.4.0/witwin/maxwell/power_loss.py +0 -451
  995. witwin_maxwell-0.4.0/witwin/maxwell/result.py +0 -2236
  996. witwin_maxwell-0.4.0/witwin/maxwell/scene.py +0 -1688
  997. witwin_maxwell-0.4.0/witwin/maxwell/simulation.py +0 -1956
  998. witwin_maxwell-0.4.0/witwin/maxwell/sources.py +0 -913
  999. witwin_maxwell-0.4.0/witwin/maxwell/waveforms.py +0 -107
  1000. witwin_maxwell-0.4.0/witwin/maxwell/waveport_sweep.py +0 -937
  1001. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/LICENSE +0 -0
  1002. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/hatch_build.py +0 -0
  1003. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/adapters/gds.py +0 -0
  1004. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/antenna.py +0 -0
  1005. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/array.py +0 -0
  1006. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/array_gradient.py +0 -0
  1007. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/breakdown.py +0 -0
  1008. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/breakdown_risk.py +0 -0
  1009. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/circuit_devices.py +0 -0
  1010. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/circuits.py +0 -0
  1011. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/__init__.py +0 -0
  1012. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/array.py +0 -0
  1013. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/breakdown.py +0 -0
  1014. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/circuits.py +0 -0
  1015. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/gyromagnetic.py +0 -0
  1016. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/mass_density.py +0 -0
  1017. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/mna.py +0 -0
  1018. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/surface_impedance.py +0 -0
  1019. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/constants.py +0 -0
  1020. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/__init__.py +0 -0
  1021. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/api.py +0 -0
  1022. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/capacitance.py +0 -0
  1023. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/initial_condition.py +0 -0
  1024. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/runtime.py +0 -0
  1025. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/__init__.py +0 -0
  1026. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/ensemble.py +0 -0
  1027. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/executor.py +0 -0
  1028. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/__init__.py +0 -0
  1029. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/adjoint/__init__.py +0 -0
  1030. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/plotting.py +0 -0
  1031. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/__init__.py +0 -0
  1032. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/adjoint/__init__.py +0 -0
  1033. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/adjoint/reverse_common.py +0 -0
  1034. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/boundary/__init__.py +0 -0
  1035. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/boundary/bloch.py +0 -0
  1036. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/coords.py +0 -0
  1037. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/__init__.py +0 -0
  1038. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/boundary.cu +0 -0
  1039. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/projection.cu +0 -0
  1040. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/wire.cu +0 -0
  1041. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/launch.h +0 -0
  1042. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/runtime/__init__.py +0 -0
  1043. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/runtime/dispatcher.py +0 -0
  1044. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/tensors.h +0 -0
  1045. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/delay.py +0 -0
  1046. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/dispersion.py +0 -0
  1047. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/__init__.py +0 -0
  1048. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/_shared.py +0 -0
  1049. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/capacity.py +0 -0
  1050. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/counts.py +0 -0
  1051. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/frequency_counts.py +0 -0
  1052. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/instrumentation.py +0 -0
  1053. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/interpolation.py +0 -0
  1054. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/nccl_transport.py +0 -0
  1055. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/output.py +0 -0
  1056. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/persistence.py +0 -0
  1057. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/source_corrections.py +0 -0
  1058. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/transport.py +0 -0
  1059. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/wire.py +0 -0
  1060. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/evaluation.py +0 -0
  1061. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/excitation/__init__.py +0 -0
  1062. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/excitation/tfsf_specs.py +0 -0
  1063. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/ferrite_reference.py +0 -0
  1064. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/io.py +0 -0
  1065. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/meshing/__init__.py +0 -0
  1066. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/plotting.py +0 -0
  1067. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/runtime/__init__.py +0 -0
  1068. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/runtime/gyromagnetic.py +0 -0
  1069. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/surface_impedance_reference.py +0 -0
  1070. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/thin_wire_reference.py +0 -0
  1071. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd_parallel.py +0 -0
  1072. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/geometry/polyslab.py +0 -0
  1073. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/materials.py +0 -0
  1074. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/network_sweep.py +0 -0
  1075. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/array.py +0 -0
  1076. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/directivity.py +0 -0
  1077. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/emission.py +0 -0
  1078. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/incident_power.py +0 -0
  1079. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/power_loss.py +0 -0
  1080. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar.py +0 -0
  1081. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar_averaging.py +0 -0
  1082. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar_combine.py +0 -0
  1083. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/waveports.py +0 -0
  1084. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/rational.py +0 -0
  1085. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/sar.py +0 -0
  1086. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/thin_wire.py +0 -0
  1087. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/touchstone.py +0 -0
  1088. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/visualization/__init__.py +0 -0
  1089. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/visualization/interactive.py +0 -0
  1090. {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/visualization/plots.py +0 -0
@@ -0,0 +1,262 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[codz]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ *.lock
10
+ # Distribution / packaging
11
+ .Python
12
+ build/
13
+ .build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ share/python-wheels/
26
+ *.egg-info/
27
+ .installed.cfg
28
+ *.egg
29
+ MANIFEST
30
+
31
+ *.h5
32
+ *.hdf5
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ validation_cache/
40
+
41
+ # Installer logs
42
+ pip-log.txt
43
+ pip-delete-this-directory.txt
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py.cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+ .pytest_tmp/
59
+ cover/
60
+
61
+ # Translations
62
+ *.mo
63
+ *.pot
64
+
65
+ # Django stuff:
66
+ *.log
67
+ local_settings.py
68
+ db.sqlite3
69
+ db.sqlite3-journal
70
+
71
+ # Flask stuff:
72
+ instance/
73
+ .webassets-cache
74
+
75
+ # Scrapy stuff:
76
+ .scrapy
77
+
78
+ # Sphinx documentation
79
+ docs/_build/
80
+
81
+ # PyBuilder
82
+ .pybuilder/
83
+ target/
84
+
85
+ # Jupyter Notebook
86
+ .ipynb_checkpoints
87
+
88
+ # IPython
89
+ profile_default/
90
+ ipython_config.py
91
+
92
+ # pyenv
93
+ # For a library or package, you might want to ignore these files since the code is
94
+ # intended to run in multiple environments; otherwise, check them in:
95
+ # .python-version
96
+
97
+ # pipenv
98
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
99
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
100
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
101
+ # install all needed dependencies.
102
+ # Pipfile.lock
103
+
104
+ # UV
105
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
106
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
107
+ # commonly ignored for libraries.
108
+ # uv.lock
109
+
110
+ # poetry
111
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
112
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
113
+ # commonly ignored for libraries.
114
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
115
+ # poetry.lock
116
+ # poetry.toml
117
+
118
+ # pdm
119
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
120
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
121
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
122
+ # pdm.lock
123
+ # pdm.toml
124
+ .pdm-python
125
+ .pdm-build/
126
+
127
+ # pixi
128
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
129
+ # pixi.lock
130
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
131
+ # in the .venv directory. It is recommended not to include this directory in version control.
132
+ .pixi
133
+
134
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
135
+ __pypackages__/
136
+
137
+ # Celery stuff
138
+ celerybeat-schedule
139
+ celerybeat.pid
140
+
141
+ # Redis
142
+ *.rdb
143
+ *.aof
144
+ *.pid
145
+
146
+ # RabbitMQ
147
+ mnesia/
148
+ rabbitmq/
149
+ rabbitmq-data/
150
+
151
+ # ActiveMQ
152
+ activemq-data/
153
+
154
+ # SageMath parsed files
155
+ *.sage.py
156
+
157
+ # Environments
158
+ .env
159
+ .envrc
160
+ .venv
161
+ env/
162
+ venv/
163
+ ENV/
164
+ env.bak/
165
+ venv.bak/
166
+
167
+ # Spyder project settings
168
+ .spyderproject
169
+ .spyproject
170
+
171
+ # Rope project settings
172
+ .ropeproject
173
+
174
+ # mkdocs documentation
175
+ /site
176
+ witwin/maxwell/fdtd/cuda/prebuilt/*.pyd
177
+ witwin/maxwell/fdtd/cuda/prebuilt/*.so
178
+ *.png
179
+ *.npy
180
+ *.npz
181
+
182
+ settings.local.json
183
+ .claude/
184
+
185
+ # mypy
186
+ .mypy_cache/
187
+ .dmypy.json
188
+ dmypy.json
189
+
190
+ # Pyre type checker
191
+ .pyre/
192
+
193
+ # pytype static type analyzer
194
+ .pytype/
195
+
196
+ # Cython debug symbols
197
+ cython_debug/
198
+
199
+ # PyCharm
200
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
201
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
202
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
203
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
204
+ # .idea/
205
+
206
+ # Abstra
207
+ # Abstra is an AI-powered process automation framework.
208
+ # Ignore directories containing user credentials, local state, and settings.
209
+ # Learn more at https://abstra.io/docs
210
+ .abstra/
211
+
212
+ # Visual Studio Code
213
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
214
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
215
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
216
+ # you could uncomment the following to ignore the entire vscode folder
217
+ # .vscode/
218
+
219
+ # Ruff stuff:
220
+ .ruff_cache/
221
+
222
+ # PyPI configuration file
223
+ .pypirc
224
+
225
+ # Marimo
226
+ marimo/_static/
227
+ marimo/_lsp/
228
+ __marimo__/
229
+
230
+ # Streamlit
231
+ .streamlit/secrets.toml
232
+
233
+ # Repository-local development content and build artifacts
234
+ .build/
235
+ .bench_tmp/
236
+ docs/
237
+ assets/
238
+ benchmark/
239
+
240
+ # Repository-local agent and test scratch directories
241
+ .codex_tmp/
242
+ .codex-tmp/
243
+ .test-tmp/
244
+ .tmp/
245
+ # Experiment outputs are enormous (90+ GB of generated datasets) and stay local. The generator
246
+ # *source* is not an output: it defines the dataset contract that downstream consumers depend on,
247
+ # so it is tracked explicitly. Add a file here rather than relaxing the rule -- `experiments/*`
248
+ # keeps every other directory excluded while still letting git descend far enough for these
249
+ # negations to apply.
250
+ experiments/*
251
+ !experiments/fdtd_data_generator/
252
+ experiments/fdtd_data_generator/*
253
+ !experiments/fdtd_data_generator/generate.py
254
+ !experiments/fdtd_data_generator/README.md
255
+ !experiments/fdtd_data_generator/REPORT.md
256
+ !experiments/emfc_validation/
257
+ experiments/emfc_validation/*
258
+ !experiments/emfc_validation/validate.py
259
+ !experiments/emfc_validation/diagnose.py
260
+ .worktrees/
261
+ # Default local evidence root of development scripts (see WITWIN_EVIDENCE_ROOT)
262
+ /evidence/
@@ -0,0 +1,277 @@
1
+ # Changelog
2
+
3
+ All notable user-visible changes to WiTwin Maxwell are documented here. The project follows semantic versioning within the `0.x` development series.
4
+
5
+ ## [0.6.0] - 2026-11-08
6
+
7
+ Full details, evidence and migration notes are in the [0.6.0 release notes](docs/reference/release-notes-0.6.0.md).
8
+
9
+ ### Breaking changes
10
+
11
+ - **The surface-integral solver is renamed from SIE to MoM.** The old names are removed; there are no deprecated aliases.
12
+
13
+ | 0.5.1 | 0.6.0 |
14
+ |---|---|
15
+ | `Simulation.sie(...)` | `Simulation.mom(...)` |
16
+ | `SimulationMethod.SIE` (value `"sie"`) | `SimulationMethod.MOM` (value `"mom"`) |
17
+ | `SIEConfig` | `MoMConfig` |
18
+ | `SIEPeriodicConfig` | `MoMPeriodicConfig` |
19
+ | `SIEDyadicPeriodicConfig` | `MoMDyadicPeriodicConfig` |
20
+ | `witwin.maxwell.sie.*` (including `SIERuntime`) | `witwin.maxwell.mom.*` (`MoMRuntime`) |
21
+ | `Result.method == "sie"` | `Result.method == "mom"` |
22
+ | native op namespace `witwin_maxwell_sie_layered` | `witwin_maxwell_mom_layered` |
23
+ | `WITWIN_MAXWELL_SIE_LAYERED_BUILD_DIR` | `WITWIN_MAXWELL_MOM_LAYERED_BUILD_DIR` |
24
+ | periodic payload ids `sie_bravais_ewald_config_v1`, `sie_bravais_dyadic_config_v1` | `mom_bravais_ewald_config_v1`, `mom_bravais_dyadic_config_v1`; periodic results saved under the old ids do not restore |
25
+
26
+ - Result snapshots and metadata written with the old method name, layered ABI tag or other renamed schema strings are not restored. The surface-integral formulation identifiers (`pmchwt_scalar_sie`, `anisotropic_dgf_sie`, `coupled_sie_vie_*`) are unchanged.
27
+ - Downstream consumers importing `witwin.maxwell.sie` must move to `witwin.maxwell.mom`.
28
+
29
+ ### Changed (defaults and behavior; recompute affected cached results)
30
+
31
+ - **FDTD execution defaults to `fdtd_core_path="auto"` and `accelerated_setup="auto"`.** In 0.5.1 both were off.
32
+ - Eligible single-GPU float32 forward scenes now run on the fused CUDA core path, with CUDA material and coefficient setup.
33
+ - Scenes with an admission blocker keep the existing stepping. So do resume, non-initializing preparation and material-cache runs. The first automatic fallback in a `Simulation` warns once with the public `FDTDCoreFallbackWarning`.
34
+ - If core activation or graph capture fails under `"auto"`, the run is rebuilt on the existing path.
35
+ - `Result.stats` and `Result.metadata` report `execution_path` (`"core"` or `"existing"`) and `fallback_reason`.
36
+ - Explicit `True` stays fail-closed: it raises for an ineligible scene. Explicit `False` keeps the existing path and does not warn.
37
+ - PMC boundaries keep the existing path, including PMC symmetry planes. So does closed-transverse CPML, which runs under the passivity guard.
38
+ - On the 121-scene release census, every FDTD scene's monitors are bitwise equal to the run with both controls `False`.
39
+ - Validated on A6000 (sm_86) only. Other architectures may differ at rounding level.
40
+ - Migration: pass `fdtd_core_path=False, accelerated_setup=False` to reproduce the 0.5.1 execution path. Use the `warnings` filters to silence or escalate `FDTDCoreFallbackWarning`. Code that inspects `prepared.solver` internals should check `execution_path` first.
41
+ - Default material sampling is `SubpixelSpec(samples=4, averaging="kottke_edge", pec="staircase")` (was one arithmetic sample). Trainable geometry requires `averaging="kottke_smooth"` (experimental) or `"polarized"`; trainable `MaterialRegion` densities require `samples=1, averaging="arithmetic"`; both fail closed otherwise. Pass `SubpixelSpec(samples=1, averaging="arithmetic", pec="staircase")` to recover 0.5.1 sampling.
42
+ - Structures that reach a PML interface and are prismatic there are continued through the PML along the face normal at preparation (FDTD and FDFD). The public `Scene` is not modified, and the extrusions are recorded as `pml_extrusions` in the prepared metadata and solver statistics. Mesh volumes, non-prismatic contacts and surface-impedance conductors (`LossyMetalMedium`, `SurfaceImpedanceMedium`, `CopperFoil`) are not extruded and warn; zero-volume sheets are only recorded. Results move only for scenes with such contacts. In the benchmark suite, 10 rows moved and none got worse; for example, `dielectric_slab` field L2 against the reference fell from 0.569 to 0.041. All other scenes are bitwise unchanged. Nonlinear structures flush with the PML now behave as infinite structures: for example, a Kerr slab's nonlinear phase shift went from 2.63e-3, an edge artefact, to 8.56e-4, which matches the infinite-slab prediction. A PEC structure and a surface-impedance conductor declared on the same face still fail closed.
43
+ - FDTD phasors use physical Yee time labels: post-step E at (n+1)Δt and H at (n+1/2)Δt.
44
+ - Compared with 0.5.1, raw field and port phasors rotate by exp(iωΔt). Source-normalised additive-current and direct-drive phasors rotate by exp(iωΔt/2), and uncompensated magnetic, sheet and analytic-pulse phasors by exp(iωΔt). Auxiliary-line and CW references are unchanged to rounding.
45
+ - Same-frequency S/Z/Γ, flux, matched field/port powers and directivity are unchanged.
46
+ - Field-time monitor `t` advances by one Δt; the values are unchanged.
47
+ - Resume checkpoints use format 6. Checkpoints with the earlier spectral convention need a fresh run.
48
+ - Additive electric currents (`PointDipole`, `UniformCurrentSource`, electric `CustomCurrentSource`) are injected at (n+1/2)Δt and normalised at their own injection instant. Raw port V/I and Z/Γ are unchanged; source-normalised spectra carry the half-step phase. Checkpoints with additive electric currents written before this change are refused on resume.
49
+ - Raw (non-source-normalised) pulsed absolute spectra are scaled per reference period instead of averaged over the record length, including single-frequency runs; with `reference_frequency=None` the period is taken per output frequency, so multi-frequency raw outputs also move off the centre frequency. Source-normalised results and all ratios (S, Z, Γ, power closure) are unchanged. Migration: absolute pulsed powers from 0.5.x differ by (f·T_record)²-type factors; compare ratios or recompute. Pass an explicit `reference_frequency` for the fixed-period convention. Absolute spectral reads that mix ongoing and transient drives without source normalisation are refused.
50
+ - Explicit `full_field_dft=False` is honoured for multi-frequency runs; volume-field reads and automatic electric power-loss channels then raise.
51
+ - Pulsed TFSF incident waves are referenced at the physical upstream entry plane, so absolute incident phase no longer depends on absorbing-layer padding. Older pulsed-TFSF checkpoints are refused on resume.
52
+ - Raw TFSF incident timing is exact on the Yee clock: auxiliary-line entry E uses the waveform at (n+1)Δt and analytic/discrete CW faces keep their physical J/M instants; normalisation references follow each provider. Migration: finite-record source-normalised TFSF values shift by up to ~1e-3 for pulses and ~1e-2 for real CW on short records; recompute affected cached results. TFSF checkpoints written before this change are refused on resume.
53
+ - The pulsed TFSF auxiliary line keeps its whole sampled extent lossless and ends in a 320-cell absorber appended beyond it. Previously its last 20 sampled cells formed a graded ramp, which reflected near-band-edge content and trapped a slowly decaying mode. In-band benchmark results agree with the old termination to 3–4 digits. Checkpoints with an auxiliary TFSF line written before this change are refused on resume.
54
+ - Complex fixed-k Bloch runs use a complex-frequency-shifted CPML by default; `cpml_config={"alpha_max": 0.0}` pins legacy coefficients for short runs. Real-field, k=0 and non-Bloch paths are unchanged.
55
+ - Fixed-k Bloch runs accept pulsed TFSF-slab plane waves (see Added). They still refuse pulsed beams, mode and custom-field sources and soft plane waves; use one CW source per frequency for those. Point and current sources may be pulsed.
56
+ - FDFD: PML now absorbs (frequency-domain form of the FDTD CPML); `PointDipole` uses the FDTD unit control-volume current moment; Yee-edge material components and exp(-iωt) loss sign are aligned with FDTD; FDFD refuses scene monitors it cannot populate and propagates solver failures.
57
+ - Other default-path numerics: high-side magnetic CPML grading at physical half points; CopperFoil free-edge impedance on by default (`edge_model="none"` for the legacy rim) and compressed passive diffusion fits; node-consistent staircase PEC; second-order multi-sample averaging on resolved Yee spacing; full-moment narrow Gaussian dipoles; periodic dipole image folding; watertight closed-surface monitors; `TwoPhotonAbsorption` conductivity factor 2/3; Yee-edge bulk conduction loss.
58
+ - Trainable fixed controls (frequencies, time/grid/sampling controls, monitor geometry, topology) and port probe gaps fully covered by PEC are rejected up front.
59
+ - Native CUDA extension ABI is `stable_abi_v13`; older prebuilt binaries are rejected and rebuilt. `WITWIN_MAXWELL_FDTD_CUDA_PREBUILT=1` now requires a matching ABI marker. The core-path extension (`core_abi_v11`) and the setup extension (`setup_abi_v6`) are compiled on first use.
60
+ - Requires `witwin>=0.4.6,<0.5`. In earlier witwin-core releases, micrometre-scale geometries were over-smoothed by about 3 cells, because the geometry smoothing width was clamped to 1.19e-7 m whatever the cell size. Optimisation results and forward fluxes change materially for µm-scale scenes (bend example: +37.7% initial flux, gradient cosine 0.85). Scenes whose smallest cell is ≥ ~2.4 µm are unchanged bit for bit. Point-like occupancy queries without coordinate spacing must now pass an explicit beta in metres (ValueError otherwise).
61
+ - `Simulation.fdtd(absorber="auto")` is the default.
62
+ - Real-field cells with closed transverse walls (periodic, PEC or PMC) and PML on the normal axis select the graded `absorber`. It needs at least 40 layers on every PML face; thinner layers raise a `ValueError` that names the closed axes, the deficient faces and both remedies.
63
+ - Open scenes and complex fixed-k scenes keep CPML.
64
+ - Explicit `absorber="cpml"` in a closed-transverse real-field cell runs under a fail-closed passivity guard (`FDTDPassivityError`). In a complex fixed-k cell the guard only warns: it emits a `RuntimeWarning` and records the measured slope in `passivity_guard` metadata. Non-finite energy fails closed everywhere.
65
+ - Results record `absorber`, `absorber_resolution_reason` and `passivity_guard`.
66
+ - FP64 native forward resolves `"auto"` the way preparation does. It runs when `"auto"` resolves to CPML, and keeps its CPML-only refusal otherwise.
67
+ - Closed-transverse CPML stays on the existing execution path, where the guard runs.
68
+ - Migration: scenes that relied on the CPML default in such cells have two options. Pass `absorber="cpml"`: the numerics are unchanged and the run is now guarded. Or configure at least 40 layers: the results then come from the graded absorber.
69
+
70
+ ### Fixed
71
+
72
+ - Soft equivalent-sheet plane waves launch +E_inc (absolute fields of soft plane-wave scenes previously had the wrong sign).
73
+ - Soft plane-wave and beam launch currents are no longer written into inactive electric wall rows (transverse none/PML/PEC walls), which removes a linear late-time growth of the corner H field.
74
+ - Conformal thin-sheet rims split faces only for chords inside the outline (removes a 4-7% low resonance bias).
75
+ - Custom J/M sources deposit over the Yee control-cell overlap with the declared dataset volume; custom-field sources deposit on bracketing Yee sheets with fractional aperture.
76
+ - Time modulation uses a device integer step counter with FP64 phase and an effective-medium partial-cell coefficient.
77
+ - Fixed-k Bloch: Floquet TE/TM readout with power-normalised r/t, consistent complex CW conventions with the adjoint, single deposition of periodic TFSF faces, PEC-face clamping of imaginary fields.
78
+ - Finite thin wires are stable through a passive RL impedance; long RF clocks and TEM phases use float64; lumped/terminal magnetic observers use current into the field; same-step polarization current enters direct lumped/network sampling.
79
+ - Forward source injection is run-to-run deterministic for oblique and interpolated TFSF faces, periodic and Bloch wraps, batched lanes and the core-path periodic wrap (shared cells were previously accumulated with float32 atomics, so repeated runs could differ at about 1e-6 relative). No pinned result moved; oblique TFSF scenes step about 4% slower.
80
+ - Adjoint gradients are run-to-run deterministic for TFSF auxiliary samples, collocated-monitor objectives and coincident point seeds (fixed-order gathers replace float atomics). Density and Box parameter-field material gradients are run-to-run deterministic too: their trilinear sampling uses native kernels whose forward and coordinate gradient are bitwise equal to the previous path, with an ordered texture pullback.
81
+ - Multi-GPU distributed FDTD with periodic or Bloch boundaries: a source term cropped to one GPU's owned x range kept the gather built for the uncropped patch. The injection read past the cropped data, so results depended on leftover device memory, and it routed the remaining planes one cell low. The gathers are now rebuilt after the crop. For example, a uniform current source straddling the seam between GPUs was off by 4.84 and now matches the single-device result. Distributed path only; the single-GPU default path is unaffected.
82
+ - Micrometre-scale `ModeSource`/`ModePort` launches were refused at prepare ("zero integrated Poynting power"): the zero-power check compared watts with machine epsilon. It and other absolute floors on dimensional quantities (modal power fractions, scattering/diffraction/antenna normalisation, network and port impedance normalisation, observers, TFSF power, source-term pruning, DC port-current admission) are now relative to the same-unit reference, so results do not depend on the length unit.
83
+ - Gradients through trainable material on a `ModeSource`/`ModePort` launch plane are now correct. The adjoint previously differentiated a different (scalar) mode than the one launched and lost the 1/ε injection-coefficient derivative, giving gradients wrong by up to ~7.6× (reference guide, central finite differences on each tree: before, adjoint −18334 vs FD −2417; now, adjoint −2418 vs FD −2425). Trainable lossless launch planes now differentiate via a torch dense vector eigen-solve shared by the forward launch and the adjoint replay (operator n ≤ 4096). Lossy or conductive, near-degenerate and above-cap trainable planes refuse with a named `NotImplementedError`.
84
+ - Dispersive interfaces under the `kottke_edge` default: each Yee component edge takes one constituent's complete pole set (binary ownership) for piecewise-constant pole media, including exactly uniform custom pole fields; spatially graded pole media and the gradient subpixel modes keep fractional pole weights; float32-declared box faces snap to grid planes within their declaration rounding. Replaces the fractional-ADE interface error in dispersive scatterers; sphere cross sections converge toward the analytic Mie solution under refinement.
85
+
86
+ ### Added
87
+
88
+ - Broadband fixed-k TFSF: pulsed oblique TFSF-slab plane waves under fixed-k Bloch boundaries. They are driven by a complex 1D Yee incident line with the grid's discrete transverse wavenumber, normal spacing and time step. `Result.metadata["tfsf_incident_reference"]` exports the incident electric spectrum at the lower TFSF plane, so `reflection_transmission(result, ...)` needs no separate incident run. Checkpoint/resume is supported.
89
+ - Prepare-time warnings for TFSF and fixed-k incident lines and for source waveforms. They report the share of a non-CW waveform near the incident line's Yee band edge and its DC content, once per hazard above max(1e-6, ε32·√N). Fixed-k lines use their own band edge and drive clock. Waveforms and compiled sources are never altered.
90
+ - Complex fixed-k Bloch lumped loads and ports (R/L/C, series/parallel RLC terminations, checkpoint/resume).
91
+ - Conformal two-sided thin-sheet runtime for tilted and faceted `SurfaceMesh` sheets; experimental conformal-sheet gap feeds.
92
+ - `mw.port_voltage`, `mw.port_phasors`, `Result.port_drive`, `mw.trapezoidal_impedance`; `Result.from_fields`, public `Result.metadata`, `mw.postprocess.plane_payload`, FDFD solver memory limits and `Result.release_solver()`.
93
+ - `Scene.to_dict()` / `Scene.from_dict()` (`witwin.scene/1`).
94
+ - Opt-in `averaging="kottke_smooth"` differentiable subpixel mode (experimental) and FDTD-only `averaging="polarized_tensor"`.
95
+ - Experimental `BendCoordinates`, inverse-design toolkit `witwin.maxwell.invdes`, PCB/printed-line workflows (`CopperFoil`, `PlanarPEC`, `TerminalPort`, PCB scene import, good-conductor and quasi-TEM modes), experimental coaxial/terminal-wave ports and modal port sweeps, Mur/`ModeABC`/`InternalAbsorber`, PMC, dispersion fitting and a material library, opt-in surface roughness, boolean geometry and STL meshes, grid refinement specs, broadband/table source times, projection and time monitors, `FieldProjector`, resonance finder and array-factor tools, FDFD multifrequency/graded grids/GPU local responses.
96
+ - Batch material reuse: density templates reuse a fixed material bank and recompile only changed patches.
97
+ - Surface integral equations (`Simulation.mom(...)`, PMCHWT with dense/hierarchical/FMM/pFFT backends, open-sheet PEC EFIE, preconditioners). Experimental; development is paused.
98
+ - Experimental layered-media MPIE MoM network solver for planar RF/IC passives: `Scene(background=LayerStack(...))` with `PlanarPEC` sheets and `LumpedPort` terminals, `Simulation.mom(scene, frequencies=[...], config=MoMConfig(layered=...))` returns `Result.network`. It includes vias and vertical ports, thin-sheet conductor loss, a low-frequency loop-tree solve, GDS import and an adaptive rational sweep. Its inductance and Q-peak accuracy targets are strict expected failures.
99
+
100
+ ### Performance
101
+
102
+ All timings are on an A6000 (sm_86).
103
+
104
+ - **Default core path.** 96 of the 121 release-census scenes take the core path under `"auto"`.
105
+ - On those scenes, whole-call time (prepare and run, cold processes) fell from 670.5 s to 318.9 s (−52.4%). The run-only median speedup is 1.37×.
106
+ - On the FDTD scenes that keep the existing path, whole-call time fell from 296.4 s to 236.6 s through accelerated setup.
107
+ - Fused single-GPU float32 stepping has one magnetic and one electric launch per step and graph capture in 32-step chunks. It covers absorbing, PEC and periodic boundaries, generic sources and monitors, RF ports, lumped elements, wires, networks, CopperFoil, thin sheets, SIBC, and dispersive, nonlinear and modulated media.
108
+ - On slab-CPML and no-PML cubes from 128³ to 384³, step time is within 1.025–1.107× of the Yee memory-traffic floor.
109
+ - Core TFSF auxiliary-line corrections are fused with their auxiliary updates (core ABI v11). On the 256³ TFSF row this cuts launches from 42 to 8 per step. Step time falls by 39.8% at 64³, 11.5% at 128³ and 1.9% at 256³.
110
+ - Further core-path cuts:
111
+ - Redundant PEC clamp launches are omitted: −7.2% at 128³ and −4.2% at 256³ on PEC rows.
112
+ - Observer gathers use one launch per batch of up to 16 groups.
113
+ - The Yee block order is L2-aware: the 384³ slab row went from 1.148× to 1.085× of the byte floor.
114
+ - Each auxiliary TFSF step is evaluated once during setup.
115
+ - Point-monitor setup and readout are batched, and run with cyclic garbage collection paused. On a 16,384-point sample, warm end-to-end core-path time fell from 2.95 s to 1.55 s, then by a further 25–28% with the pause.
116
+ - Accelerated setup admits float64 primitive declarations (Box, Sphere, Cylinder, Pyramid, PolySlab and boolean trees).
117
+ - Fused CopperFoil and conformal thin-sheet CUDA kernels on by default (validated against the torch reference within declared tolerances; the torch path remains the reference and adjoint path); cached, vectorised thin-wire compilation; graph-captured grouped spectral monitors.
118
+
119
+ ### Validation
120
+
121
+ - Final integration batch on the release candidate `b6d9e1aa`: all 1291 of 1291 units, 0 infrastructure failures, 33.9 GPU-hours on A6000.
122
+ - 1146 units pass and 74 are incomplete by design.
123
+ - 0 failures are new and unexplained. 19 cases are fixed after the candidate head (one was a default-path wrong result: the surface ownership guard). 111 are pre-existing at the base and 36 are environment or harness cases.
124
+ - Bit identity is T0, and the determinism gates pass: source patch 7 of 7, adjoint 19 of 19, nonlinear 4 of 4.
125
+ - Details are in the release notes.
126
+ - Two-device tier, both RTX A6000s:
127
+ - The full multi_gpu suite gave 401 passed and 1 failed on the release candidate. The failure was an order-dependent distributed periodic-source parity case, the distributed source-crop bug fixed above.
128
+ - With the fix, the full suite passes 405 of 405 (402 existing tests plus 3 new regression tests). The failing case also passes in the suite order that used to trigger it.
129
+ - Bit-identity pin files are unchanged (33 of 33 in each of 8 files).
130
+ - Determinism gates pass.
131
+ - The layered RFIC MoM solver merged after the batch. It was validated by its own gates, not by the integration batch.
132
+
133
+ ### Deprecated / planned
134
+
135
+ - 0.6.0 is intended to be the last release that keeps the slower runtime paths as execution options. In 0.6.0, the existing stepping path is the fallback for `"auto"` and the path for explicit `False`.
136
+ - After 0.6.0, the CUDA core path and accelerated setup are intended to become the only execution path.
137
+ - The CPU backend and the torch reference kernels are intended to remain only as test oracles.
138
+ - Torch autograd paths remain until CUDA gradients are qualified.
139
+
140
+ ### Limitations
141
+
142
+ Known defects are documented with magnitude, scope and workaround in the release notes; they do not block the release.
143
+
144
+ - The automatic core default and its performance figures are validated on A6000 (sm_86) only. The L2-based Yee block-order threshold is calibrated only there. Pass `fdtd_core_path=False` on other architectures if you need the existing path.
145
+ - Second-order nonlinear (chi2) media run on the core path under `"auto"` and pass their physics tests there (second-harmonic scaling and phase matching), but have no core-vs-existing equality check. Dispersive (electric and magnetic), Kerr, two-photon absorption, time modulation, their compositions and deterministic breakdown are bitwise equal to the existing path. Pass `fdtd_core_path=False` for chi2 scenes that need the qualified existing path.
146
+ - Without a CUDA toolkit (a pip install with no `nvcc`/`CUDA_HOME`), `"auto"` runs complete on the existing path with one `FDTDCoreFallbackWarning`. The first warning names the missing toolkit. Later `Simulation`s in the same process, and the recorded `fallback_reason`, instead report a missing setup-extension shared object. This is cosmetic and is fixed in 0.6.1.
147
+ - The core path does not run these, which keep the existing path under `"auto"`:
148
+ - Bloch or complex fields;
149
+ - PMC (including symmetry planes), Mur and mode-ABC boundaries;
150
+ - closed-transverse CPML;
151
+ - gyromagnetic media, full anisotropy, magnetic permeability or magnetic conductivity;
152
+ - coordinate charts;
153
+ - gradient-requiring scenes;
154
+ - batch lanes, multi-GPU and non-float32 fields.
155
+ - Thin-wire port Z_in/S11 does not converge under refinement (Richardson ratio median 0.75); do not use it for quantitative results. Fix targeted for 0.6.1.
156
+ - Curved or tilted thin copper: finite-edge response low by about 4–7% (no qualified workaround; validate against a refined grid); driven conformal-sheet antennas on tilted/curved sheets follow the rim staircase (about 2% at λ/40).
157
+ - Oblique TE under fixed k: 35° transmission within 4.43% against a 3% gate with the default CFS-CPML profile; no qualified workaround (a smaller α is not passive at steep angles).
158
+ - Under fixed k, beams, mode and custom-field sources and soft plane waves are CW only. The pulsed `bloch_oblique` benchmark rows stay quarantined in this release's validation suite.
159
+ - Fixed-k TFSF reports incident phase relative to its incident-line reference; absolute phase is planned for 0.6.1.
160
+ - MoM: hierarchical and FMM configurations with `stopping.rtol` above 0.1 × `solve_dual_tolerance` raise `ValueError` (unchanged from the previous release base); set `stopping.rtol` at or below that bound.
161
+ - MoM FMM and dense-reference solves are not yet bitwise run-to-run reproducible (repeated runs differ by up to about 1e-14 relative in dense-reference currents and about 1e-10 relative in FMM currents); a tolerance-sensitive test can fail intermittently.
162
+ - Benchmark rows with a reference-convention difference also fail against the external reference: nine sign or absolute-phase rows (field L2 near 2, shape L2 ≤ 0.15), three source-gauge rows, custom_grid_slab (L2 0.120 against 0.1) and ricker_axis_x_anisotropic (reference waveform export). See the release notes.
163
+ - Ten benchmark scenarios keep an unresolved residual against the external reference solver and are reported on every run, including custom_field_source, modulated_slab(_phase) and mode_port_straight_wg (see release notes).
164
+ - Real-field periodic or closed-transverse cells can show late-time CPML growth; `absorber="auto"` therefore selects the graded absorber there (at least 40 layers), and explicit `absorber="cpml"` in these topologies runs under the passivity guard.
165
+ - The CPML passivity guard does not detect growth slower than 4e-7 per step (about 1.5× energy over 1e6 steps). Complex fixed-k (oblique Bloch) CPML can grow both inside and well above that band. Measured at 160 cells per wavelength, f0 = 1 GHz, k0 = 2π f0 / c:
166
+ - Below the band: 2.1e-7 per step (about 1.23× per 1e6 steps) in a point-dipole εr = 4 slab cell.
167
+ - Near the band: 3.5e-7 to 5.0e-7 per step in εr = 4 TM CW records at 1.1 f0 and at 20° incidence. 7.0e-7 to 7.5e-7 per step in the vacuum TM CW arm at k_par = 0.25 k0, 0.9 f0.
168
+ - Slab-guided mode: 8.2e-7 per step late in a CW record of an εr = 4 TM slab at k_par = 0.25 k0, 0.9 f0. Here a slab-guided TM mode below the light line grows in the CPML.
169
+ - About 10× larger, in vacuum TM records:
170
+ - 7.7e-6 per step in the CW arm at k_par = 0.55 k0, 0.9 f0, late in a 136,854-step record.
171
+ - 8.2e-6 per step in a CW record at 20° incidence, 0.9 f0, run with 600 transient cycles. The same case with 300 cycles fits 5.0e-7 per step, so the rate rises late in long CW records.
172
+ - 7.7e-6 ± 1.9e-6 per step in an early window of a 320,000-step pulsed record at k_par = 0.55 k0.
173
+ - The reported acceptance results are unaffected at their existing bounds: pulse/CW parity ≤ 2.5e-4, CW r/t continuity ≤ 1.2e-4, cutoff κ ≤ 8.6e-4.
174
+ - Long fixed-k runs, especially TM runs at larger k_par, should check their energy. Prefer CW per frequency with the default transient, or short pulsed records.
175
+ - For complex fixed-k cells the guard warns once, records the measured slope, standard error and window in `passivity_guard_warning`, and lets the run finish. It is fail-closed only for real-field closed-transverse cells; non-finite energy fails closed everywhere.
176
+ - The passivity guard does not run on closed-transverse CPML scenes that contain CopperFoil or thin sheets.
177
+ - These scenes report `passivity_guard = "skipped: energy storage not counted (CopperFoil, thin sheets)"` and warn.
178
+ - Sampling their counted energy every 32 steps costs 39–133% of a step, and sparser sampling false-trips.
179
+ - Counting is planned for 0.6.1. See `docs/reference/fdtd-cpml.md`.
180
+ - Scenes with dispersive (ADE) or gyromagnetic media, lumped networks, SIBC, thin wires or coaxial elements are also skipped with a `RuntimeWarning`.
181
+ - Conformal PEC (`pec="conformal"`) keeps a curved-body bias and warns at construction; `kottke_edge` is not geometry-differentiable.
182
+ - Resolved volumetric conductors at 2–4 cells per skin depth under the default `kottke_edge` material policy show ±4–8% non-monotone tier sensitivity in absorbed power; use SIBC (`LossyMetalMedium`) for good conductors.
183
+
184
+ ## [0.5.1] - 2026-09-08
185
+
186
+ ### Added
187
+
188
+ - Experimental `Simulation.batch(...)` execution with reusable capacity-limited CUDA slots, batched field/CPML/source/observer updates, and ordinary owned `Result` objects.
189
+ - Local material compilation reuse, automatic resident capacity, private per-device CUDA allocation budgets, multi-GPU and dual-slot scheduling, and opt-in measured throughput tuning.
190
+ - PyTorch-native Batch checkpoint adjoints for supported density, dielectric geometry, and named source-scale inputs, including delayed backward after slot reuse or close.
191
+ - Reproducible Batch performance, memory, material-compilation, and device-scaling audits with numerical controls and process-contention records.
192
+
193
+ ### Fixed
194
+
195
+ - Material-aware time-step stability, source timing, complex CPML and Mur boundary histories, and capture/resume state consistency in FDTD.
196
+ - Batch parameter cache identity, iterator ownership, result scene snapshots, selected electric spectra, and redundant spectral allocations in retained adjoint state.
197
+ - Automatic worker capacity distribution and isolation of tuning RNG, module state, and cross-device tensor copies.
198
+ - Corrected the base dependency range to `witwin>=0.4,<0.5`, matching the published `PhysicalMaterial` contract instead of an unavailable version range.
199
+ - Preserved local compilation reuse when declared design replacements acquire new base-package structure/material identity tokens.
200
+ - Declared plotting/progress/notebook display import dependencies and extended release checks to installed-package imports and native Batch allocator exports.
201
+
202
+ ### Limitations
203
+
204
+ - Batch remains experimental with a narrower capability set than ordinary FDTD. Fused batch reverse kernels, exact preplanning of all retained outputs, and exclusive multi-GPU throughput acceptance remain pending.
205
+ - See [0.5.1 release notes](docs/reference/release-notes-0.5.1.md) for validation evidence and the supported execution contract.
206
+
207
+ ## [0.5.0] - Unpublished
208
+
209
+ - The version tag built CUDA wheels but failed the installed-package import gate because `IPython` was undeclared. No distributions were uploaded to PyPI.
210
+
211
+ ## [0.4.0] - 2026-07-23
212
+
213
+ ### Added
214
+
215
+ - RF port, network, antenna, phased-array, thin-wire, electrostatic, capacitance, SAR, exposure, ESD, dielectric-breakdown, gyromagnetic, and generalized surface-impedance workflows.
216
+ - Distributed forward and adjoint execution, including CPML-trainable reverse paths and deterministic multi-device scene-gradient aggregation.
217
+
218
+ ### Changed
219
+
220
+ - Moved material sampling to native Yee-component locations, improving the geometry validation cluster while changing geometry-resolved numerical baselines.
221
+ - Published one PyTorch Stable ABI CUDA binary per platform for PyTorch 2.10 and newer, load-tested through PyTorch 2.13 and CPython 3.10-3.14.
222
+ - Built Linux wheels against `manylinux_2_28`; Linux and Windows CUDA fat binaries include native SM87 SASS.
223
+ - Made version tags drive the gated package publication and release-artifact workflow.
224
+
225
+ ### Fixed
226
+
227
+ - Closed release-blocking CUDA graph, distributed checkpoint, conformal PEC, observer staggering, near-to-far quadrature, modal selection, and surface-impedance correctness gaps.
228
+
229
+ Complete capability boundaries, validation evidence, behavior changes, and known limitations are documented in the [0.4.0 release notes](docs/reference/release-notes-0.4.0.md).
230
+
231
+ ## [0.3.0] - 2026-07-13
232
+
233
+ ### Added
234
+
235
+ - Native CUDA FDTD adjoint reverse paths for standard and CPML fields, complex Bloch fields, full electric anisotropy, electric conductivity and dispersion, Kerr nonlinearity, TFSF sources, and multi-source workflows.
236
+ - Broadband and arbitrary-normal-axis grating `TFSF.slab(...)`, including pulsed Bloch injection and mixed Bloch/CPML axis permutations.
237
+ - `Medium2D`, `Graphene`, `LossyMetalMedium`, `PerturbationMedium`, custom spatial dispersion, Sellmeier and gain media, nonlinear susceptibility, two-photon absorption, space-time modulation, magnetic conductivity/dispersion, and full `Tensor3x3` electric anisotropy.
238
+ - Composition of supported anisotropic, conductive, dispersive, nonlinear, modulated, and CPML material effects in the same compiled FDTD scene.
239
+ - Broadband, lossy, diagonal-anisotropic, and bent-waveguide mode-source/port workflows.
240
+ - Background-aware and curved-surface equivalent-current near-to-far propagation, directivity, bistatic RCS, and expanded S-parameter/modal-overlap processing.
241
+ - Tidy3D export for nonuniform grids, mixed boundaries, expanded geometry, material, source, and monitor families.
242
+ - CUDA graph capture coverage for standard, Bloch, dispersive, nonlinear, and TFSF stepping paths.
243
+ - Native CUDA SIBC updates, full-anisotropic conductive-current capture, and a device-resident modulation clock, all compatible with CUDA Graph replay.
244
+ - Python 3.10-3.14 and PyTorch 2.10-2.12 validation for the packaged LibTorch Stable ABI CUDA extension.
245
+
246
+ ### Changed
247
+
248
+ - Consolidated the public architecture around the declarative `Scene -> Simulation -> Result` workflow. FDTD is the primary full-featured runtime; FDFD uses the same public model but remains a limited/experimental CUDA-only single-frequency path.
249
+ - Moved FDTD adjoint hot paths from Python/Torch replay to native CUDA kernels while keeping PyTorch autograd as the public differentiation interface.
250
+ - Generalized automatic/custom nonuniform grids, subpixel averaging, conformal PEC placement, and source phase correction to use local physical grid spacing.
251
+ - Standardized physical-domain handling so PML cells are appended outside `Domain.bounds`; material/source/monitor validation and cross-solver comparisons use the unchanged physical bounds.
252
+ - Adopted the WiTwin dual-license model and release wheels with CUDA 12.8 fat binaries for Linux and Windows.
253
+
254
+ ### Fixed
255
+
256
+ - Aligned Maxwell and Tidy3D plane-wave and TFSF amplitudes using their physical power/field definitions instead of fitted dimensionless factors.
257
+ - Converted explicit Bloch vectors from Maxwell radians/metre to Tidy3D's dimensionless `k * period / (2*pi)` convention.
258
+ - Preserved requested field-monitor components during Tidy3D export and validation-cache loading, preventing undeclared near-zero components from being selected as scalar observables.
259
+ - Corrected external-PML SIBC half-space detection and low-side Yee surface-node placement for `LossyMetalMedium`.
260
+ - Corrected Gaussian-pulse phase/reference handling, CW export ramp bandwidth, source-spectrum normalization, flux-aperture integration, and coordinate-aligned complex-field comparison.
261
+ - Replaced invalid validation scenarios with physically supported TFSF, diffraction-monitor, cavity-probe, and closed-surface near-to-far workflows.
262
+ - Added visual slice/phase diagnostics and solver-independent scalar comparisons for resonances, diffraction orders, directivity/beamwidth, RCS, and S-parameters.
263
+ - Corrected symmetry-face PML removal, high-face grid anchoring, and Yee-control-volume point-dipole image scaling.
264
+ - Corrected singleton custom-current datasets on staggered Yee components so magnetic current samples compile to the nearest component location.
265
+ - Kept the stable-ABI CUDA extension source portable across MSVC and Linux NVCC by using explicit typed input tables in native anisotropic-current validation.
266
+
267
+ Detailed numerical conventions, pitfalls, final comparison values, and intentionally unresolved operator-level residuals are documented in [the 0.3.0 Tidy3D numerical-alignment notes](docs/validation/tidy3d-numerical-alignment-0.3.0.md).
268
+
269
+ ## [0.2.0] - 2026-07-08
270
+
271
+ - Previous public release.
272
+
273
+ [0.6.0]: https://github.com/witwin-ai/witwin-maxwell/compare/witwin-maxwell-v0.5.1...witwin-maxwell-v0.6.0
274
+ [0.5.1]: https://github.com/witwin-ai/witwin-maxwell/compare/witwin-maxwell-v0.4.0...witwin-maxwell-v0.5.1
275
+ [0.4.0]: https://github.com/witwin-ai/witwin-maxwell/compare/witwin-maxwell-v0.3.0...witwin-maxwell-v0.4.0
276
+ [0.3.0]: https://github.com/witwin-ai/witwin-maxwell/compare/witwin-maxwell-v0.2.0...witwin-maxwell-v0.3.0
277
+ [0.2.0]: https://github.com/witwin-ai/witwin-maxwell/releases/tag/witwin-maxwell-v0.2.0