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.
- witwin_maxwell-0.6.0/.gitignore +262 -0
- witwin_maxwell-0.6.0/CHANGELOG.md +277 -0
- witwin_maxwell-0.6.0/PKG-INFO +192 -0
- witwin_maxwell-0.6.0/README.md +169 -0
- witwin_maxwell-0.6.0/pyproject.toml +56 -0
- witwin_maxwell-0.6.0/witwin/maxwell/__init__.py +634 -0
- witwin_maxwell-0.6.0/witwin/maxwell/_fixed_inputs.py +21 -0
- witwin_maxwell-0.6.0/witwin/maxwell/_gc.py +27 -0
- witwin_maxwell-0.6.0/witwin/maxwell/absorbers.py +163 -0
- witwin_maxwell-0.6.0/witwin/maxwell/adapters/__init__.py +5 -0
- witwin_maxwell-0.6.0/witwin/maxwell/adapters/pcb.py +193 -0
- witwin_maxwell-0.6.0/witwin/maxwell/adapters/tidy3d.py +2712 -0
- witwin_maxwell-0.6.0/witwin/maxwell/adjoint_inputs.py +228 -0
- witwin_maxwell-0.6.0/witwin/maxwell/array_execution.py +67 -0
- witwin_maxwell-0.6.0/witwin/maxwell/breakdown_stress.py +542 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/_scalar_cache.py +74 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/__init__.py +1 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/build.py +30 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/coefficients.py +39 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/conductors.py +55 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/binding.cpp +53 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/bvh.cu +138 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/checks.h +18 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/coefficients.cu +70 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/distance.cuh +91 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/mesh.cu +143 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/poles.cu +206 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/setup.cu +258 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/subpixel.cu +93 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/cuda/tables.cu +88 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/dispatch.py +182 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/geometry.py +146 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/mesh.py +89 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/poles.py +164 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/primitives.py +74 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/setup.py +127 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/subpixel.py +112 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/accel/tables.py +26 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/coaxial.py +204 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/coordinates.py +168 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/copper_foil.py +576 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/curved_copper.py +130 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/cut_surface.py +227 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/delay.py +374 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/electrostatic.py +384 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/fdtd_audit.py +78 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/lumped.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/materials.py +3945 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/monitors.py +322 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/networks.py +318 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/nonlinear_devices.py +916 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/passive_fit.py +49 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/path_integrals.py +347 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/planar_pec.py +247 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/ports.py +509 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/power_loss.py +217 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/sources.py +263 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/structures.py +32 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/subpixel.py +446 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/terminal_waveports.py +205 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/thin_sheet.py +1564 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/thin_wire.py +2174 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/trilinear.py +89 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/waveports.py +442 -0
- witwin_maxwell-0.6.0/witwin/maxwell/compiler/wire_impedance.py +472 -0
- witwin_maxwell-0.6.0/witwin/maxwell/coordinates.py +187 -0
- witwin_maxwell-0.6.0/witwin/maxwell/copper_foil.py +171 -0
- witwin_maxwell-0.6.0/witwin/maxwell/dispersion_fit.py +801 -0
- witwin_maxwell-0.6.0/witwin/maxwell/esd.py +854 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/adjoint.py +154 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/batch.py +336 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/batch_runtime.py +1209 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/capacity.py +171 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/plan.py +267 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/pool.py +262 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/records.py +244 -0
- witwin_maxwell-0.6.0/witwin/maxwell/execution/tuning.py +197 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/adjoint/bridge.py +197 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/ams.py +289 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/krylov.py +309 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/magnetic.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/materials.py +69 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/modes.py +131 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/observations.py +202 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/optimization.py +112 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/pml.py +84 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/postprocess.py +32 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/response.py +615 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/response_cache.py +89 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/solver.py +1175 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/sweep.py +134 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/update_cuda.py +192 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd/update_solve.py +31 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdfd_response.py +144 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/accumulation.py +74 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/bridge.py +1800 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/capabilities.py +32 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/circuits.py +711 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/copper_foil.py +143 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/copper_spectra.py +134 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/core.py +3854 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/dispatch.py +775 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/joint_material.py +89 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/mapped_admission.py +272 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/native.py +2810 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/profiler.py +202 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/adjoint/seeds.py +997 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/abc.py +407 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/common.py +43 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/cpml.py +594 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/mur.py +94 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/boundary/runtime.py +322 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/checkpoint.py +688 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/circuits.py +1241 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/coaxial.py +356 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/copper_foil.py +606 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/copper_foil_ade.py +147 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cpu_profile.py +45 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cpu_reference.py +279 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/backend.py +3820 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/build.py +368 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/binding.cpp +325 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/build.py +41 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/observers.cu +45 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/observers.cuh +31 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/step.cu +259 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/step.cuh +52 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/yee.cu +345 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/core/yee.cuh +31 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/extension.cpp +2397 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/adjoint.cu +4244 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/aniso.cu +1701 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/common.cu +166 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/common.cuh +243 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/copper.cu +307 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/dispersive.cu +785 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/electric.cu +3981 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/magnetic.cu +1140 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/modulation.cuh +9 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/observers.cu +622 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/sources.cu +1274 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/spectral.cu +306 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/thin_sheet.cu +496 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/kernels/trilinear.cu +248 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/runtime/graph.py +186 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cuda/source_gather.cuh +18 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/curved_copper.py +126 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/cut_surface.py +194 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/adjoint.py +1667 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/circuits.py +613 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/copper.py +304 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/monitor_merge.py +470 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/networks.py +638 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/observations.py +91 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/resume.py +194 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/shard_engine.py +488 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/solver.py +1430 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/source_rebuild.py +86 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/distributed/sources.py +81 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/fixed_k.py +161 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/gather.py +78 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/incident_line_spectrum.py +154 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/injection.py +1644 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/__init__.py +1247 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/common.py +680 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/conductors.py +266 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/eigensolvers.py +310 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/tem.py +667 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/vector.py +1218 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/modes/yee.py +1015 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/spatial.py +614 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/temporal.py +655 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_apply.py +262 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_common.py +449 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/excitation/tfsf_state.py +880 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/lumped.py +1037 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/material_pullback.py +505 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/meshing/autogrid.py +580 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/meshing/corners.py +357 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/networks.py +1269 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/observation_resume.py +162 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/observers.py +1869 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/plane_product.py +309 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/ports.py +2663 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/postprocess.py +219 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/quadrature.py +238 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/resume.py +998 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/batch.py +264 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/batch_materials.py +48 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/breakdown.py +533 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/core_path.py +744 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/core_tables.py +279 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/initialization.py +299 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/materials.py +1973 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/module_cache.py +35 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/passivity.py +334 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/precision.py +74 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/representation.py +77 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/spectral.py +665 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/stepping.py +2733 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/timeplan.py +194 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/runtime/timestep.py +187 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/solver.py +544 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/thin_sheet.py +1369 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/time_flux.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/time_traces.py +276 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/wire.py +1399 -0
- witwin_maxwell-0.6.0/witwin/maxwell/fdtd/wire_lossy.py +503 -0
- witwin_maxwell-0.6.0/witwin/maxwell/geometry/__init__.py +7 -0
- witwin_maxwell-0.6.0/witwin/maxwell/geometry/planar_pec.py +125 -0
- witwin_maxwell-0.6.0/witwin/maxwell/geometry/surface_mesh.py +209 -0
- witwin_maxwell-0.6.0/witwin/maxwell/geometry/terminal_support.py +539 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/__init__.py +65 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/constraints.py +107 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/filters.py +262 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/optimize.py +134 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/parameterization.py +108 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/projection.py +202 -0
- witwin_maxwell-0.6.0/witwin/maxwell/invdes/symmetry.py +143 -0
- witwin_maxwell-0.6.0/witwin/maxwell/layers.py +44 -0
- witwin_maxwell-0.6.0/witwin/maxwell/lumped.py +614 -0
- witwin_maxwell-0.6.0/witwin/maxwell/material_cache.py +278 -0
- witwin_maxwell-0.6.0/witwin/maxwell/material_library.py +284 -0
- witwin_maxwell-0.6.0/witwin/maxwell/media.py +2950 -0
- witwin_maxwell-0.6.0/witwin/maxwell/modal_sweep.py +727 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/action_harmonic_balance.py +75 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_fields.py +480 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_lifting.py +203 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/anisotropic_operator.py +330 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/background_bank_snapshot.py +73 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/block_preconditioner.py +180 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/carrier.py +217 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/cluster.py +354 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/complex_static_tensor_green.py +200 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_background.py +171 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_harmonic_snapshot.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/compressed_volume_preparation.py +131 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/conductive_static.py +101 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_field_refinement.py +98 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_original_check.py +138 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_response_snapshot.py +131 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/coupled_volume_action.py +132 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dipole.py +99 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_capacity.py +85 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_config.py +66 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_operator.py +116 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_regional.py +151 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/direct_system.py +159 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_action_snapshot.py +173 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_action.py +218 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_material.py +81 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_receipt.py +67 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_current_response.py +108 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_preparation_snapshot.py +203 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_static_current.py +177 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dual_static_snapshot.py +148 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dyadic_contrast.py +686 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/dyadic_green.py +1298 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/efie_open.py +572 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/efie_preconditioning.py +369 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/ewald_nearfield.py +134 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/ewald_refinement.py +83 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fields.py +615 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fixed_tangent_inverse.py +137 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_capacity.py +319 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_compact.py +625 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_config.py +424 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_fft.py +316 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_moments.py +983 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_rwg.py +998 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_directional_shift.py +490 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_error.py +691 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_fft.py +104 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_real.py +109 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_spectral.py +117 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_ewald_translation.py +125 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_expansion.py +176 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_fft.py +329 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_fft_coefficients.py +44 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_moments.py +222 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_operator.py +46 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_order.py +947 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic.py +173 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_capacity.py +134 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_error.py +198 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_operator.py +25 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_order.py +110 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_regional.py +195 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_periodic_system.py +178 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_regional.py +551 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_rwg_error.py +46 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_shift.py +87 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_storage.py +165 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_system.py +406 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/fmm_translation.py +281 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/h2.py +230 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_basis.py +260 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_capacity.py +78 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/h2_operator.py +133 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_balance.py +327 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_config.py +155 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_convergence.py +144 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_current.py +176 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_current_snapshot.py +249 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_cutoff_receipt.py +103 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_dual_bridge.py +156 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_dual_current.py +210 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_fields.py +198 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_jacobian_action.py +165 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_material.py +207 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_mixed.py +97 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_mixed_snapshot.py +237 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_observables.py +232 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_preparation.py +240 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_runtime.py +473 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_snapshot.py +481 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/harmonic_state.py +339 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/hierarchical_blocks.py +163 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/hierarchical_runtime.py +172 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/hmatrix.py +395 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/implicit_surface_solve.py +143 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/incident_work.py +95 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interior_volume_hmatrix.py +90 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolated_far.py +57 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation.py +84 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_error.py +127 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_kernel.py +73 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/interpolation_order.py +128 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/kernels.py +51 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/__init__.py +10 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/assembly.py +184 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/build.py +30 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/config.py +81 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/assembly.cu +829 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/bessel.cu +261 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/binding.cpp +162 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/common.cuh +62 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/green_eval.cuh +299 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/interp.cu +262 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/lowfreq.cu +410 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/spectral.cu +432 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/triangle_static.cuh +126 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/cuda/vertical.cu +259 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/green.py +383 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/loss.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/lowfreq.py +119 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/mesh.py +298 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/network.py +375 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/process.py +231 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/runtime.py +232 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/sweep.py +113 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/layered/vertical.py +317 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/lifting.py +742 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/lifting_fields.py +538 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/linalg.py +1523 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/linear_runtime.py +104 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/linear_volume_state.py +110 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/lowrank.py +200 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/magnetostatic.py +112 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/matched_spd_green.py +262 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/mesh.py +784 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/migration.py +100 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/modes.py +323 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/near_preconditioner.py +167 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/nearfield.py +598 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/nested_h2_snapshot.py +180 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/nested_moments.py +139 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/nonlinear.py +190 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/observables.py +71 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/open_surface.py +254 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/operator.py +739 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/operator_error.py +187 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/operator_protocol.py +102 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/ordered_reduction.py +18 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/packed_near.py +775 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic.py +473 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_config.py +162 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_cylindrical.py +79 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_diffraction.py +232 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic.py +1168 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_fields.py +277 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_nearfield.py +70 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_dyadic_operator.py +277 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_fields.py +176 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_hierarchical_runtime.py +85 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_limits.py +99 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_nearfield.py +63 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_operator.py +208 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_runtime.py +446 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/periodic_spectral.py +84 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_config.py +156 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_coupling.py +257 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_efie.py +259 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_grid.py +169 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_lifting.py +220 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_operator.py +235 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/pfft_system.py +381 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/physical_surface_snapshot.py +154 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/physics.py +308 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/preconditioning.py +241 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/primitive_mesh.py +766 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/quadrature.py +559 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/riesz.py +168 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/runtime.py +1280 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_interpolation_error.py +196 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_moments.py +119 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/rwg_refinement.py +72 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/scalar_moment_action.py +19 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/scalar_near_channels.py +131 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/single_layer.py +163 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/spatial.py +203 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/spectral_linalg.py +117 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_coupling.py +195 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_current.py +397 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_current_projector.py +96 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_floating.py +196 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic.py +140 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic_snapshot.py +124 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_magnetic_volume.py +128 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_mixed.py +164 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_projector_snapshot.py +98 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_floating.py +212 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_green.py +664 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_interface.py +271 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_material.py +150 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_polarization.py +128 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_preparation.py +65 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_snapshot.py +255 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_tensor_volume.py +263 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/static_volume_curl.py +94 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/streamed_dual_state_snapshot.py +97 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_h_snapshot.py +242 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_volume.py +336 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/surface_volume_hmatrix.py +150 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_carrier.py +200 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_bundle.py +335 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_preparation.py +261 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_runtime.py +260 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_harmonic_snapshot.py +339 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_medium.py +247 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_nearfield.py +124 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/tensor_volume.py +195 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/topology.py +233 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/vie_operator.py +275 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_basis.py +31 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h2.py +75 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h2_snapshot.py +76 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_h_snapshot.py +209 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_hmatrix.py +119 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_mesh.py +201 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_response_matrix.py +385 -0
- witwin_maxwell-0.6.0/witwin/maxwell/mom/volume_source_refinement.py +148 -0
- witwin_maxwell-0.6.0/witwin/maxwell/monitors.py +1985 -0
- witwin_maxwell-0.6.0/witwin/maxwell/network.py +1719 -0
- witwin_maxwell-0.6.0/witwin/maxwell/network_math.py +383 -0
- witwin_maxwell-0.6.0/witwin/maxwell/path_integrals.py +274 -0
- witwin_maxwell-0.6.0/witwin/maxwell/ports.py +1380 -0
- witwin_maxwell-0.6.0/witwin/maxwell/ports_postprocess.py +111 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/RCS.py +140 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/__init__.py +91 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/antenna.py +722 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/array_factor.py +398 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/array_taper.py +232 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/diffraction.py +219 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/fdtd_loss.py +201 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/field_projection.py +615 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/floquet.py +201 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/gaussian_overlap.py +170 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/lobes.py +580 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/low_frequency.py +141 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/modal.py +362 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/nfft.py +329 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/plane_payload.py +71 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/resonance.py +394 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/scattering_parameters.py +394 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/selected_query.py +283 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/stratton_chu.py +1446 -0
- witwin_maxwell-0.6.0/witwin/maxwell/postprocess/yee_interpolation.py +205 -0
- witwin_maxwell-0.6.0/witwin/maxwell/power_loss.py +452 -0
- witwin_maxwell-0.6.0/witwin/maxwell/result.py +3160 -0
- witwin_maxwell-0.6.0/witwin/maxwell/roughness.py +229 -0
- witwin_maxwell-0.6.0/witwin/maxwell/scene.py +2329 -0
- witwin_maxwell-0.6.0/witwin/maxwell/scene_dict.py +274 -0
- witwin_maxwell-0.6.0/witwin/maxwell/simulation.py +2568 -0
- witwin_maxwell-0.6.0/witwin/maxwell/sources.py +1307 -0
- witwin_maxwell-0.6.0/witwin/maxwell/terminal_waveport.py +601 -0
- witwin_maxwell-0.6.0/witwin/maxwell/waveforms.py +378 -0
- witwin_maxwell-0.6.0/witwin/maxwell/waveport_sweep.py +980 -0
- witwin_maxwell-0.4.0/.github/workflows/publish-witwin-maxwell.yml +0 -450
- witwin_maxwell-0.4.0/.gitignore +0 -245
- witwin_maxwell-0.4.0/AGENTS.md +0 -161
- witwin_maxwell-0.4.0/CHANGELOG.md +0 -72
- witwin_maxwell-0.4.0/CLAUDE.md +0 -161
- witwin_maxwell-0.4.0/FEATURE_LIST.md +0 -975
- witwin_maxwell-0.4.0/PKG-INFO +0 -187
- witwin_maxwell-0.4.0/README.md +0 -167
- witwin_maxwell-0.4.0/pyproject.toml +0 -42
- witwin_maxwell-0.4.0/scripts/build_fdtd_cuda_prebuilt.py +0 -71
- witwin_maxwell-0.4.0/scripts/dev/fdtd/multi_gpu/bench_joint.py +0 -939
- witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/bench_baseline.py +0 -162
- witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/profile_scenario.py +0 -24
- witwin_maxwell-0.4.0/scripts/dev/fdtd/native_cuda/snapshot_tool.py +0 -188
- witwin_maxwell-0.4.0/scripts/perf_cuda_graph_dispersive.py +0 -134
- witwin_maxwell-0.4.0/scripts/verify_cuda_binary_arches.py +0 -73
- witwin_maxwell-0.4.0/tests/TEST_LAYOUT.md +0 -37
- witwin_maxwell-0.4.0/tests/__init__.py +0 -1
- witwin_maxwell-0.4.0/tests/api/adapters/gds/test_gds_adapter.py +0 -213
- witwin_maxwell-0.4.0/tests/api/adapters/tidy3d/test_port_source_mapping.py +0 -138
- witwin_maxwell-0.4.0/tests/api/adapters/tidy3d/test_tidy3d_adapter.py +0 -2485
- witwin_maxwell-0.4.0/tests/api/public/test_dependency_contract.py +0 -22
- witwin_maxwell-0.4.0/tests/api/public/test_guard_census.py +0 -456
- witwin_maxwell-0.4.0/tests/api/public/test_public_api.py +0 -816
- witwin_maxwell-0.4.0/tests/api/public/test_simulation_smoke.py +0 -92
- witwin_maxwell-0.4.0/tests/api/public/test_thin_wire_api.py +0 -326
- witwin_maxwell-0.4.0/tests/boundaries/absorbers/test_boundary_variants.py +0 -158
- witwin_maxwell-0.4.0/tests/boundaries/boundary_physics/test_fdtd_boundary_physics.py +0 -466
- witwin_maxwell-0.4.0/tests/boundaries/boundary_physics/test_fdtd_pec_material.py +0 -65
- witwin_maxwell-0.4.0/tests/boundaries/boundary_specs/test_fdtd_boundaries.py +0 -274
- witwin_maxwell-0.4.0/tests/boundaries/cpml/test_fdtd_cpml.py +0 -384
- witwin_maxwell-0.4.0/tests/boundaries/symmetry/test_symmetry_generalization.py +0 -257
- witwin_maxwell-0.4.0/tests/breakdown/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/breakdown/_common.py +0 -140
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_accumulator.py +0 -235
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_compiler.py +0 -149
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_energy.py +0 -133
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_events.py +0 -93
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_fdtd.py +0 -186
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_guards.py +0 -145
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_monitor.py +0 -146
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_parity.py +0 -126
- witwin_maxwell-0.4.0/tests/breakdown/test_breakdown_state_machine.py +0 -168
- witwin_maxwell-0.4.0/tests/breakdown/test_component_stress.py +0 -194
- witwin_maxwell-0.4.0/tests/breakdown/test_smooth_breakdown_risk.py +0 -326
- witwin_maxwell-0.4.0/tests/conftest.py +0 -20
- witwin_maxwell-0.4.0/tests/core/constants/test_physical_constants.py +0 -40
- witwin_maxwell-0.4.0/tests/core/geometry/test_mesh_geometry.py +0 -197
- witwin_maxwell-0.4.0/tests/core/grid/test_autogrid.py +0 -530
- witwin_maxwell-0.4.0/tests/core/grid/test_fdtd_coords.py +0 -72
- witwin_maxwell-0.4.0/tests/core/grid/test_gridspec_custom.py +0 -331
- witwin_maxwell-0.4.0/tests/core/grid/test_nonuniform_placement.py +0 -146
- witwin_maxwell-0.4.0/tests/core/grid/test_nonuniform_uniform_equivalence.py +0 -198
- witwin_maxwell-0.4.0/tests/core/scene/test_scene.py +0 -641
- witwin_maxwell-0.4.0/tests/electrostatic/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/electrostatic/oracles.py +0 -47
- witwin_maxwell-0.4.0/tests/electrostatic/test_analytic.py +0 -146
- witwin_maxwell-0.4.0/tests/electrostatic/test_api.py +0 -227
- witwin_maxwell-0.4.0/tests/electrostatic/test_capacitance.py +0 -239
- witwin_maxwell-0.4.0/tests/electrostatic/test_conservation.py +0 -107
- witwin_maxwell-0.4.0/tests/electrostatic/test_floating.py +0 -157
- witwin_maxwell-0.4.0/tests/electrostatic/test_gradients.py +0 -238
- witwin_maxwell-0.4.0/tests/electrostatic/test_initial_condition.py +0 -338
- witwin_maxwell-0.4.0/tests/electrostatic/test_open_boundary.py +0 -312
- witwin_maxwell-0.4.0/tests/electrostatic/test_tensor_eps.py +0 -473
- witwin_maxwell-0.4.0/tests/esd/test_esd_circuit.py +0 -512
- witwin_maxwell-0.4.0/tests/esd/test_esd_circuit_e2e.py +0 -186
- witwin_maxwell-0.4.0/tests/esd/test_esd_circuit_energy.py +0 -229
- witwin_maxwell-0.4.0/tests/esd/test_esd_injection.py +0 -321
- witwin_maxwell-0.4.0/tests/esd/test_esd_waveform.py +0 -208
- witwin_maxwell-0.4.0/tests/esd/test_prebias.py +0 -193
- witwin_maxwell-0.4.0/tests/fdfd/test_ams.py +0 -80
- witwin_maxwell-0.4.0/tests/fdfd/test_direct_solver.py +0 -100
- witwin_maxwell-0.4.0/tests/fdfd/test_krylov.py +0 -130
- witwin_maxwell-0.4.0/tests/fdfd/test_matrix_cache.py +0 -102
- witwin_maxwell-0.4.0/tests/fdfd/test_preconditioners.py +0 -70
- witwin_maxwell-0.4.0/tests/fdfd/test_symmetric_formulation.py +0 -91
- witwin_maxwell-0.4.0/tests/fdtd/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/fdtd/cuda/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/fdtd/cuda/_parity_backend.py +0 -30
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_adjoint_native.py +0 -174
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_common_parity.py +0 -216
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_cpml_extension_parity.py +0 -346
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_dispersive_parity.py +0 -168
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_electric_boundary_parity.py +0 -321
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_extension_load.py +0 -58
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_graph.py +0 -37
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_magnetic_parity.py +0 -262
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_prebuilt_abi.py +0 -70
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_sources_parity.py +0 -775
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_spectral_observer_parity.py +0 -193
- witwin_maxwell-0.4.0/tests/fdtd/cuda/test_cuda_wire_parity.py +0 -368
- witwin_maxwell-0.4.0/tests/fdtd/cuda/torch_reference.py +0 -3306
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_gpu_burner.py +0 -29
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_adjoint_worker.py +0 -672
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_forward_worker.py +0 -225
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_rankdeath_worker.py +0 -84
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_transport_adjoint_worker.py +0 -266
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/_nccl_transport_worker.py +0 -168
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/conftest.py +0 -44
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity.py +0 -585
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity_cpml.py +0 -606
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_parity_stress.py +0 -297
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_adjoint_replay.py +0 -354
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_bench_joint_cli.py +0 -282
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_bounded_standard_dispatch.py +0 -242
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_capacity_cpml_stats.py +0 -237
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_circuit_owner.py +0 -283
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_cuda_graph_device_binding.py +0 -164
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_executor.py +0 -260
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_network_sweep.py +0 -110
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_ensemble_run_many.py +0 -250
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_guard_regressions.py +0 -577
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_material_region_forward.py +0 -174
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_monitor_merge_ownership.py +0 -437
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_monitor_numerical.py +0 -245
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_nccl_transport.py +0 -772
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_network_owner.py +0 -621
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_numerical_matrix.py +0 -418
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_parallel_public_api.py +0 -265
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_partition.py +0 -282
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_result_persistence.py +0 -131
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_review_regressions.py +0 -240
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_sharded_export.py +0 -184
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_sharded_persistence.py +0 -420
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_solver_acceptance.py +0 -390
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_step_instrument.py +0 -143
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_transport.py +0 -231
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_transport_adjoint.py +0 -247
- witwin_maxwell-0.4.0/tests/fdtd/multi_gpu/test_wire_owner.py +0 -612
- witwin_maxwell-0.4.0/tests/fdtd/surface_impedance/test_surface_impedance_reference.py +0 -208
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph.py +0 -111
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_capture_coverage.py +0 -226
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_complex_bloch.py +0 -112
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_dispersive.py +0 -91
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_nonlinear.py +0 -89
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_tfsf.py +0 -163
- witwin_maxwell-0.4.0/tests/fdtd/test_cuda_graph_tfsf_slab.py +0 -141
- witwin_maxwell-0.4.0/tests/fdtd/test_fdtd_autoshutoff.py +0 -121
- witwin_maxwell-0.4.0/tests/fdtd/test_observer_quadrature.py +0 -68
- witwin_maxwell-0.4.0/tests/fdtd/test_observer_time_stagger.py +0 -245
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_compiler.py +0 -1024
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_forward.py +0 -1112
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_lossy_forward.py +0 -231
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_port_binding_gpu.py +0 -420
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_reference.py +0 -458
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_thin_wire_rotation_acceptance.py +0 -208
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_wire_finite_conductivity.py +0 -277
- witwin_maxwell-0.4.0/tests/fdtd/thin_wire/test_wire_lossy_recurrence.py +0 -295
- witwin_maxwell-0.4.0/tests/gradients/README.md +0 -11
- witwin_maxwell-0.4.0/tests/gradients/__init__.py +0 -1
- witwin_maxwell-0.4.0/tests/gradients/e2e/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/gradients/e2e/test_fdtd_two_port_sparam_optimization.py +0 -169
- witwin_maxwell-0.4.0/tests/gradients/fdtd_adjoint_baselines.py +0 -120
- witwin_maxwell-0.4.0/tests/gradients/finite_difference_gate.py +0 -32
- witwin_maxwell-0.4.0/tests/gradients/test_fdfd_adjoint.py +0 -137
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_bridge.py +0 -2445
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_materials.py +0 -1830
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_p6_acceptance.py +0 -59
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_adjoint_rigorous.py +0 -1134
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_circuit_adjoint.py +0 -663
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_cpml_psi_active_adjoint.py +0 -155
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_custom_source_adjoint.py +0 -411
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_mode_source_adjoint.py +0 -146
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_multisource_adjoint.py +0 -436
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_network_adjoint.py +0 -502
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_rf_lumped_adjoint.py +0 -792
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_adjoint.py +0 -543
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_conductivity_adjoint.py +0 -172
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_thin_wire_port_adjoint.py +0 -514
- witwin_maxwell-0.4.0/tests/gradients/test_fdtd_waveport_adjoint.py +0 -174
- witwin_maxwell-0.4.0/tests/gradients/test_rf_postprocess_adjoint.py +0 -181
- witwin_maxwell-0.4.0/tests/materials/__init__.py +0 -1
- witwin_maxwell-0.4.0/tests/materials/anisotropic/test_fdtd_full_anisotropy.py +0 -565
- witwin_maxwell-0.4.0/tests/materials/combinations/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/materials/combinations/test_aniso_pml_overlap_reflection.py +0 -206
- witwin_maxwell-0.4.0/tests/materials/combinations/test_bloch_dispersive_forward.py +0 -117
- witwin_maxwell-0.4.0/tests/materials/combinations/test_combination_matrix.py +0 -284
- witwin_maxwell-0.4.0/tests/materials/combinations/test_diagonal_aniso_dispersive.py +0 -194
- witwin_maxwell-0.4.0/tests/materials/combinations/test_lossy_anisotropic_slab.py +0 -291
- witwin_maxwell-0.4.0/tests/materials/combinations/test_modulated_dispersive_nonlinear.py +0 -391
- witwin_maxwell-0.4.0/tests/materials/combinations/test_modulated_slab_cpml.py +0 -154
- witwin_maxwell-0.4.0/tests/materials/combinations/test_mu_tensor_dispersion.py +0 -205
- witwin_maxwell-0.4.0/tests/materials/combinations/test_multi_frequency_modulation.py +0 -189
- witwin_maxwell-0.4.0/tests/materials/combinations/test_rotated_birefringent_dispersive_slab.py +0 -330
- witwin_maxwell-0.4.0/tests/materials/combinations/test_shg_dispersive_phase_matching.py +0 -212
- witwin_maxwell-0.4.0/tests/materials/compiler/test_curved_subpixel_convergence.py +0 -253
- witwin_maxwell-0.4.0/tests/materials/compiler/test_edge_native_sampling.py +0 -156
- witwin_maxwell-0.4.0/tests/materials/compiler/test_fdfd_material_support.py +0 -95
- witwin_maxwell-0.4.0/tests/materials/compiler/test_material_compiler.py +0 -1070
- witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_conformal_alignment.py +0 -212
- witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_conformal_nonuniform.py +0 -244
- witwin_maxwell-0.4.0/tests/materials/compiler/test_pec_material.py +0 -95
- witwin_maxwell-0.4.0/tests/materials/compiler/test_polarized_averaging.py +0 -58
- witwin_maxwell-0.4.0/tests/materials/compiler/test_polyslab.py +0 -196
- witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_gradients.py +0 -58
- witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_nonuniform.py +0 -271
- witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_normals.py +0 -34
- witwin_maxwell-0.4.0/tests/materials/compiler/test_subpixel_spec.py +0 -67
- witwin_maxwell-0.4.0/tests/materials/conductive/test_fdtd_conductive.py +0 -199
- witwin_maxwell-0.4.0/tests/materials/conductive/test_fdtd_magnetic_conductive.py +0 -316
- witwin_maxwell-0.4.0/tests/materials/dispersive/test_custom_dispersive.py +0 -342
- witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_dispersive.py +0 -354
- witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_gain.py +0 -156
- witwin_maxwell-0.4.0/tests/materials/dispersive/test_fdtd_sellmeier.py +0 -142
- witwin_maxwell-0.4.0/tests/materials/ferrite/test_ferrite_reference.py +0 -235
- witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_compiler.py +0 -265
- witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_ferrite.py +0 -262
- witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_forward.py +0 -751
- witwin_maxwell-0.4.0/tests/materials/ferrite/test_gyromagnetic_general_bias.py +0 -628
- witwin_maxwell-0.4.0/tests/materials/modulation/test_fdtd_modulation.py +0 -387
- witwin_maxwell-0.4.0/tests/materials/nonlinear/test_fdtd_nonlinear.py +0 -572
- witwin_maxwell-0.4.0/tests/materials/perturbation/test_perturbation_medium.py +0 -224
- witwin_maxwell-0.4.0/tests/materials/sheet/__init__.py +0 -1
- witwin_maxwell-0.4.0/tests/materials/sheet/sheet_measurement.py +0 -132
- witwin_maxwell-0.4.0/tests/materials/sheet/test_fdtd_graphene.py +0 -333
- witwin_maxwell-0.4.0/tests/materials/sheet/test_fdtd_medium2d.py +0 -143
- witwin_maxwell-0.4.0/tests/materials/sheet/test_lossy_metal.py +0 -156
- witwin_maxwell-0.4.0/tests/materials/sheet/test_surface_impedance_funnel.py +0 -248
- witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_rational_surface_impedance.py +0 -245
- witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_ade.py +0 -103
- witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_resume.py +0 -174
- witwin_maxwell-0.4.0/tests/materials/surface_impedance/test_surface_impedance_runtime.py +0 -131
- witwin_maxwell-0.4.0/tests/monitors/diffraction/test_diffraction_monitor.py +0 -334
- witwin_maxwell-0.4.0/tests/monitors/emission/test_dipole_emission_monitor.py +0 -179
- witwin_maxwell-0.4.0/tests/monitors/material/test_permittivity_monitor.py +0 -222
- witwin_maxwell-0.4.0/tests/monitors/observers/test_fdtd_observers.py +0 -535
- witwin_maxwell-0.4.0/tests/monitors/time/test_fdtd_time_monitors.py +0 -255
- witwin_maxwell-0.4.0/tests/postprocess/directivity/test_directivity.py +0 -94
- witwin_maxwell-0.4.0/tests/postprocess/evaluation/test_fdtd_evaluation.py +0 -45
- witwin_maxwell-0.4.0/tests/postprocess/rcs/test_postprocess.py +0 -725
- witwin_maxwell-0.4.0/tests/postprocess/scattering/test_mode_overlap.py +0 -253
- witwin_maxwell-0.4.0/tests/postprocess/scattering/test_ring_resonator_s21.py +0 -296
- witwin_maxwell-0.4.0/tests/postprocess/scattering/test_scattering_parameters.py +0 -475
- witwin_maxwell-0.4.0/tests/rational/test_core.py +0 -213
- witwin_maxwell-0.4.0/tests/rational/test_fit.py +0 -83
- witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_benchmark_e2e.py +0 -203
- witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_data.py +0 -406
- witwin_maxwell-0.4.0/tests/rf/antenna/test_antenna_matching_block.py +0 -223
- witwin_maxwell-0.4.0/tests/rf/antenna/test_result_antenna.py +0 -253
- witwin_maxwell-0.4.0/tests/rf/array/test_array_codebook.py +0 -366
- witwin_maxwell-0.4.0/tests/rf/array/test_array_contracts.py +0 -696
- witwin_maxwell-0.4.0/tests/rf/array/test_array_fullwave.py +0 -287
- witwin_maxwell-0.4.0/tests/rf/array/test_array_mimo.py +0 -350
- witwin_maxwell-0.4.0/tests/rf/array/test_array_persistence.py +0 -262
- witwin_maxwell-0.4.0/tests/rf/array/test_array_scene_gradient.py +0 -605
- witwin_maxwell-0.4.0/tests/rf/array/test_array_scene_gradient_ensemble.py +0 -591
- witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_conservation.py +0 -438
- witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_contract.py +0 -156
- witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_graph.py +0 -150
- witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_hot_path_op_count.py +0 -163
- witwin_maxwell-0.4.0/tests/rf/circuits/test_circuit_independent_crosscheck.py +0 -409
- witwin_maxwell-0.4.0/tests/rf/circuits/test_fdtd_circuit_coupling.py +0 -449
- witwin_maxwell-0.4.0/tests/rf/circuits/test_fdtd_circuit_resume.py +0 -204
- witwin_maxwell-0.4.0/tests/rf/circuits/test_mna_runtime.py +0 -630
- witwin_maxwell-0.4.0/tests/rf/circuits/test_phase3_multiport.py +0 -437
- witwin_maxwell-0.4.0/tests/rf/circuits/test_phase4_batched_mna.py +0 -70
- witwin_maxwell-0.4.0/tests/rf/circuits/test_phase4_circuit_cuda_graph.py +0 -239
- witwin_maxwell-0.4.0/tests/rf/circuits/test_result_circuit_data.py +0 -219
- witwin_maxwell-0.4.0/tests/rf/circuits/test_spice_parser.py +0 -238
- witwin_maxwell-0.4.0/tests/rf/contracts/test_network_data_contract.py +0 -169
- witwin_maxwell-0.4.0/tests/rf/contracts/test_port_conventions.py +0 -144
- witwin_maxwell-0.4.0/tests/rf/contracts/test_port_geometry_contract.py +0 -101
- witwin_maxwell-0.4.0/tests/rf/contracts/test_public_rf_api.py +0 -121
- witwin_maxwell-0.4.0/tests/rf/contracts/test_wire_port_binding_api.py +0 -92
- witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_lumped_port_pec_gap.py +0 -78
- witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_lumped_runtime.py +0 -413
- witwin_maxwell-0.4.0/tests/rf/lumped/test_fdtd_port_end_to_end.py +0 -272
- witwin_maxwell-0.4.0/tests/rf/lumped/test_port_data_persistence.py +0 -106
- witwin_maxwell-0.4.0/tests/rf/lumped/test_port_source_waveform.py +0 -39
- witwin_maxwell-0.4.0/tests/rf/lumped/test_result_port_data.py +0 -146
- witwin_maxwell-0.4.0/tests/rf/lumped/test_rlc_contract.py +0 -101
- witwin_maxwell-0.4.0/tests/rf/lumped/test_rlc_discretization.py +0 -123
- witwin_maxwell-0.4.0/tests/rf/lumped/test_scene_lumped_elements.py +0 -141
- witwin_maxwell-0.4.0/tests/rf/lumped/test_simulation_port_excitation.py +0 -97
- witwin_maxwell-0.4.0/tests/rf/network/fixtures/four_port_db.s4p +0 -6
- witwin_maxwell-0.4.0/tests/rf/network/fixtures/one_port_ri.s1p +0 -4
- witwin_maxwell-0.4.0/tests/rf/network/fixtures/two_port_ma.ts +0 -12
- witwin_maxwell-0.4.0/tests/rf/network/test_embedded_network_persistence.py +0 -286
- witwin_maxwell-0.4.0/tests/rf/network/test_finalize_state_norm_detach.py +0 -68
- witwin_maxwell-0.4.0/tests/rf/network/test_network_algebra.py +0 -261
- witwin_maxwell-0.4.0/tests/rf/network/test_network_block_contract.py +0 -247
- witwin_maxwell-0.4.0/tests/rf/network/test_network_cascade.py +0 -290
- witwin_maxwell-0.4.0/tests/rf/network/test_network_cascade_crosscheck.py +0 -193
- witwin_maxwell-0.4.0/tests/rf/network/test_network_conservation.py +0 -268
- witwin_maxwell-0.4.0/tests/rf/network/test_network_coupling_op_stream.py +0 -74
- witwin_maxwell-0.4.0/tests/rf/network/test_network_delay.py +0 -384
- witwin_maxwell-0.4.0/tests/rf/network/test_network_delay_checkpoint.py +0 -154
- witwin_maxwell-0.4.0/tests/rf/network/test_network_delay_integration.py +0 -293
- witwin_maxwell-0.4.0/tests/rf/network/test_network_multiport_fdtd.py +0 -291
- witwin_maxwell-0.4.0/tests/rf/network/test_network_multiport_runtime.py +0 -380
- witwin_maxwell-0.4.0/tests/rf/network/test_network_observer_hot_path.py +0 -246
- witwin_maxwell-0.4.0/tests/rf/network/test_network_persistence.py +0 -115
- witwin_maxwell-0.4.0/tests/rf/network/test_network_physicality.py +0 -79
- witwin_maxwell-0.4.0/tests/rf/network/test_network_runtime.py +0 -457
- witwin_maxwell-0.4.0/tests/rf/network/test_network_sweep.py +0 -374
- witwin_maxwell-0.4.0/tests/rf/network/test_touchstone.py +0 -246
- witwin_maxwell-0.4.0/tests/rf/network/test_touchstone_import.py +0 -383
- witwin_maxwell-0.4.0/tests/rf/nonlinear/_generate_goldens.py +0 -104
- witwin_maxwell-0.4.0/tests/rf/nonlinear/_rectifier_fixtures.py +0 -130
- witwin_maxwell-0.4.0/tests/rf/nonlinear/goldens/rectifier_goldens.pt +0 -0
- witwin_maxwell-0.4.0/tests/rf/nonlinear/test_newton_core.py +0 -220
- witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_device_contract.py +0 -151
- witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_device_math.py +0 -102
- witwin_maxwell-0.4.0/tests/rf/nonlinear/test_nonlinear_transient.py +0 -332
- witwin_maxwell-0.4.0/tests/rf/numerics/test_port_spectral_stagger.py +0 -93
- witwin_maxwell-0.4.0/tests/rf/numerics/test_tem_vi_prototype.py +0 -88
- witwin_maxwell-0.4.0/tests/rf/performance/measure_port_overhead_s2b.py +0 -522
- witwin_maxwell-0.4.0/tests/rf/performance/profile_port_hot_path.py +0 -444
- witwin_maxwell-0.4.0/tests/rf/performance/test_no_feature_fast_path.py +0 -23
- witwin_maxwell-0.4.0/tests/rf/performance/test_perf_variance_gate.py +0 -160
- witwin_maxwell-0.4.0/tests/rf/performance/test_port_energy_diagnostics_default_off.py +0 -99
- witwin_maxwell-0.4.0/tests/rf/performance/test_port_hot_path_op_count.py +0 -128
- witwin_maxwell-0.4.0/tests/rf/power_loss/test_power_loss_data.py +0 -454
- witwin_maxwell-0.4.0/tests/rf/terminal/test_terminal_port_contract.py +0 -253
- witwin_maxwell-0.4.0/tests/rf/wave_validation/__init__.py +0 -0
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_asymmetric_reciprocity_power_balance.py +0 -158
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_coax_contour_snap.py +0 -37
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_interior_pec_operator.py +0 -503
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_matched_s11_wave_level.py +0 -98
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_microstrip_diffpair_wave_level.py +0 -178
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_open_short_match_wave_level.py +0 -154
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_planemonitor_waveport_passthrough.py +0 -215
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_rf_reference_generation.py +0 -158
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_rlc_resonance_wave_level.py +0 -181
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_te10_mode_selection.py +0 -132
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_transverse_operator.py +0 -450
- witwin_maxwell-0.4.0/tests/rf/wave_validation/test_waveguide_wave_level.py +0 -114
- witwin_maxwell-0.4.0/tests/rf/waveport/test_modal_port_data.py +0 -136
- witwin_maxwell-0.4.0/tests/rf/waveport/test_mode_tracking.py +0 -205
- witwin_maxwell-0.4.0/tests/rf/waveport/test_waveport_contract.py +0 -471
- witwin_maxwell-0.4.0/tests/rf/waveport/test_waveport_sweep.py +0 -452
- witwin_maxwell-0.4.0/tests/sar/test_incident_power.py +0 -228
- witwin_maxwell-0.4.0/tests/sar/test_mass_averaging.py +0 -404
- witwin_maxwell-0.4.0/tests/sar/test_mass_density.py +0 -114
- witwin_maxwell-0.4.0/tests/sar/test_normalization.py +0 -123
- witwin_maxwell-0.4.0/tests/sar/test_phantom_benchmarks.py +0 -175
- witwin_maxwell-0.4.0/tests/sar/test_phantom_convergence.py +0 -122
- witwin_maxwell-0.4.0/tests/sar/test_point_sar.py +0 -406
- witwin_maxwell-0.4.0/tests/sar/test_sar_combine.py +0 -120
- witwin_maxwell-0.4.0/tests/sar/test_sar_gradients.py +0 -154
- witwin_maxwell-0.4.0/tests/sar/test_sar_validation.py +0 -85
- witwin_maxwell-0.4.0/tests/sar/test_soft_peak.py +0 -106
- witwin_maxwell-0.4.0/tests/sources/definitions/test_astigmatic_gaussian_beam.py +0 -204
- witwin_maxwell-0.4.0/tests/sources/definitions/test_custom_source_time.py +0 -222
- witwin_maxwell-0.4.0/tests/sources/definitions/test_custom_uniform_sources.py +0 -249
- witwin_maxwell-0.4.0/tests/sources/definitions/test_sources.py +0 -222
- witwin_maxwell-0.4.0/tests/sources/incident/test_fdtd_incident.py +0 -118
- witwin_maxwell-0.4.0/tests/sources/incident/test_soft_planewave_absolute_power.py +0 -209
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_anisotropic_aperture.py +0 -217
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_bent_mode_source.py +0 -165
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_broadband_mode_source.py +0 -178
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_complex_lossy_slab_mode.py +0 -146
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_mode_source.py +0 -53
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_pec_mode_solver.py +0 -147
- witwin_maxwell-0.4.0/tests/sources/mode/test_fdtd_unidirectional_launch.py +0 -175
- witwin_maxwell-0.4.0/tests/sources/mode/test_mode_eigensolver_physics.py +0 -279
- witwin_maxwell-0.4.0/tests/sources/mode/test_mode_solver_gradients.py +0 -392
- witwin_maxwell-0.4.0/tests/sources/mode/test_mode_source_injection_physics.py +0 -188
- witwin_maxwell-0.4.0/tests/sources/point/test_fdtd_source_normalization.py +0 -76
- witwin_maxwell-0.4.0/tests/sources/point/test_fdtd_sources.py +0 -261
- witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_grating_pulsed_bloch.py +0 -256
- witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_grating_tfsf.py +0 -766
- witwin_maxwell-0.4.0/tests/sources/tfsf/test_fdtd_tfsf.py +0 -306
- witwin_maxwell-0.4.0/tests/support/benchmark_circuit_performance.py +0 -564
- witwin_maxwell-0.4.0/tests/support/benchmark_ensemble_speedup.py +0 -239
- witwin_maxwell-0.4.0/tests/support/benchmark_network_embedding.py +0 -260
- witwin_maxwell-0.4.0/tests/support/benchmark_rf_no_feature.py +0 -843
- witwin_maxwell-0.4.0/tests/support/benchmark_thin_wire_reverse.py +0 -159
- witwin_maxwell-0.4.0/tests/support/compare_no_feature_op_stream.py +0 -475
- witwin_maxwell-0.4.0/tests/support/network_coupling_op_stream.py +0 -280
- witwin_maxwell-0.4.0/tests/support/perf_variance_gate.py +0 -185
- witwin_maxwell-0.4.0/tests/support/port_hot_path_tally.py +0 -88
- witwin_maxwell-0.4.0/tests/support/test_benchmark_circuit_performance.py +0 -66
- witwin_maxwell-0.4.0/tests/support/test_benchmark_rf_no_feature_provenance.py +0 -232
- witwin_maxwell-0.4.0/tests/validation/cross_solver/test_fdfd_vs_fdtd.py +0 -463
- witwin_maxwell-0.4.0/tests/validation/physics/test_autogrid_physics.py +0 -175
- witwin_maxwell-0.4.0/tests/validation/physics/test_autogrid_subpixel_thesis.py +0 -217
- witwin_maxwell-0.4.0/tests/validation/physics/test_bloch_broadband_vs_cw.py +0 -213
- witwin_maxwell-0.4.0/tests/validation/physics/test_dispersive_metasurface_bloch.py +0 -110
- witwin_maxwell-0.4.0/tests/validation/physics/test_fdtd_boundary_tfsf_validation.py +0 -826
- witwin_maxwell-0.4.0/tests/validation/physics/test_fdtd_physics_correctness.py +0 -185
- witwin_maxwell-0.4.0/tests/validation/physics/test_layered_exterior_huygens_validation.py +0 -324
- witwin_maxwell-0.4.0/tests/validation/physics/test_lossy_metal_sibc.py +0 -161
- witwin_maxwell-0.4.0/tests/validation/physics/test_nonuniform_grid_physics.py +0 -180
- witwin_maxwell-0.4.0/tests/validation/physics/test_pec_conformal.py +0 -207
- witwin_maxwell-0.4.0/tests/validation/physics/test_postprocess_end_to_end_validation.py +0 -661
- witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_cylinder_convergence.py +0 -220
- witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_orientation.py +0 -218
- witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_staircase.py +0 -276
- witwin_maxwell-0.4.0/tests/validation/physics/test_sibc_zero_impact.py +0 -124
- witwin_maxwell-0.4.0/tests/validation/physics/test_soft_planewave_graded.py +0 -302
- witwin_maxwell-0.4.0/tests/validation/physics/test_surface_impedance_broadband.py +0 -141
- witwin_maxwell-0.4.0/tests/validation/physics/test_tfsf_nonuniform.py +0 -335
- witwin_maxwell-0.4.0/witwin/maxwell/__init__.py +0 -437
- witwin_maxwell-0.4.0/witwin/maxwell/adapters/__init__.py +0 -1
- witwin_maxwell-0.4.0/witwin/maxwell/adapters/tidy3d.py +0 -2014
- witwin_maxwell-0.4.0/witwin/maxwell/adjoint_inputs.py +0 -207
- witwin_maxwell-0.4.0/witwin/maxwell/array_execution.py +0 -67
- witwin_maxwell-0.4.0/witwin/maxwell/breakdown_stress.py +0 -542
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/delay.py +0 -374
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/electrostatic.py +0 -379
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/lumped.py +0 -100
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/materials.py +0 -2623
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/monitors.py +0 -240
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/networks.py +0 -318
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/nonlinear_devices.py +0 -916
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/ports.py +0 -391
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/power_loss.py +0 -175
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/sources.py +0 -223
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/structures.py +0 -21
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/subpixel.py +0 -107
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/thin_wire.py +0 -2201
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/waveports.py +0 -435
- witwin_maxwell-0.4.0/witwin/maxwell/compiler/wire_impedance.py +0 -426
- witwin_maxwell-0.4.0/witwin/maxwell/esd.py +0 -854
- witwin_maxwell-0.4.0/witwin/maxwell/execution/capacity.py +0 -84
- witwin_maxwell-0.4.0/witwin/maxwell/execution/plan.py +0 -55
- witwin_maxwell-0.4.0/witwin/maxwell/execution/pool.py +0 -182
- witwin_maxwell-0.4.0/witwin/maxwell/execution/records.py +0 -144
- witwin_maxwell-0.4.0/witwin/maxwell/fdfd/adjoint/bridge.py +0 -180
- witwin_maxwell-0.4.0/witwin/maxwell/fdfd/ams.py +0 -300
- witwin_maxwell-0.4.0/witwin/maxwell/fdfd/krylov.py +0 -280
- witwin_maxwell-0.4.0/witwin/maxwell/fdfd/postprocess.py +0 -33
- witwin_maxwell-0.4.0/witwin/maxwell/fdfd/solver.py +0 -1069
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/bridge.py +0 -1481
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/capabilities.py +0 -31
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/circuits.py +0 -708
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/core.py +0 -3565
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/dispatch.py +0 -727
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/native.py +0 -2820
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/profiler.py +0 -198
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/adjoint/seeds.py +0 -994
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/common.py +0 -41
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/cpml.py +0 -505
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/boundary/runtime.py +0 -209
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/checkpoint.py +0 -573
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/circuits.py +0 -1209
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/backend.py +0 -3727
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/build.py +0 -319
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/extension.cpp +0 -2212
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/adjoint.cu +0 -4681
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/aniso.cu +0 -1704
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/common.cu +0 -74
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/common.cuh +0 -96
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/dispersive.cu +0 -782
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/electric.cu +0 -3626
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/magnetic.cu +0 -921
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/observers.cu +0 -347
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/sources.cu +0 -1482
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/kernels/spectral.cu +0 -297
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/cuda/runtime/graph.py +0 -123
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/adjoint.py +0 -1643
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/circuits.py +0 -609
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/monitor_merge.py +0 -421
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/networks.py +0 -640
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/shard_engine.py +0 -467
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/solver.py +0 -1317
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/source_rebuild.py +0 -76
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/distributed/sources.py +0 -77
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/injection.py +0 -1140
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/__init__.py +0 -963
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/common.py +0 -592
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/eigensolvers.py +0 -310
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/tem.py +0 -354
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/vector.py +0 -1113
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/modes/yee.py +0 -958
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/spatial.py +0 -469
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/temporal.py +0 -491
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_apply.py +0 -264
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_common.py +0 -421
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/excitation/tfsf_state.py +0 -778
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/lumped.py +0 -915
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/material_pullback.py +0 -393
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/meshing/autogrid.py +0 -335
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/networks.py +0 -1264
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/observers.py +0 -1434
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/ports.py +0 -2088
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/postprocess.py +0 -205
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/quadrature.py +0 -233
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/resume.py +0 -714
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/breakdown.py +0 -521
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/initialization.py +0 -242
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/materials.py +0 -1769
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/module_cache.py +0 -31
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/spectral.py +0 -652
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/runtime/stepping.py +0 -2416
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/solver.py +0 -543
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/wire.py +0 -1371
- witwin_maxwell-0.4.0/witwin/maxwell/fdtd/wire_lossy.py +0 -627
- witwin_maxwell-0.4.0/witwin/maxwell/geometry/__init__.py +0 -5
- witwin_maxwell-0.4.0/witwin/maxwell/lumped.py +0 -534
- witwin_maxwell-0.4.0/witwin/maxwell/media.py +0 -2395
- witwin_maxwell-0.4.0/witwin/maxwell/monitors.py +0 -1097
- witwin_maxwell-0.4.0/witwin/maxwell/network.py +0 -1613
- witwin_maxwell-0.4.0/witwin/maxwell/network_math.py +0 -339
- witwin_maxwell-0.4.0/witwin/maxwell/ports.py +0 -932
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/RCS.py +0 -140
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/__init__.py +0 -51
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/antenna.py +0 -712
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/diffraction.py +0 -217
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/modal.py +0 -330
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/nfft.py +0 -265
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/scattering_parameters.py +0 -370
- witwin_maxwell-0.4.0/witwin/maxwell/postprocess/stratton_chu.py +0 -1269
- witwin_maxwell-0.4.0/witwin/maxwell/power_loss.py +0 -451
- witwin_maxwell-0.4.0/witwin/maxwell/result.py +0 -2236
- witwin_maxwell-0.4.0/witwin/maxwell/scene.py +0 -1688
- witwin_maxwell-0.4.0/witwin/maxwell/simulation.py +0 -1956
- witwin_maxwell-0.4.0/witwin/maxwell/sources.py +0 -913
- witwin_maxwell-0.4.0/witwin/maxwell/waveforms.py +0 -107
- witwin_maxwell-0.4.0/witwin/maxwell/waveport_sweep.py +0 -937
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/LICENSE +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/hatch_build.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/adapters/gds.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/antenna.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/array.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/array_gradient.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/breakdown.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/breakdown_risk.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/circuit_devices.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/circuits.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/array.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/breakdown.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/circuits.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/gyromagnetic.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/mass_density.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/mna.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/compiler/surface_impedance.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/constants.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/api.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/capacitance.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/initial_condition.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/electrostatic/runtime.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/ensemble.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/execution/executor.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/adjoint/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdfd/plotting.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/adjoint/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/adjoint/reverse_common.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/boundary/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/boundary/bloch.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/coords.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/boundary.cu +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/projection.cu +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/kernels/wire.cu +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/launch.h +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/runtime/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/runtime/dispatcher.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/cuda/tensors.h +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/delay.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/dispersion.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/_shared.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/capacity.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/counts.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/frequency_counts.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/instrumentation.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/interpolation.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/nccl_transport.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/output.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/persistence.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/source_corrections.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/transport.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/distributed/wire.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/evaluation.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/excitation/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/excitation/tfsf_specs.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/ferrite_reference.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/io.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/meshing/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/plotting.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/runtime/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/runtime/gyromagnetic.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/surface_impedance_reference.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd/thin_wire_reference.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/fdtd_parallel.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/geometry/polyslab.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/materials.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/network_sweep.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/array.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/directivity.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/emission.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/incident_power.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/power_loss.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar_averaging.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/sar_combine.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/postprocess/waveports.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/rational.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/sar.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/thin_wire.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/touchstone.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/visualization/__init__.py +0 -0
- {witwin_maxwell-0.4.0 → witwin_maxwell-0.6.0}/witwin/maxwell/visualization/interactive.py +0 -0
- {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
|