The "Back of the Napkin" math behind mash pH adjustments

I should clarify this statement. I forgot to "show my work"...

In Post 2 it is stated that 32.17 mEq needs 2.8 ml of 88% Lactic acid. Adding 75 PPM Alkalinity divided by a molecular weight of 50 is 1.5, and 20 liters then needs 30 mEq of acid. 30/11.45 = 2.62 ml of additional 88% LA for the batch. in my world, 2.62 is 'just under 3 ml'. The former response I did in my head, this one needed a calculator.

I rounded off here, since few of us have the ability to measure a tenth of a ml, much less a hundredth. And the napkin is getting crowded...

You nailed it. Nice work!
 
Last edited:
Lifting the napkin and moving on to some brass tacks of mash pH adjustment.

To rise above the napkin and stop guessing we need to derive a better way to determine BC and pH_Initial than merely guessing, not merely for the aggregate grist, but for each malt or grain that goes into the aggregate grist. A test mash for each grist component will be our friend here. It needs to be carried out in mineral free DI water whereby to determine the pH at which it mashes when no mineral or acid (etc.) ions are present, whereby to determine its pHDI.

What we formerly referred to as pH_Initial for the grist becomes the pHDI for each malt or unmalted grain that makes up the grist.

Lets say we have test mashed 1 Kg. of a base malt in 4 L of DI water, or in good distilled water, and measured the room temperature pH of the Wort to be 5.70.

pHDI of our base malt = 5.70

Now, by trial and error we have done progressive identical test mashes of our subject malt with incremental additions of an acid of our choice (lets use 88% Lactic Acid, which we know to have an acid strength of 11.451 mEq/mL at pH 5.40) until we have mashed our Pilsner at pH 5.40, and we record the quantity of acid that got us to pH 5.40.

Lets say that it took 1.15 mL of our acid to move our base malt test mash to pH 5.40

1.15 mL x 11.451 mEq/mL = 13.17 mEq's of Acid

We will once again use our core equation:
Delta_pH = mEq's/(BC x Kg)
(5.70 - 5.40) = 13.17/(BC x 1) [where Kg = 1 because we have test mashed 1 Kg]
0.30 = 13.17/BC
BC = 43.9

We now know the following KEY factors for our base malt:
pHDI = 5.70
BC = 43.9 mEq/Kg_pH
(which means that if we had added 43.9 mEq of acid, instead of 13.17, the test mash pH would have been 4.70, presuming that the plotted titration 'curve' is linear*)

*We know the titration will not actually be linear over large pH movement scales such as a whole pH point or greater, but if we always adjust our mash to 5.40 pH it is effectively linear. Or if we mash within the very near vicinity of 5.40 pH we can presume the induced error due to actual non-linearity over such small scales will not be huge.

Lets now jump ahead a bunch for brevity and presume that we have similarly test mashed an 80L Caramel malt, and discovered:
pHDI = 4.78
BC = 71.8 mEq/Kg_pH

What happens (mash pH wise) if we now mash 5 Kg. of our tested base malt combined with 1 Kg. of out tested 80L Caramel Malt in distilled water and target 5.40 pH?

For the base malt:
(5.70 - 5.40) = mEq/(43.9 x 5)
mEq = 65.85 [acid required since positive]

For the 80L Caramel malt:
(4.78 - 5.40) = mEq/(71.8 x 1)
mEq = -44.52 [base required since negative]

65.85 + -44.52 = 21.33 mEq's of acid required (since positive) to move the 6 Kg. of our hypothetical mash to pH 5.40

21.33 mEq/11.451 mEq/mL ~= 1.86 mL of 88% Lactic Acid required to be added

So if we mash 5 Kg. of our base malt plus 1 Kg of our 80L Caramel malt in DI water we must add ~1.86 mL of 88% Lactic Acid whereby to bring our mash to a room temperature measured 5.40 pH.
 
Last edited:
What might the pH of our hypothetical base malt and caramel malt mash have been if we didn't add the ~1.86 mL (our above calculated 21.33 mEq) of 88% Lactic Acid, or before we added it?

(5 Kg x 43.9 BC) + (1KG x 71.8 BC) = 6 Kg x BC_Grist
BC_Grist ~= 48.55

