Expand description
Surfaces and interfaces for the electron loop: per-material band parameters (Fermi energy and inner potential) and the quantum-mechanical potential step.
§Energies
Inside a material, the electron’s kinetic energy is measured from the
bottom of that material’s band, the convention of Kieft and Bosch,
J. Phys. D: Appl. Phys. 41, 215310 (2008), doi:10.1088/0022-3727/41/21/215310,
as written out by T. Verduin, Quantum Noise Effects in e-Beam Lithography
and Metrology, PhD thesis, Delft University of Technology (2017),
doi:10.4233/uuid:f214f594-a21f-4318-9f29-9776d60ab06c (cited below as
“Verduin” with the thesis’s printed page and equation numbers). The
inner potential U is the depth of that band bottom below the vacuum
level, so an electron of kinetic energy E inside has E - U in vacuum.
For a metal U = E_F + Φ (Fermi energy above the band bottom plus work
function; Verduin p. 98 and Fig. 3.28). For a semiconductor or insulator
the band bottom is the bottom of the valence band and
U = W_v + E_g + χ (valence band width, band gap, electron affinity), with
the Fermi level placed mid-gap, E_F = W_v + E_g / 2. That band model is
cstool’s (cstool/input_data/band_structure.py, see BandStructure).
§The step
An electron crossing from a region of inner potential U into one of U'
sees the step ΔU = U' - U (Verduin Eq. 3.136, p. 99; vacuum has U = 0).
With θ the angle between its direction and the face normal and
E_n = E cos²θ its normal energy:
- if
E_n + ΔU <= 0it is always reflected (specularly); - otherwise it is transmitted with probability
T = 4 s / (1 + s)²,s = sqrt(1 + ΔU / E_n)(Verduin Eq. 3.145, p. 102, the plane-wave step of Eqs. 3.140-3.144), and reflected otherwise; - on transmission its kinetic energy becomes
E + ΔUand it is refracted, conserving the momentum parallel to the face:sin θ' = sin θ / sqrt(1 + ΔU / E)(Verduin Eq. 3.139, p. 100).
The step and the refraction are ported from Nebula,
source/physics/boundary_intersect.h at commit
a50a8e83207980ed221ac83cfe874751d39b86a9
(https://github.com/Nebula-simulator/nebula), BSD-3-Clause,
Copyright (c) 2020, Nebula-simulator; the notice is in
THIRD_PARTY_LICENSES.md. Nebula’s optional empirical interface absorption
(off by default there) is not ported.
§Defaults
A BandStructure is made from values the caller supplies, and it
refuses an empty provenance. The one computed helper is
BandStructure::free_electron_metal, which takes the Fermi energy from
the free-electron relation (Verduin Eq. 3.133) and the layer’s atom
density.
A small table of cited per-material parameters, BAND_DEFAULTS,
covers Al, Cu, Au, W, Si and SiO2. Look an entry up with
band_defaults. Each value in it names the document, table or figure,
page, and the date the document was opened. A parameter with no source
that could be opened has no number: the field is None and the
entry’s BandDefaults::gap note says what was tried. As of 2026-10-08
the table holds:
- Si: band gap 1.1 eV and electron affinity 4.05 eV (Robertson and Wallace 2015). No valence band width.
- SiO2: band gap 9 eV (Robertson and Wallace 2015). No electron affinity and no valence band width.
- Al, Cu, Au, W: nothing. No work function and no measured Fermi energy could be cited to a source that was opened.
So no entry is complete yet. BandStructure::from_defaults builds a
band from an entry alone and says which parameters are missing.
BandDefaults::complete takes the missing ones from the caller (with
their provenance) and keeps the cited ones, and its provenance string
names both. The full list of sources tried, opened or not, is in
docs/data-provenance.md (rows “Per-material barrier parameters” and
“Cited band defaults”).
Structs§
- Band
Defaults - The cited band parameters of one material. A field is
Nonewhere no source that could be opened gives the value;BandDefaults::gapsays what was tried. Fields that do not belong to the entry’sBandKindare alwaysNone. - Band
Fill - Caller-supplied values for the parameters a
BandDefaultsentry lacks. Leave a fieldNoneto use the cited value; a field set for a parameter the entry already cites is refused (build withBandStructure::newto replace a cited value). - Band
Structure - The band parameters of one layer, with where they came from.
- Cited
Value - One cited band parameter.
Enums§
- Band
Error - Errors from building a
BandStructure. - Band
Kind - Whether a
BandDefaultsentry describes a metal or an insulator, i.e. whichBandModelit builds. - Band
Model - The band model of one material, after cstool’s
band_structureclass (cstool/input_data/band_structure.pyat commit0c739eb3fcc3fe5297e74c601ac4a9546db596cf, https://github.com/Nebula-simulator/cstool, BSD-3-Clause, Copyright (c) 2020, Nebula-simulator; notice inTHIRD_PARTY_LICENSES.md). cstool treats semiconductors and insulators alike, and so does this type. - Step
Outcome - The outcome of
cross_step.
Constants§
- BAND_
DEFAULTS - The cited band parameters, one entry per material (see the module docs, “Defaults”). Every value cites its table or figure and page.
Functions§
- band_
defaults - The cited band parameters of
material(a chemical formula such as"Si"or"SiO2", matched exactly), orNoneif the table has no entry for it. - cross_
step - One electron at a face normal to
x, ported from Nebula’sboundary_intersect::execute(file and commit in the module docs). - free_
electron_ density_ per_ m3 - Conduction-electron density, per m³, at Fermi energy
fermi_ev: Verduin Eq. 3.133 (p. 95) as printed. The inverse offree_electron_fermi_energy_ev. - free_
electron_ fermi_ energy_ ev - Free-electron Fermi energy, eV, for
nconduction electrons per m³: Verduin Eq. 3.133 (p. 95),n = (2 sqrt 2 / 3π²) (m_e E_F / ħ²)^(3/2), solved forE_F, which givesE_F = (ħ² / 2 m_e) (3π² n)^(2/3). CODATA constants fromcrate::constants. - step_
transmission - Transmission probability through a potential step
delta_u_evfor an electron of normal energynormal_energy_ev = E cos²θ(Verduin Eq. 3.145, p. 102): zero whenE_n + ΔU <= 0(the electron cannot get over), else4 s / (1 + s)²withs = sqrt(1 + ΔU / E_n). Symmetric under exchanging the two sides (s -> 1/s).