Changelog
Main-branch updates after v1.4.0
Section titled “Main-branch updates after v1.4.0”These items are already merged on main, but they go beyond the current
v1.4.0 package snapshot.
Current-main highlights
Section titled “Current-main highlights”- 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.
PolylineWiregeometry support for wire-like structures, plus follow-up far-field fixes around non-uniform-cell area handling.
v1.4.0
Section titled “v1.4.0”New features
Section titled “New features”- Waveguide / Floquet differentiable workflows: modal and periodic ports now work inside
forward()andoptimize(). - 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 acceptsntff_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.
Workflow and docs
Section titled “Workflow and docs”- 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.
v1.3.0
Section titled “v1.3.0”New features
Section titled “New features”- 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 (
float16field storage) for memory reduction.
Performance and docs
Section titled “Performance and docs”- 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.
Quality
Section titled “Quality”- 500+ tests, 0 xfails.
- CI runs lint + pytest with a 60-minute timeout budget.
v1.2.0
Section titled “v1.2.0”New features
Section titled “New features”- Multi-GPU distributed FDTD via
jax.pmapwith 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.
Robustness verification
Section titled “Robustness verification”- 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.
Infrastructure
Section titled “Infrastructure”- Distributed benchmark script:
examples/33_distributed_benchmark.py. - 30 distributed tests plus targeted waveguide, Floquet, and material-fit regression tests.
v1.1.0
Section titled “v1.1.0”New features
Section titled “New features”- 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.vmapbatch evaluation. - RF workflow tooling: Smith chart plotting, de-embedding, multi-port Touchstone I/O, PCB stackup builder.
- Streamlit dashboard for browser-based exploration.
Quality
Section titled “Quality”- 475+ tests (up from 260+), 0 xfails.
- CI added ruff + pytest coverage for the broader public API surface.
v1.0.0
Section titled “v1.0.0”New features
Section titled “New features”- PyPI publication as
rfx-fdtd(Python import remainsrfx). - 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.
Quality
Section titled “Quality”- 260+ tests.
- Initial public guide set, examples, and CI pipeline.