Skip to main content

broaden_with_budget

Function broaden_with_budget 

Source
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.