The worlds easiest mash pH adjustment assistant method?

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
It's an easily rectified problem. Poor efficiency due to crush is a problem in and of itself, not one related directed to, and only to, pH estimation. Therefore, you should not address it in pH estimation, i.e. fix the underlying issue, not code in a kludge in another part of the process.

We have a number of cooler brewers at the LOB forum who crush coarsely and don't recirculate who have zero issues with this.
I don't see the grain buffer multiplier as a kludge, to me that word is a little too harsh for what it is intended to do. Before beginning his titration testing AJ pulverized his grain into a fine flour and that is something brewers will never do intentionally. He must have done so for a reason probably related to maintaining lab conditions throughout his testing.

The grain buffer multiplier lets brewers compensate for buffer discrepancies between the same grain when milled into a fine powder (100%) or into a coarser crush (65%). Buffer calculations referencing the GBM% can then more closely model the buffering capacity of the same grains whether milled finer or coarser with more accuracy. In my mind utilizing the grain buffer multiplier is a necessary and important feature to include in any brewing software.

Keep in mind that not every brewer is going to get 80%-95% efficiency out of their brewing system. Most are likely to add some additional grain or extract to their recipes to hit their gravity numbers. I know I fall into that category and am satisfied to hit 75%-80% efficiency when brewing on my own brewing system.
 
Last edited:
@Big Monk : With regard to your mention of modeling Munich directly as a Caramel/Crystal malt, MME is not presently nearly that radical. Here is how I "currently" have their mEq's stacking up against each other in MME 9.30, for 1 Kg. of malt in DI water being moved to a targeted pH of 5.4. Positive mEq's as seen here mean basic with respect to 5.4 pH (requiring added acid), and negative mEq's mean acidic with respect to 5.4 pH (requiring added caustic):

6L Munich, +9.35 mEq's required to drive it to pH 5.4
6L Caramel, -14.35 mEq's required to drive it to pH 5.4

10L Munich, +5.55 mEq's required to drive it to pH 5.4
10L Caramel, -16.16 mEq's required to drive it to pH 5.4

20L Munich, -3.95 mEq's required to drive it to pH 5.4
20L Caramel, -20.89 mEq's required to drive it to pH 5.4

30L Munich, -13.45 mEq's required to drive it to pH 5.4
30L Caramel, -25.79 mEq's required to drive it to pH 5.4

Big Monk, since you have studied the various Munich's along with the assistance of @Robert65, is it possible for you to compute specifically these same mEq valuations via your math model so we can compare them side by side? I would like to have Munich modeling better before releasing MME 9.30. Perhaps I need to slope them such that all of them require caustic.
 
Last edited:
I don't see the grain buffer multiplier as a kludge, to me that word is a little too harsh for what it is intended to do. Before beginning his titration testing AJ pulverized his grain into a fine flour and that is something brewers will never do intentionally. He must have done so for a reason probably related to maintaining lab conditions throughout his testing.

I believe he most likely was merely following standardized EBC procedure for a Congress Mash, and likely it calls for pulverizing. Charles Bamforth often mentions that small Congress Mashes do not scale well to production level. But he never explains why.

Anything for which there is only empirical evidence of functionality without repeatable and thereby verified technical explanation as to the "why" of it is in my book a kludge.

Don't quote me on this mere aside, but for some reason I recall AJ mentioning that Congress Mash procedure calls for measuring pHDI at mash temperature.
 
Last edited:
I believe he most likely was merely following standardized EBC procedure for a Congress Mash, and likely it calls for pulverizing. Charles Bamforth often mentions that small Congress Mashes do not scale well to production level. But he never explains why.
Knowing something about how AJ works over the years I believe you're right. He approaches science in a very disciplined and methodical way.
 
Back to Munich malt. I just checked the Riffe publication and it does not equate Munich malt acidity with that of crystal malt. Not even close. Unless I'm misreading his data.
 
1.) Spreadsheets allow developers to deliver powerful algorithms for free. User interfaces are only limited by the creativity of the developer. Coding is time consuming and true software based programs for Windows, etc. would require a user base willing to pay, which sadly, homebrewers aren’t known to be fond of.

2.) Why? I’m not against the idea but what purpose would that serve? All these calcs are common knowledge. A.J.’s stuff is well documented, Riffe has documented very well, etc.

