Skip to content

rfx Documentation

rfx is a JAX-based differentiable FDTD simulator for RF and microwave engineering. This index tracks the v1.4.0 release surface and highlights selected workflow-hardening and validation updates already merged on main.

  • v1.4.0 optimization workflows: waveguide / Floquet ports now work inside differentiable forward() and optimize() loops.
  • v1.4.0 data products: geometry JSON, experiment reports, simulation datasets, optimisation trajectories, and richer export helpers.
  • Advanced solver coverage: multi-GPU FDTD, JAX far-field evaluation, experimental ADI 2-D / 3-D paths, and SBP-SAT subgridding.
  • Current main adds stronger workflow safety via sim.preflight(), broader cross-validation coverage, and newer primitives such as PolylineWire.

The sidebar already groups pages by job-to-be-done. The table below gives the same structure in one place so you can jump directly to the right section.

GuideDescription
InstallationPython/JAX install, GPU notes, dev setup
Quick StartFirst simulation with the current stable high-level API
Your First Patch AntennaFirst end-to-end success path for a practical RF structure
GuideDescription
Simulation APISimulation, Result, materials, sources, probes, ports, and NTFF helpers
Materials & GeometryMaterial library, Debye/Lorentz models, CSG shapes, and PCB stackup basics
Sources & PortsSoft sources, lumped/wire ports, waveguide ports, and Floquet workflows
Probes & S-ParametersDFT probes, S-matrix extraction, Harminv, de-embedding, and exports
Non-Uniform Meshdz_profile, auto_configure(), thin-substrate workflow
Waveguide PortsModal waveguide excitation and calibrated multi-mode S-matrix extraction
Floquet PortsBloch-periodic unit-cell workflows for phased and periodic structures
GuideDescription
ValidationPublished RF benchmarks, cross-solver checks, and workflow-validation guidance
Convergence StudyMesh-refinement analysis and accuracy verification workflow
Far-Field & RCSNTFF radiation patterns and scattering workflows
Antenna MetricsGain, efficiency, beamwidth, bandwidth, and front-to-back ratio
Visualization & AnalysisPlots, exports, post-processing, and result interpretation
Solver ComparisonFeature and workflow comparison vs. Meep and OpenEMS
GuideDescription
Inverse DesignGradient-based optimization, proxy objectives, and NTFF-aware advanced workflows
Topology OptimizationDensity-based inverse design with filtering and projection
Parametric SweepsSequential sweeps and jax.vmap batch evaluation
Material FittingCSV import, Debye/Lorentz fitting, and differentiable fitting workflows
Patch Antenna DesignFull rectangular patch design workflow
Microstrip Filter DesignCoupled-line filter workflow with two-port analysis
GuideDescription
Advanced FeaturesMulti-GPU, material fitting, mixed precision, nonlinear materials, and research examples
Conformal PECDey-Mittra method for curved PEC conductors
SBP-SAT SubgriddingLocal mesh refinement with JIT performance
Gradient BehaviorWhere gradients are strong, weak, or noisy
Geometry & LimitationsSupported workflows, strengths, and current trade-offs

If you’re new to rfx, start here:

  1. Installation
  2. Quick Start
  3. Simulation API
  4. Sources & Ports
  5. Non-Uniform Mesh
  6. Validation
  7. Advanced Features once you want distributed runs, proxy objectives, or research-style workflows
GuideDescription
Migration GuideMapping Meep/OpenEMS workflows into rfx
ChangelogRelease notes and current-main capability updates
ContributingMaintainer workflow, testing, linting, and coding conventions

Generate API documentation locally:

Terminal window
pip install pdoc
pdoc rfx -o docs/api

Then open docs/api/index.html in your browser.

  • GitHub: bk-squared/rfx
  • Public docs snapshot: remilab.ai/rfx
  • Top-level API exports: rfx.__init__
  • Package metadata: pyproject.toml
  • Advanced example bundle: examples/50_advanced/