Delta_pH = mEq's/(BC x Kg)
(pH? - 5.40) = 21.33/(48.55 x 6)
(pH? - 5.40) = 0.073223481
pH? ~= 5.47322....

We would expect to have mashed at ~5.47 pH (rounded) if we did not adjust our hypothetical mash.
 
Last edited:
Now I pretty much know that close to none of us are going to do test mashes whereby to derive pHDI's and BC's for any of our favorite malts and unmalted grains, flakes, torrefieds, rolled, puffed, boil gelatinized, etc... for what must be literally many hundreds of such all differing products. One might think this has actually been done already and done in a sound fashion at that. But the truth is that within the public domain there isn't much data for any of us to go on at all, and the number of people who have contributed to this data can be counted on the fingers of one hand. And worse, we don't for all cases know the specific DI water test mash methods employed, or the specific titration methods, or the target pH's chosen, or if the titrations were of fixed mEq nature and blew right past the mash pH target, whereby entering into massive non-linearity error land, or the mash temperatures or profiles, or if DI mash pH data was taken via pH meter for mash temperature or for room temperature pH meter readings, or if perhaps no pH meter was used at all and instead primitive color change "indicators" were used to assess pH, etc..., etc... We simply can't trust the data, and we can't even definitively equate and thereby equilibrate the data from one of these handful of souls to another, etc... The reliability of the overall data for assessing pHDI and BC is poor to terrible when taken as an aggregate whole.

I once asked (on a different forum) whether anyone would pay to have their malts, etc... tested for pHDI and BC determination under controlled and uniform conditions, and got zip replies stating any desire to know any of this stuff. It appears instead that the mostly fantasy myth of water profiles magically transforming one into a master brewer is so strong and so often has had its mantra chanted as to make concise analytical malt assessments fully irrelevant to good brewing. I've even heard this repeatedly and humorously expressed as: 94-96% of beer is water, so water is the only game in town.

The state of affairs as outlined here is abysmal at best overall. The best compilation of the scant and questionable available data (terrible as it is) has been gathered and placed under one roof within the Appendix section of the simply amazing and tremendously useful paper titled "A Homebrewing Perspective on Mash pH III: Distilled-Water pH and Buffering Capacity of the Grist" by D.M. Riffe and his assistant Mick Spencer, as released in 2018.

The bottom line is that BC and pHDI as utilized by any mash assistant software that takes such an approach as to utilize these valuations (as opposed to being quasi-empirical to full blown empirical) ends up being quasi-empirical and loaded with approximations fueled by confirmation biases and select intuition driven data cherry picking from a way too small subset of scant data. And even the scant few attempts at devising better approaches than the "linear math" methods to assess BC's as seen outlined here are rife with most of the same problems, presumptions, assumptions, and intuitive guesses cherry picked from the terrible and minuscule data that is available.

Worse yet, Kai Troester once noticed that both pHDI and BC are noticeably impacted (BC presumably by me to be well more so) by grist crush, and it is to be presumed that all of the scant data from the finger count of guys/gals who tested for it was likely carried out for fully pulverized malts/grains/flakes... Far and away most of us are mashing with nowhere near a pulverized grist. So accordingly we can't even really hope to make filtered, manipulated, and confirmation bias loaded cherry picking work.

Is there hope?
 
I could say "Relax, don't worry, have a home brew". The facts that we're flying worse than blind are irrelevant: most of us are doing fine stumbling along.

