RayRF vs openEMS: a head-to-head FDTD benchmark
Both tools solve the identical setup on one machine, stepping the same mesh at the same active cell count, so neither is doing less work than the other. These are the same numbers shown on the benchmarks page.
The numbers
The case is a 5.8 GHz rectangular patch on an 82.8 million cell mesh, stepped 1,000,000 times, on an RTX 5090 GPU and a Ryzen 9 9950X CPU. Throughput is FDTD cell updates per second, so higher is faster. The throughput is what was measured; the wall-clock column is that rate carried out to 1,000,000 timesteps.
| Engine | Throughput | Wall-clock, extrapolated | Speedup |
|---|---|---|---|
| RayRF GPU (RTX 5090) | 39,600 MCell/s | 34 m 51 s | 173.7x |
| RayRF CPU (Ryzen 9 9950X) | 4,620 MCell/s | 4 h 59 m | 20.3x |
| openEMS (CPU SSE) | 228 MCell/s | 4 d 5 h | 1.0x (baseline) |
The benchmark case is a patch antenna, but the throughput holds across problem types: the solver steps cells, and these are the sustained rates it steps them at. RayRF on the same CPU as openEMS is 20.3x, so the gap is not only the GPU. The multiple itself matters less than what it changes: a 35 minute answer supports an edit-and-rerun workflow, and a 4 day answer does not.
Accuracy on the same footing
Speed only counts with the physics right. RayRF is validated against 43 structures measured on a VNA across 4 fabricated boards, with resonances tracking within 1-2% at the higher refinements: the measurement write-up covers the method, and the per-structure overlays are on the validation page. For the workflow side, see RayRF as an openEMS alternative.
Draw a board, slide the quality preset, and click Run. 30-day free trial, no card required. Windows and Linux.
Start the free trial