Expand description
How often the electron transport read each cross-section table inside its energy grid, and how often it used the constant continuation beyond an end.
The transport interpolates the rate (and the inverse CDF) of each table
linearly in energy between the rows of the table’s own grid, and holds the
first or last row constant outside it (crate::electron::transport, module
docs, “Free flight”). That continuation is a numerical choice, not physics:
a validation run whose electrons spend many flights beyond a grid end
measures the continuation as much as the model. The input resolver can
warn when a configured grid does not cover the expected energies; this
tally counts what actually happened, primaries and secondaries together.
§What is counted
One count per call of
ElectronTally::table_lookup,
per layer and per channel (elastic, inelastic), split by where the energy
lay against that table’s grid [E_min, E_max]:
below:E < E_min, the first row was used;within:E_min <= E <= E_max, endpoints included (an energy equal to an endpoint reads that row exactly, with no continuation);above:E > E_max, the last row was used.
The transport evaluates both rates of the electron’s layer once per pass of its loop, before drawing a free path. So the counts are rate evaluations, not collisions: a flight cut short at a layer face, a pass after a face reflection and a flight with zero total rate are each one evaluation of both tables and no collision, and a channel with zero rate is evaluated (and counted) like any other. They are not fractions of deposited energy or of path length either. The elastic and inelastic counts of a layer are always equal in total; they differ in their split when the two grids differ.
§Determinism
All counts are integers, merged by addition in chunk order, so they are identical at any thread count for a fixed seed and chunk size. Counting draws no random number and changes no state of the transport.
Structs§
- Layer
Table Coverage - Rate evaluations of the two tables of one layer.
- Table
Coverage Counts - Rate evaluations of one table, by where the energy lay against its grid, with the grid’s bounds.
- Table
Coverage Tally - Counts the rate evaluations of every table of a run against its grid (see
the module docs). Usable on its own as an
ElectronTally;crate::tally::FullElectronTallycarries one and puts itsTableCoverageTally::layersinElectronReport::table_coverage.