1. Many coding tools are free. In fact MS Visual Studio is free, not sure about Apple products. You probably have as many hours in your spreadsheets as it would take to make a reasonable program with a decent UI. Why would a program have to be charged for? Your spreadsheets are given away free.

Not arguing though, as this has all been discussed ad nauseam.

2. That means nothing new is being brought to the table save the documentation of various malt parameters. Still a well written easily accessible (to those with limited knowledge) documentation of the algorithms would be welcome by most. I understand AJ, Kai, and Riffe explain in their papers as well but each is a little different.
 
1. Many coding tools are free. In fact MS Visual Studio is free, not sure about Apple products. You probably have as many hours in your spreadsheets as it would take to make a reasonable program with a decent UI. Why would a program have to be charged for? Your spreadsheets are given away free.

Not arguing though, as this has all been discussed ad nauseam.

2. That means nothing new is being brought to the table save the documentation of various malt parameters. Still a well written easily accessible (to those with limited knowledge) documentation of the algorithms would be welcome by most. I understand AJ, Kai, and Riffe explain in their papers as well but each is a little different.

SRM based 'Step #4' is radically new. So is normalizing SRM to an OG of 1.050. And so is compensating for these so as to derive a better grist_mEq.

This is what is new:

Step 3.5, normalize SRM to 1.050 OG:
Normalized_SRM = NSRM = Actual_SRM * (-7.5*OG + 8.875)

Step 4: Calculate the anticipated pre-adjustment mash pH (pH_M).
pH_M =(0.001*NSRM+1)*(Base_Malt_DI_pH +0.09)-0.035*NSRM+0.0003*NSRM^2 + %_Deep Roast/100
(whereby for example if deep roast is 15% of grist weight, then 15/100 = 0.15 to be added)

Step 5.5) Calculate the adjusted mEq_Grist (which is required due to normalizing the SRM):
Adjusted_mEq_Grist = Step_5_mEq_Grist/(-2*OG + 3.1)

The rest is common knowledge that is in the public domain.
 
1. Many coding tools are free. In fact MS Visual Studio is free, not sure about Apple products. You probably have as many hours in your spreadsheets as it would take to make a reasonable program with a decent UI. Why would a program have to be charged for? Your spreadsheets are given away free.

Not arguing though, as this has all been discussed ad nauseam.

2. That means nothing new is being brought to the table save the documentation of various malt parameters. Still a well written easily accessible (to those with limited knowledge) documentation of the algorithms would be welcome by most. I understand AJ, Kai, and Riffe explain in their papers as well but each is a little different.
Spreadsheets are a great prototyping tool but my goal has always been to develop a browser-based version and that costs money. Added to the webserver hosting fees, domain name and SSL certificate costs can easily run into the hundreds of dollars believe me I know. At some point it becomes important to know that people appreciate your effort and are willing to help you cover some of those costs.
 
@Big Monk : With regard to your mention of modeling Munich directly as a Caramel/Crystal malt, MME is not presently nearly that radical. Here is how I "currently" have their mEq's stacking up against each other in MME 9.30, for 1 Kg. of malt in DI water being moved to a targeted pH of 5.4. Positive mEq's as seen here mean basic with respect to 5.4 pH (requiring added acid), and negative mEq's mean acidic with respect to 5.4 pH (requiring added caustic):

6L Munich, +9.35 mEq's required to drive it to pH 5.4
6L Caramel, -14.35 mEq's required to drive it to pH 5.4

10L Munich, +5.55 mEq's required to drive it to pH 5.4
10L Caramel, -16.16 mEq's required to drive it to pH 5.4

20L Munich, -3.95 mEq's required to drive it to pH 5.4
20L Caramel, -20.89 mEq's required to drive it to pH 5.4

30L Munich, -13.45 mEq's required to drive it to pH 5.4
30L Caramel, -25.79 mEq's required to drive it to pH 5.4

Big Monk, since you have studied the various Munich's along with the assistance of @Robert65, is it possible for you to compute specifically these same mEq valuations via your math model so we can compare them side by side? I would like to have Munich modeling better before releasing MME 9.30. Perhaps I need to slope them such that all of them require caustic.

