@beerwright/core
    Preparing search index...

    Function kettleAcidDose

    • Acid to bring a measured kettle pH down to a target.

      mEq    = buffering × (measured − target)
      amount = mEq / strength(acid, at the target pH)

      The acid's strength is evaluated at the target pH and not at the reading, because the equivalents a polyprotic acid delivers depend on the pH it ends at, which is the target. acidifyWater uses the same convention for the sparge, and solveAdditionsForTargetPh gets there from the other direction by re-predicting the mash pH at each trial dose until it hits the target.

      Wort at or under the target returns a zero dose with noAcidNeeded set. A negative amount would mean taking acid out of the kettle.

      Parameters

      • input: {
            acid: AcidId;
            bufferingMEqPerPh: number;
            concentrationPercent?: number;
            measuredPh: number;
            targetPh: number;
        }
        • Readonlyacid: AcidId
        • ReadonlybufferingMEqPerPh: number

          The kettle's buffering, mEq per pH unit.

        • Optional ReadonlyconcentrationPercent?: number

          Strength, % w/w. Defaults to the acid's own default.

        • ReadonlymeasuredPh: number

          The meter reading, pH.

        • ReadonlytargetPh: number

          The target, pH.

      Returns KettleAcidDoseResult