← SpaceCorps Blog

47,000× faster electron emission: what we built for a client, and how it compares to GETELEC

SpaceCorps · 16 October 2026 · Case study · Physics & simulation

A client needed to compute electron emission from metal nanotips across millions of field, geometry and temperature combinations. The reference tool (GETELEC) took about 650 ms per point for current density plus Nottingham heat. We built spaceemit in Rust: 17 µs per point, agreeing with GETELEC to 0.0007 % (median) in current density.

34-second walkthrough. The nanotip animation is an illustration: its emission rate follows the real spaceemit J(F) curve, but electron counts are not to scale.

The problem

Cold field emission, thermionic emission and everything between them: when a metal tip sits in a strong electric field, electrons tunnel out through the surface barrier. The current density J and the Nottingham heat PN (the energy the emission carries away or deposits) depend on the local field, tip radius, work function and temperature, and the relationship is highly non-linear. Coupled simulations of a heating tip need that answer for every surface atom at every coupling step. At 650 ms per point, that is out of reach.

What we built

spaceemit is a Rust library and HTTP service that computes J, PN and energy spectra with numerically exact transmission through the barrier (no analytic shortcut such as Murphy–Good). It was written clean-room: its behaviour comes from the published physics and black-box reference data, never from another program's source. It sits inside the same engine family as our molecular dynamics code, spacemd, and the coupled nanotip simulation spacetip.

Benchmarks

We compared spaceemit 0.2.0 against the 2026 Python/numba edition of GETELEC (S. Barranco Cárceles et al.) on 2,456 metal emission points, on one Apple M4 Max with 16 threads, on 5 October 2026.

WorkloadGETELECspaceemitSpeed-up
One point, 1 thread (median of 40)650 ms17 µs~38,000×
One point, GETELEC default threading372 ms17 µs~22,000×
2,456 points, all cores224 s4.7 ms~47,000×
106 points, all cores (extrapolated)~25 h1.9 s~47,000×

Do the answers match?

Speed means nothing if the physics drifts. Over the 2,199 points with J ≥ 10−20 A/nm², the median |ΔJ| between the two programs is 0.0007 % (90th percentile 0.003 %, worst case 0.4 %), and the median |ΔPN| is 0.003 %. The sign of the Nottingham heat agrees at every point across the field, intermediate and thermionic regimes.

Fair-comparison notes. GETELEC was run with the settings shipped in its own examples and was not tuned; coarser grids would be faster and less accurate. GETELEC solves a more general problem (including semiconductor emitters, which we did not compare), and its timings are in-process after JIT warm-up. Both programs agree closely with each other, and both differ from an older reference data set by the same median 1.5 %. We are not claiming that GETELEC is badly written; spaceemit is a purpose-built solver for one problem. The batch figure compares 8 GETELEC processes with 16 spaceemit threads; the single-thread figure is ~38,000×. Method and raw data are available on request.

Why it matters

A solver that takes microseconds changes what you can do: a live viewer where you drag the applied field and watch a copper tip heat up, parameter sweeps over millions of points in seconds, or fitting measured I–V curves interactively. That is what the spacetip coupled simulation does: molecular dynamics, a field solver and emission physics in one loop.

Try it

Need custom scientific software?

We build fast, validated simulation and physics tools to order, in Rust. Get in touch.