I meant that in color based (L based) malt models, Munich models better as crystal.
 
Spreadsheets are a great prototyping tool but my goal has always been to develop a browser-based version and that costs money. Added to the webserver hosting fees, domain name and SSL certificate costs can easily run into the hundreds of dollars believe me I know. At some point it becomes important to know that people appreciate your effort and are willing to help you cover some of those costs.

The problem I see here is taking what is in the public domain and charging money for it. It goes along with my contention that you don't sell the steak, you sell the sizzle, and that you don't sell the stuff, you sell the fluff.

I attempted to go it alone with my unique logarithm based approach, but when I finally honed it in I quickly realized its output was more and more becoming nigh on a dead ringer to far less complex public domain methods.

My feeling is that if you uniquely develop it, you are justified in charging for it (albeit that I never did). But if it is public domain, then the intent appears to be one whereby to gain profit upon repackaging (fluff and sizzling) the work of others. This is of course only my opinion.
 
The problem I see here is taking what is in the public domain and charging money for it. It goes along with my contention that you don't sell the steak, you sell the sizzle, and that you don't sell the stuff, you sell the fluff.

I attempted to go it alone with my unique logarithm based approach, but when I finally honed it in I quickly realized its output was nigh on a dead ringer to far less complex public domain methods.

My feeling is that if you uniquely develop it, you are justified in charging for it (albeit that I never did). But if it is public domain, then the intent appears to gain profit upon repackaging (fluff and sizzling) the work of others. This is of course only my opinion.
I say it's best to give the people what they want and what they are willing to invest in. People want recipe creation to be something that is easy to do and that makes the process an enjoyable one. It's not just about getting somewhere its also about enjoying the journey.
 
I surmise that the best thing that appears to be emerging is the uselessness of cluttering up the 'engine' of mash pH adjustment assistant software via building and evolving it around an 'engine' of RA (Residual Alkalinity). For a good while (years to perhaps decades) it appeared as if every publication was focusing heavily upon RA, and no book or magazine published article touching upon this subject was seen to be complete without at least mentioning (drooling over, fumbling over, contorting, feigning, etc...) understanding and thereby utilizing it. AJ gets credit in my book for first mentioning the uselessness of it.
 
Last edited:
Back to Munich malt. I just checked the Riffe publication and it does not equate Munich malt acidity with that of crystal malt. Not even close. Unless I'm misreading his data.

I’m telling you that in practice, Munich malt models as if it were a low L Crystal malt.

I’m not saying anyone explicitly says that, but it is objectively true compared to tons of data between myself and others, particularly from our forum.
 
I’m telling you that in practice, Munich malt models as if it were a low L Crystal malt.

I’m not saying anyone explicitly says that, but it is objectively true compared to tons of data between myself and others, particularly from our forum.

Is 10L crystal in the ballpark of Munich? Does it exhibit any color associated mEq variability such as for crystal?
 
I surmise that the best thing that appears to be emerging is the uselessness of cluttering up the 'engine' of mash pH adjustment assistant software via building and evolving it around an 'engine' of RA (Residual Alkalinity). For a good while (years to perhaps decades) it appeared as if every publication was focusing heavily upon RA, and no book or magazine published article touching upon this subject was seen to be complete without at least mentioning (drooling over, fumbling over, etc...) understanding and thereby utilizing it. AJ gets credit in my book for first mentioning the uselessness of it.
You must be talking about RA as proposed by John Palmer's nomograph some years ago correct? As MpH 4 is using Kolbach and Troester RA calculations.
 
Is 10L crystal in the ballpark of Munich? Does it exhibit any color associated mEq variability such as for crystal?

In color based calcs, it was typically good enough to just model it as crystal and use the Munich malts color.
 
You must be talking about RA as proposed by John Palmer's nomograph some years ago correct? As MpH 4 is using Kolbach and Troester RA calculations.

Since I've never used RA, and I don't believe Big Monk uses it, and I know that AJ poo-pooed it, I had no idea that MpH ever used it, let alone still requires it, and I merely surmised that it did not. It is one thing to report it (to satisfy public demand), but another to actually use it. I've never looked under the hood of MpH. I know Palmer, Kai, and EZ Water use(d) it, and that Kai discovered that when applied to mash pH it was somewhat off target, whereby I presume that he modified it.