Nonetheless: Many years ago, I helped develop a book called "xxxxx Standard Test Methods" (what xxxxx is isn't important). A friend wrote this book, and I assisted by doing some double checks of the test methods. I did this because I had both the expertise, the inclination, the time, and most importantly the interest. We did self publish it and perhaps two dozen copies were given away. It never was intended to be a formal project. It was well accepted in the small community for which it was intended.

@Silver_Is_Money have you ever considered such a thing? Start like we did, one test procedure at a time. As the collection grew, the database of results also grew. Over many years, we gathered enough data, using the standardized methods, allowing for meaningful comparisons and insight.

It didn't matter whether the test method was perfect or not, what was important is that everyone use the same test.

So, for example, testing the buffering capacity of a particular grain with a particular crush as you outlined above might be something worth documenting. If 25 people perform the test with 0.42 crush 2-row pale malt from Rahr, then we might have statistically valid numbers that can then be used by others.

You might not find 25 people here, but an article in Zymurgy magazine might entice a bunch of folks.

Thoughts?
 
It didn't matter whether the test method was perfect or not, what was important is that everyone use the same test.

Indeed this hits the nail on the head. If everyone is on precisely the same page the inherent imperfections of the test method sort of fade away.
 
And now for something empirically different, but first this brief commercial message:

Friend, are you tired of fighting confirmation bias, cherry picking, and all of the other myriads of frustrations whereby to attain nominally workable pHDI and BC valuations for exclusively barley malts and unmalted barley grains (with the potential for others to come)? Well, if you are then perhaps you simply need to take a shortcut or two. Presenting:

BC_Caramel_Crystal_Malts = 28+LN(Lovibond_Color)*8 + (Lovibond_Color)/8
BC_For_All_Other _Malts = 34.5+LN(Lovibond_Color)*5.75

pHDI_Caramel_Crystal_Malts = 5.65 - 0.55*LOG((Lovibond_Color + 0.7)/1.35444)
pHDI_For_All_Other _Malts = 5.87 - 0.5*LOG((Lovibond_Color + 0.7)/1.35444)

Note carefully that BC's utilize Natural Logs, whereas pHDI's use log base 10.

Why pretend to seemingly desire to mathematically conquer all empiricism, when instead you can fully endorse and embrace it, and feel better about pHDI's and BC's right away?

Standard Disclaimers: No warranties. No guarantees. YMMV (this line to be spoken very fast)
 
In all of the above the acid chosen has been 88% Lactic Acid, with its acid strength at specifically pH 5.40 being 11.451 mEq/mL. But you may wish to choose some other acid. Therefore:

Use these various mEq/mL Acid Strengths, relative specifically to a target of pH 5.40:

use 11.451 mEq/mL for 88% Lactic Acid
use 10.246 mEq/mL for 80% Lactic Acid
use 3.660 mEq/mL for CRS/AMS
use 1.0903 mEq/mL for 10% Phosphoric Acid
use 3.667 mEq/mL for 30% Phosphoric Acid
use 12.262 mEq/mL for 75% Phosphoric Acid
use 14.865 mEq/mL for 85% Phosphoric Acid
use 12.635 mEq/gram for Citric Acid (anhydrous)
use -11.904 mEq/gram for Baking Soda (negative value because this one is a base and not an acid)

NOTE: Weak acids strength varies with respect to the pH of its environment, and some acids (and bases) strengths vary to much larger degrees than others, so this data is only valid at pH 5.40.
 
And lastly there is a need to reduce sparge water alkalinity. To reduce water to ~pH 5.40, compute its mEq's/L of Alkalinity, and multiply this value by the number of Liters to be treated, whereby to determine the waters overall (or Total) Alkalinity mEq's.

To reduce Alkalinity to zero requires that water be acidified to pH 4.3-4.4. But we only want to reduce our sparge water to pH ~5.40. This requires (approximately, as a simplification) that we only remove 90% of its total alkalinity. So multiply the waters Total mEq's of Alkalinity by 0.90, and then add this same quantity of mEq's as derived from any of our acids listed above. Your water pH should now be ~ pH 5.4.

Example: For 30L of water with 120 ppm (mg/L) Alkalinity (as CaCO3).

EQ Wt of CaCO3 = MW/2 = 100.0869/2 = 50.04345

120 mg/L Alkalinity / 50.04345 = 2.398 mEq/L Alkalinity

30L x 2.398 mEq/L = 71.94 mEq's of Total Alkalinity

90% of 71.94 = 0.90(71.94) = 64.75 mEq's to be removed whereby to bring the water to ~pH 5.40

If once again we chose to use 88% Lactic Acid, then:

64.75 mEq / 11.451 mEq/mL = 5.65 mL of 88% Lactic Acid

Answer: Add 5.65 mL of 88% Lactic Acid to 30 Liters of 120 mg/L (ppm) Alkalinity water whereby to reduce its pH to ~5.4.

NOTE: If your water report has Bicarbonate (HCO3-) instead of Alkalinity, then:
Alkalinity (as CaCO3) mg/L = 50.04345/61.01684 x Bicarbonate mg/L
 
Last edited:
Do you know the strength of food-grade lye?
 
As to the BC (buffering capacity) values for malts, it was noted in the last paragraph of post #24 above that BC's as given to us by the data available (and also via my shortcut empirical BC computation method as seen in post #27 above) is for pulverized malts/grains. To adjust BC's for mill gap crush I (tentatively, but strongly) suggest that you apply the following adjustment, and use the adjusted grist component BC's whereby to compute your acid/base adjustment additions:

BC_Mill_Gap_Adjusted = [1 - (6.9215 x Mill_Gap_Inches)] x BC

BC_Mill_Gap_Adjusted = [1 - (0.2725 x Mill_Gap_Millimeters)] x BC
 
Do you know the strength of food-grade lye?

Not tested or verified, but you might initially try -25 mEq/gram as a tentative first stab at it (minus 25 mEq/gram)

This assumes that Lye is NaOH crystals.
 
How to determine the pHDI and BC for any lot of malt or unmalted grain:

1) Pulverize ~120 grams of any individual malt/grain in a well cleaned out coffee grinder, and add a carefully measured 50 grams of this to each of 2 x Pint canning jars (Widemouth). 50 grams = 0.050 Kg.

