GETELEC

Fully Numerical Thermo-Field Electron Emission Solver

The Core Philosophy

GETELEC bridges the historical divide between analytical speed and physical accuracy in electron emission simulations. Designed for emission modeling from both metals and semiconductors, it evaluates electron flux across arbitrary surface interfaces.

As demands on electron sources increase, the conditions under which they operate change in a manner that causes simple models and early formulations of the canonical equations to require updating and extension. GETELEC eliminates these limitations entirely by adopting a pure numerical framework that is as computationally efficient as the analytical solutions.

Why GETELEC stands out:
  • Analytical Speed, Numerical Power: Built with optimized vector algorithms that operate at a computational budget comparable to evaluation times of complex analytical expressions.
  • Uncompromising Robustness: Bypasses typical truncation, high-field breakdown, and approximations errors native to analytic formulas.
  • Complete Boundary Freedom: Accepts any arbitrary potential barrier structure or density of states (DoS) without adjustments to the underlying engines.
  • AI Boosted: Integrates a machine‑learning solver that delivers exceptional computational speed, ideal for applications where time is a critical resource.

Architectural Overview

An emitter is assembled from four interchangeable components, one module each. The emitter combines them into every physical result, so a different barrier or a different solver can be swapped in without touching the other three. The one-line functions (getelec.current_density, getelec.nottingham_heat, …) and this application assemble sensible defaults for you.

Potential barrierpotential_barrier
V(x): work function, field, tip shape
Band structureband_structure
which energies are integrated
Electron supplyelectron_supply
occupancy: EF, temperature
Transmission solvertransmission_solver
D(E), the tunnelling probability
↓
Emitterelectron_emitter
metal or semiconductor
→
ResultsJ, PN, TED, NED, D(E), N(E), ψ(E,x)

Click a component for what it does and which classes implement it:

MetalEmitter and SemiconductorEmitter (electron_emitter) turn the four components into physical results: the current density J (A/cm²), the Nottingham heat PN (W/cm², negative when the emitter heats), the total and normal energy distributions TED and NED (A/(eV·cm²)), the transmission D(E) and supply N(E), and, with the full Noumerov solver, the wavefunction ψ(E,x) and the probability current.

  • The current density is the integral of the TED, and the NED integrates to the same value, so the current and the distributions cannot disagree.
  • A semiconductor emitter treats the conduction and valence bands separately, each with its effective mass, and reports both. It also returns g(E), the transmission integrated over each energy's effective-mass window, which is where the masses act.
  • update_params sets a parameter on every component that holds it (the Fermi level lives on the barrier, the supply and, for a semiconductor, the band structure), and results are cached against every setting, so asking for the Nottingham heat after the current does not repeat the calculation.

The potential energy V(x) an electron meets outside the surface (potential_barrier).

  • SchottkyPotential: the planar image-charge (Schottky–Nordheim) barrier. The default.
  • SmallRadiiPotential: a sharp tip, with curvature corrections set by the tip radius and the field enhancement factor γ. Valid for radii of 20–1000 nm.
  • TriangularPotential: no image charge, the barrier of Fowler and Nordheim; its transmission has an exact solution.
  • Customised: a potential of your own, as a function V(x) or a table, such as a self-consistent or DFT surface potential or a field solver's output. With a metal emitter its Fermi level, work function, field and temperature follow the emitter's, so sweeps move it too.

Every barrier, Customised included, goes to the same solvers, emitters and distributions unchanged. The Noumerov solvers integrate the potential itself; the WKB and Airy solutions assume the Schottky–Nordheim and triangular shapes.

Which energies the emission is integrated over (band_structure). The integrand spans many orders of magnitude, so choosing the grid well matters as much as solving each energy well.

  • SmartMetal: the default. Picks its limits from the field, work function and temperature, holding the current density and Nottingham heat within 1% wherever the current reaches 10⁻¹² A/cm².
  • Metal and CustomMetal: limits, or a grid, of your own.
  • DensityOfStatesMetal: a tabulated density of states, from a DFT calculation for instance, which weights the emission at each energy relative to a free electron gas.
  • Semiconductor, SmartSemiconductor and CustomSemiconductor: separate conduction and valence band grids, with the band gap, the valence band edge and the two effective masses.

How the electrons arriving at the surface are distributed in energy, set by the Fermi level and the temperature (electron_supply).

  • LogFermiDirac (the default) and FermiDirac.
  • Both give the Fermi–Dirac occupancy f(E), which builds the total energy distribution, and the supply l(E) = kBT ln(1 + e−(E−EF)/kBT), which builds the normal one.
  • Evaluated in forms that stay exact across the whole energy range and down to T = 0 K.

The transmission probability D(E): the expensive part, and the one that sets the accuracy (transmission_solver, transmission_solutions).

  • Noumerov: the default. Solves the one-dimensional Schrödinger equation through the barrier with Noumerov's method, and keeps the wavefunction for when it is the answer.
  • NoumerovFast: the same integration keeping only what the transmission needs. Its fast=True preset is for sweeps and fitting.
  • NoumerovReference: the same integration written out plainly, one energy at a time, to check the others (reference=True).
  • NeuralSolver: trained networks for the planar and sharp-tip barriers (method="ml"). Outside a network's trained range it hands over to the exact solver. getelec.training trains one for another barrier.
  • Closed forms, for comparison: WKB, the semiclassical result for the Schottky–Nordheim barrier (method="wkb"), and AiryTriangular, the exact solution for the triangular barrier (method="airy").

This interface is a thin layer over the package: the window (gui.py) moves numbers between the boxes and the plots, and every calculation and fit lives in gui_backend.py, which contains no interface code, so it is tested with the package and can be called from a script.

  • Calculate: current against field or temperature, Nottingham heat, TED, NED, D(E), N(E), and g(E) for semiconductors, with a choice of solver. Calculations run in the background, so the window stays responsive.
  • Fit: I-V, I-T and TED data from .txt, .csv or Excel files, choosing which parameters are free, with standard errors and the correlations that limit what the data can determine. Metals only.
  • Documentation: opens these pages, the usage guide and the API reference in your web browser. They are generated from the same sources as the documentation of the package.

Units throughout: energies in eV, distances in nm, fields in V/nm, temperatures in K, current densities in A/cm², Nottingham heat in W/cm².

Capabilities

Fully Numerical Thermo-Field Field Emission Electron Emission Metal Emission Semiconductors Emission Nottingham Heat Nano-Tips Arbitrary DoS Arbitrary Potential

Performance Paradigm

GETELEC eliminates the computational overhead typically associated with raw numerical integrations by implementing a highly optimised version of the Noumerov method to solve the 1D-TISE.

<1.00%
Solution Uncertainty
<0.4 ms
Per current density

How to Cite

If you use GETELEC, please cite the software,

S. Barranco Cárceles, A. Kyritsakis and A. Ayari, GETELEC: General Tool for Electron Emission Calculations, Zenodo, doi:10.5281/zenodo.23093209,

The software DOI covers every version and resolves to the latest one.