@beerwright/core
    Preparing search index...

    Function standEffectiveBoilMinutes

    • Converts a hop stand into effective boil-minutes.

      Tinseth's boil-time factor is the integral of a first-order process running at a fixed rate. When the rate varies with temperature, the correct substitution is the time integral of the relative rate:

      t_eff = ∫₀^t r(T(τ)) dτ
      

      and then any of the time-based utilisation curves can be evaluated at t_eff. That substitution lets the whirlpool models work with all three bitterness formulas without special cases.

      We assume the wort cools exponentially towards ambient: T(τ) = T_ambient + (T₀ − T_ambient) · e^(−k τ), following the mIBU approach of John-Paul Hosom (A Modified IBU Calculation, 2018). The integral uses the trapezium rule. k defaults to 0.015 min⁻¹ (see DEFAULT_WHIRLPOOL_COOLING_RATE_PER_MIN).

      The default k is a model assumption. A caller that knows the temperature at the end of the stand can pass StandModelOptions.endTempC, and k is solved from the two temperatures. A held stand is the degenerate case of that solve and goes straight to fixedTemperatureStandEffectiveBoilMinutes.

      Parameters

      Returns number