As I understand it (subject to correction) , Kolbach first developed and used RA pre WW2, and since his stuff was destroyed during the war he recreated it sometime post WW2. AJ translated and published some of it. Kai realized that it was all talking about knock-out pH, and had little to nothing to do with mash pH. AJ then acknowledged that Kai had hit upon something he himself had completely missed. Perhaps right around then is when AJ realized that it is unnecessary.
 
Last edited:
Since I've never used RA, and I don't believe Big Monk uses it, and I know that AJ poo-pooed it, I had no idea that MpH ever used it, let alone still requires it, and I merely surmised that it did not. It is one thing to report it (to satisfy public demand), but another to actually use it. I've never looked under the hood of MpH. I know Palmer, Kai, and EZ Water use(d) it.

As I understand it (subject to correction) , Kolbach first developed and used RA pre WW2, and since his stuff was destroyed during the war he recreated it sometime post WW2. AJ translated and published some of it. Kai realized that it was all talking about knock-out pH, and had little to nothing to do with mash pH. AJ then acknowledged that Kai had hit upon something he himself had completely missed.
Actually it looks like MpH4 just has RA as carry over from MpH3.
 
The next battleground to be conquered will be to verify if Kolbach's presumption of calcium and magnesium induced mEq's, with their respective molecular weight divisors of 3.5 and 7, hold true in the Mash at or for any/all levels of either of these two minerals. The numerals 3.5 and 7 in and of themselves seem so arbitrarily chosen as 'idealized' constants, as if they are merely quasi-empirically ballparking it. And who knows, these two constants (which appear too coincidentally ideal individually and even more so when seen together to be actually real) may not in reality be constants at all. Let alone that the chosen values of 3.5 and 7 seem too convenient to be true, they may even vary with mineralization levels or some other factor such as grist weight or mash density, etc..., and thereby both of these constants may actually prove to be variables.
 
The next battleground to be conquered will be to verify if Kolbach's presumption of calcium and magnesium induced mEq's, with their respective molecular weight divisors of 3.5 and 7, hold true in the Mash at or for any/all levels of either of these two minerals. The numerals 3.5 and 7 in and of themselves seem so arbitrarily chosen as 'idealized' constants, as if they are merely quasi-empirically ballparking it. And who knows, these two constants (which appear too coincidentally ideal individually and even more so when seen together to be actually real) may not in reality be constants at all. Let alone that the chosen values of 3.5 and 7 seem too convenient to be true, they may even vary with mineralization levels or some other factor such as grist weight or mash density, etc..., and thereby both of these constants may actually prove to be variables.

I have used them as variables since I adapted A.J.’s troubleshooter.
 
The next battleground to be conquered will be to verify if Kolbach's presumption of calcium and magnesium induced mEq's, with their respective molecular weight divisors of 3.5 and 7, hold true in the Mash at or for any/all levels of either of these two minerals. The numerals 3.5 and 7 in and of themselves seem so arbitrarily chosen as 'idealized' constants, as if they are merely quasi-empirically ballparking it. And who knows, these two constants (which appear too coincidentally ideal individually and even more so when seen together to be actually real) may not in reality be constants at all. Let alone that the chosen values of 3.5 and 7 seem too convenient to be true, they may even vary with mineralization levels or some other factor such as grist weight or mash density, etc..., and thereby both of these constants may actually prove to be variables.

Those numbers were recorded and developed at knockout.

Each malt would need it's own value for these numbers in the mash and given an incomplete reaction and many other variables at that stage it may require a different method(ology).

https://www.homebrewtalk.com/thread...ed-mash-ph-shift-due-to-mineralization.630539
 
An interesting blurb on the 3.5 factor for calcium induced pH drop during the mash:
Barth, R., Zaman, R., Influence of Strike Water Alkalinity and Hardness on Mash pH, J.ASBC 73(3):240-242, 2015. • Barth and Zaman determined that the 3.5 factor for calcium hardness was not even close to their data. • The factor could be as large as 7-15 based on their data for pilsner, pale ale, and Munich malts.

I have no access to this publication. But if this blurb is correct, then the actual mash pH depression induced by calcium is on the order of only 25% to 50% of what Kolbach tells us it should be. And it may be malt dependent. Does anyone have a copy whereby to verify this? This is a serious game changer!!!!
 
