Skip to content

Changelog

These items are already merged on main, but they go beyond the current v1.4.0 package snapshot.

  • Structured preflight validation via sim.preflight(strict=False/True) to catch common CPML / NTFF / Floquet / PEC setup mistakes before expensive runs.
  • Expanded cross-validation coverage to a 23-script bundle, including newer helical-antenna, Debye / Drude, CRLH, waveguide-mode, reciprocity, and resonator-Q cases.
  • PolylineWire geometry support for wire-like structures, plus follow-up far-field fixes around non-uniform-cell area handling.

  • Waveguide / Floquet differentiable workflows: modal and periodic ports now work inside forward() and optimize().
  • JAX-differentiable far-field evaluation via compute_far_field_jax() for beam-shaping and radiation-aware optimisation objectives.
  • NTFF-aware optimize() forward pass — if an objective accepts ntff_box=..., the optimiser now builds and passes the NTFF box for far-field losses.
  • Time-domain proxy objectives for differentiable optimisation:
    • minimize_reflected_energy()
    • maximize_transmitted_energy()
  • Result and dataset export: geometry JSON, experiment reports, simulation datasets, optimisation trajectories, and richer far-field / optimisation save helpers.
  • Advanced solver additions: experimental ADI 2-D / 3-D paths, SBP-SAT subgridding work, and auto_refine() fixes for smaller grids.
  • Advanced example bundle under examples/50_advanced/ covering patch bandwidth optimisation, waveguide inverse design, broadband matching, array coupling, dielectric-lens shaping, material characterisation, and a visualization showcase.
  • GPU validation scripts and follow-up hardening for FFT extraction, physics setup, Floquet / waveguide optimisation, and non-uniform-mesh workflows.

  • 5-case RF validation against published references (patch antenna, WR-90 cutoff, dielectric cavity, microstrip impedance, coupled-line filter).
  • Convergence-study helpers: convergence_study(), quick_convergence(), and Richardson extrapolation utilities.
  • gradient_check() for automatic AD vs finite-difference verification.
  • Memory estimation in auto_configure() (estimated_memory_mb, max_memory_mb).
  • Kerr nonlinear material support via ADE.
  • RIS unit-cell workflow for reconfigurable-surface design studies.
  • Pre-AMR error indicators and training-data export for surrogate workflows.
  • Mixed precision (float16 field storage) for memory reduction.
  • GPU speedups from pre-baked coefficients and other kernel improvements.
  • Configurable multi-GPU ghost exchange interval for better distributed throughput.
  • Three new tutorials: patch antenna, microstrip filter, and convergence methodology.
  • Respectful solver-comparison docs for public-facing positioning.
  • 500+ tests, 0 xfails.
  • CI runs lint + pytest with a 60-minute timeout budget.

  • Multi-GPU distributed FDTD via jax.pmap with 1-D slab decomposition.
    • Phase 1: PEC boundaries, soft sources, point probes.
    • Phase 2: Full CPML support.
    • Phase 3: Lumped ports and dispersive Debye/Lorentz/Drude materials.
  • Core Yee-kernel optimisation with pre-baked update coefficients and fused curl/update paths.
  • Configurable ghost exchange interval for reduced synchronization overhead.
  • Floquet normalization at oblique incidence.
  • Near-cutoff multi-mode waveguide regression tests.
  • Material-fitting robustness under noise, outliers, and excess poles.
  • Conformal-PEC coupling checks with CPML, dispersive media, and jax.grad.
  • Graceful fallback when unsupported distributed configurations are requested.
  • Distributed benchmark script: examples/33_distributed_benchmark.py.
  • 30 distributed tests plus targeted waveguide, Floquet, and material-fit regression tests.

  • Conformal PEC (Dey-Mittra) for curved conductors.
  • Density-based topology optimisation with filtering, projection, and beta continuation.
  • Differentiable material fitting from measured S-parameters.
  • Multi-mode waveguide ports with TE/TM eigenmodes.
  • Floquet ports and Bloch-periodic boundary conditions for unit-cell analysis.
  • Antenna metrics (gain, efficiency, HPBW, bandwidth, F/B ratio).
  • Parametric sweeps and jax.vmap batch evaluation.
  • RF workflow tooling: Smith chart plotting, de-embedding, multi-port Touchstone I/O, PCB stackup builder.
  • Streamlit dashboard for browser-based exploration.
  • 475+ tests (up from 260+), 0 xfails.
  • CI added ruff + pytest coverage for the broader public API surface.

  • PyPI publication as rfx-fdtd (Python import remains rfx).
  • SBP-SAT subgridding with JIT-accelerated local mesh refinement.
  • Lumped RLC elements via ADE updates.
  • Via / CurvedPatch helper geometry for PCB and conformal antenna workflows.
  • Field animation export (MP4/GIF).
  • Oblique TFSF in the supported 2-D auxiliary-grid workflow.
  • Improved CFS-CPML defaults and richer auto_configure() metadata.
  • 260+ tests.
  • Initial public guide set, examples, and CI pipeline.