RayRF vs a VNA: 43 measured structures on 4 boards
Real measurements are what matter in the end, so that is what RayRF is validated against: physical boards on a VNA, not another simulator's output.
The boards
The 4 boards were fabricated at JLCPCB on ZYF300CA-C, a PTFE substrate with Dk 2.94 and Df 0.0016. PTFE keeps the material properties tightly controlled, which matters because any comparison against hardware is really a comparison against the substrate you actually got. Total fabrication cost was 157.98 USD. Each structure was measured on a calibrated VNA, then simulated in RayRF from the same nominal dimensions and material properties. The set spans what PCB RF designers actually build:
- Single-resonance rectangular patch antennas.
- A dual-band patch with modes near 4 and 6.4 GHz.
- An interdigital bandpass filter with four reflection poles.
- Ring resonators.
Results
| Structure | What was checked | Agreement |
|---|---|---|
| Interdigital bandpass filter (~2.4 GHz) | Number, spacing, and order of four S11 poles | Pole frequencies within ~1% across the band |
| Dual-band patch (~4 / 6.4 GHz) | Both resonant frequencies | Both within ~1% |
| Single patches (6 GHz band) | Resonant frequency | Tracks within ~1% |
| Remaining structures, 4 boards | Resonance and pole positions | Within 1-2% at the higher mesh refinements |
The interesting cases are the ones that converge slowly. The ring resonators under-predict frequency at coarse meshes, and the best explanation is staircasing: rectangular cells only approximate the curved surface, and a staircased ring runs a slightly long outer radius, closer to Manhattan distance than the true Euclidean one. A too-long electrical length is exactly an under-predicted frequency, and the error shrinks as the mesh refines. openEMS shows the same behavior on the same structures, which is what you would expect from two solvers sharing the same underlying method.
Frequency agreement is the number reported here, not a single magnitude percentage. At a sharp resonance a small frequency shift turns into a large magnitude change, so one magnitude figure would look precise while carrying no information. Getting the resonance in the right place is what design work needs.
Why measurements and not another solver
Cross-solver comparisons carry a real risk: a bias shared by two solvers, or held by the reference, produces a false green flag or a false red one. The big commercial tools are also out: the HFSS and CST licenses do not permit their use in developing other RF simulation programs. Measurements sidestep all of it, and they are the thing a design has to survive anyway.
RayRF does agree well with openEMS on these cases, but getting there took careful case-building, because the two tools have different mesh-discretization conventions. When a patch edge lands exactly on a mesh line, one tool puts the conductor on the +x cell and the other on the -x cell, and at coarse meshes that single-cell difference moves the answer. With the exact same realized meshes the two produce very similar results, which is what the same computational method should do. The matched-mesh speed comparison is in the benchmark post.
What is next
Two more boards are on the way. One targets in-port matching networks. The other is for calibrating a copper loss model: every simulation above runs perfect conductors with lossy dielectrics, and the loss separator board is the data that model will be fit against. Results will be published the same way, overlaid traces and all, on the validation page.
The bundled patch example is one of the validated structures. Open it, run it, and compare. 30-day free trial, no card required.
Start the free trial