pub fn broaden_with_budget(
energies: &[f64],
data: &ResonanceData,
temperature_k: f64,
channel: Channel,
budget: QuadratureBudget,
) -> Result<TierOneBroadening, DopplerError>Expand description
Value and (optionally) temperature derivative of one channel at every target energy, under an explicit quadrature budget.
The kernel width u = √(k_B T / A) is built from the source’s OWN
awr, so the kernel width and the resonance equation can never describe
different nuclides. Taking a caller-supplied DopplerParams would
allow that: an AWR wrong by 0.87% moves the width by 0.43%, which is
below every tolerance in this module.
At zero temperature, or an underflowed u, there is no kernel and the
values are the unbroadened equation.
§Errors
DopplerError for an invalid grid or temperature, or for a quadrature
that cannot converge inside budget.