2) Add 200 mL of DI or distilled or RO water testing at 5.0 mg/L (ppm) TDS or less to each of the two Pint jars. Stir.

3) To only one jar of the two add 1* or 2* mEq* of acid* or base* (which is best added as 10-20 mL of 0.1N* acid* or base*). Stir.

4) Mash both samples for 45 minutes in a heated water bath such that the internal jar mash temperature is maintained at extremes of ~147-158 F. (~64-70 C.) Ideally try to hold at the temperature mid-range of these extremes. Stir occasionally.

5) Allow both mashes to settle and fully cool to room temperature.

6) Measure pH. Record the pH of the mash done in distilled water as pHDI. Record the pH of the mash with added acid or base as pHz.

7) (pHDI - pHz) = mEq/(BC x 0.050Kg.)
Solve for BC (the units for which are mEq/Kg_pH)

*general notes and guidelines:
For all "base malts" and malts of up to ~40L (105 EBC) add 1 mEq of Acid or Base, and for malts above ~40L add 2 mEq.
For malts presumed to have pHDI's of 5.40 or higher (such as base malts) add 0.1N acid
For malts presumed to have pHDI's of less than 5.40 add 0.1N base
10 mL of 0.1N acid or base = 1 mEq
20 mL of 0.1N acid or base = 2 mEq
 
Is there any means whereby to make threads "sticky" on this forum? I foresee this thread eventually and inevitably dropping off the charts and into forum oblivion, as such is the eventual fate of all threads. But within this single thread lies an entire viable, buildable, and testable, and therefore validitable (as well as disvalidatable, which is the standard criteria for all of science) math model for mash pH adjustment assistance. Although similar models might exist elsewhere, I can't imagine this much focused effort to fully outline the stated end goal residing under a single thread anywhere else on a forum residing on the internet.
 
I agree this is good stuff. As I learn I like to go back and reread what I didn’t previously understand.
 
Is there any means whereby to make threads "sticky" on this forum? I foresee this thread eventually and inevitably dropping off the charts and into forum oblivion, as such is the eventual fate of all threads. But within this single thread lies an entire viable, buildable, and testable, and therefore validitable (as well as disvalidatable, which is the standard criteria for all of science) math model for mash pH adjustment assistance. Although similar models might exist elsewhere, I can't imagine this much focused effort to fully outline the stated end goal residing under a single thread anywhere else on a forum residing on the internet.
May I suggest that you offer to the admins to take all of the information in this thread and turn it into something that could be posted as a blog?
It could be posted here for easy reference, and maybe titled, "Water Chemistry - Next Level"
Your level of knowledge on the subject is most certainly "Next Level", and would be very useful for anyone wanting to venture further down the rabbit hole of water chemistry!

upload_2021-5-12_10-31-42.png
 

Back
Top