The above post #186 may potentially signal that the buffering factor multiplier is misplaced, and it should actually be applied not to malts/grains/adjuncts, but rather to the pH shift impact of calcium and magnesium. Hmmm???
 
More on this: https://www.tandfonline.com/doi/abs/10.1094/ASBCJ-2015-0621-01
Measurement of the pH of small-scale barley mashes prepared with ale, Munich, and pilsner malt mashed with artificially alkalized and calcium-hardened water revealed that the classic Kolbach residual alkalinity equation needs to be modified to be applicable to mashing conditions.
Roger Barth and Rameez Zaman
 
Last edited:
And to think that in past editions of 'Mash Made Easy' I actually allowed the end user to vary precisely this Ca++ and Mg++ impact percentage. I'll have to give serious thought ot once again adding this capability back into 'MME'. But it is not worth attempting this until the facts of the referenced dissertation are known.
 
Here is specifically where the 'Influence of Strike Water Alkalinity and Hardness on Mash pH' article is to be found:

(2015) Journal of the American Society of Brewing Chemists: Vol. 73, No. 3, pp. 240-242

They want $51 just to read these three pages. Ouch!!!
 
Last edited:
The above post #186 may potentially signal that the buffering factor multiplier is misplaced, and it should actually be applied not to malts/grains/adjuncts, but rather to the pH shift impact of calcium and magnesium. Hmmm???

OK, after implementing it in a test version of MME I realize the above can't be correct. The two multipliers actually move recommended pH adjustment quantities in opposite directions. So in effect, they fight against each other.
 
OK, after implementing it in a test version of MME I realize the above can't be correct. The two multipliers actually move recommended pH adjustment quantities in opposite directions. So in effect, they fight against each other.

Right. The smaller the Kolbach denominators, the more affect Ca and Mg will have.
 
AJ often stated that in his experience the drop in Mash pH induced by Ca++ and Mg++ is measured to be about 50% of what Kolbach predicts for knock-out (the end of the boil). This would seemingly go hand in hand with the paper by Barth and Zaman, wherein the 3.5 factor for calcium would likely become ~7, and likewise the 7 factor for magnesium would likely become ~14.
 
Last edited:
AJ often stated that in his experience the drop in Mash pH induced by Ca++ and Mg++ is measured to be about 50% of what Kolbach predicts for knock-out (the end of the boil). This would seemingly go hand in hand with the paper by Barth and Zaman, wherein the 3.5 factor for calcium would likely become ~7, and likewise the 7 factor for magnesium would likely become ~14.

The problem is isolating this phenomenon and testing it.
 
The problem is isolating this phenomenon and testing it.

Which is what I presume that Barth and Zaman have already done for us. But I'm on a retired guys fixed income and budget, so spending the $51 required to read it and confirm is a bit of a stretch for me right now.
 
The problem is isolating this phenomenon and testing it.

I just conceived of what I believe should prove to be a valid test method. Earlier, and in another thread* of mine, I concluded that mashing in Ca++ and Mg++ mineralized zero Residual Alkalinity water (as defined by Kolbach) and identically mashing in DI water must result in the very same measured mash pH if indeed Kolbach is correct for the Ca++ divisor being 3.5 and for the Mg++ divisor being 7.

If one was to mash a sample in a highly calcium and magnesium containing water that critically balanced with added Alkalinity to a Kolbach calculated RA = 0, and also mashed a sample otherwise identical sans for using DI water, and if the mash pH's greatly differ thereby, then proper revisions for 3.5 and 7 would emerge from this difference in pH. And to give the emerging new divisors more confidence, the side by side experiment should be done at least in triplicate. And to verify if calcium and magnesium clash in any way, the triplicates should themselves be trippled such as that set 1 would involve only Ca++, set 2 would involve only Mg++, and set 3 would involve a blend of Ca++ and Mg++. In this way the individual Ca++ and Mg++ divisor factors will better emerge also.

*In that thread I was already touching upon this.
 
Last edited:
I would initially suggest trying 75 ppm Ca++ and 15 ppm Mg++ (balanced with Alkalinity) for the respective zero RA waters. Then I would suggest a repeat of every test via bumping these to 150 ppm and 30 ppm respectfully, followed by another repeat via bumping them to 300 ppm and 60 ppm respectfully, as this should also emerge evidence for the mineral impact upon pH being linear or non-linear with respect to mineral ppm's (mg/L's). As it stands now, the Kolbach method is linear, and this also is validly questionable. Each mineral bump would require additional alkalinity whereby to maintain zero RA.
 
Last edited:
I would initially suggest trying 75 ppm Ca++ and 15 ppm Mg++ (balanced with Alkalinity) for the respective zero RA waters. Then I would suggest a repeat of every test via bumping these to 150 ppm and 30 ppm respectfully, followed by another repeat via bumping them to 300 ppm and 60 ppm respectfully, as this should also emerge evidence for the mineral impact upon pH being linear or non-linear with respect to mineral ppm's (mg/L's). As it stands now, the Kolbach method is linear, and this also is validly questionable. Each mineral bump would require additional alkalinity whereby to maintain zero RA.

Some time past I conducted a series of mini mashes in expectation of disproving Kolbach's findings, but my first test confirmed those of Kolbach.

The test was simple and comparative, but cannot find my notes to give the exact details. A sample of my supply water and a base malt were used in equal proportions in two mashes done with a 5 minute stagger in a domestic oven at mash temperature. The quatities were probably 100 gm of malt and 250 ml of liquor and the pH measurement would have been of the wort, filtered and cooled to 20C. The supply water would typically have an alkalinity of 5 mEq/L with a calcium level of 4 mEq/l, but I do not have the actual figures. I would have reduced the alkalinity by about 1 mEq/L (probably slightly more) with a mineral acid for one mash and increased the calcium by salt addition by 3.5 times the alkalinity reduction, for the other. The resulting worts measured exactly the same pH using the same meter in a period of just 5 minutes.

I went on with further tests over a greater range that suggested such findings could not be extrapolated beyond a very limited range. Indeed it is obvious that my test although confirming what Kolbach claimed does have a very restricted practical range and probably less in the case by Kolbach with liquor of much lower mineral content.

You might wish to consider tring a similar test.
 
I have been graciously gifted the Barth and Zaman paper first mentioned in post #186 above. Some amazingly interesting things emerge from it, but I must seriously question their choice to sample at only 5 minutes into the mash for each of their multiples of mash pH tests. There is indeed a wealth of interesting information to be pondered within this paper, and I will list a couple of their "shocking" findings here:

1) They discovered that for the specific case of measuring at 5 minutes into a single infusion mash the Kolbach "3.5" divisor for Ca++ is actually (on average, and rounded) ~14.8 for Pilsner, ~7.2 for Pale Ale and ~12.2 for Munich malts respectively.

2) They discovered that the multiple point titration "curve" for their Pilsner malt was essentially linear to within 5% precision across a rather broad titration range, and not highly exponentially curved as for the Pilsner malt titration chart seen in post #108 above. They admit that they were quite surprised to find the buffering to be so linear.

If, as per Kolbach, the 3.5 divisor for calcium ions emerges post the boil (which is where he actually measured and thereby determined it, presumably for a German Pilsner malt as my guess), and at 5 minutes into the mash this divisor is a (minuscule as to its pH shifting impact) 14.8, then I speculate intuitively (while cautiously admitting that intuition generally leads to bad science) that the impact of calcium ions upon the downward shift of pH is gradual, and only minimally noticed at only 5 minutes into the mash. This leads me to wonder what the divisors value would be at 15 min., 30 min., 45 min., and 60 min. into the mash.

If we linearly regress Pilsner malts 14.8 divisor at 5 minutes and 3.5 divisor at 120 minutes (presuming here a typical 60 min. mash and 60 min. boil) the simple linear equation that evolves is:

Ca_Divisor_Value = -0.0982609(Time_Min) + 15.2913

Solving linearly for the Ca++ ions divisor value at a few evolving times within the brewing process thereby gives us:
5 min. = 14.8
15 min. ~= 13.8
30 min. ~= 12.3
45 min. ~= 10.9
60 min. ~= 9.4
120 min. = 3.5

Disclaimer: It is purely speculation that this phenomenon is linear with respect to time, and it far and away most likely is not.
 

Latest posts

Back
Top