Beersmith 3 ph tool

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.
With all that said, I currently find (based on the homebrewing data that has been posted on the recent thread) that a multiplicative factor of about 0.6 applied to the normalized values in the tables in my recent paper give the overall best agreement with the measured data. So for example, this would give an average buffering capacity of 27.3 for malt in the Pils/Lager/2-Row category. [BTW, my current comparison uses all of the water-chemistry science that you, Mr. deLange, have been arguing for in the forums for quite sometime. Charge must be conserved! I do choose, though, to assume a linear model of buffering (as described in my paper).]

@dmr, does this x0.60 factor apply to all of the buffering capacities found in your recent paper?
 
I do choose, though, to assume a linear model of buffering (as described in my paper).

The only place I can see this getting you into the weeds would be for more acidic (cara, roast, Sauermalz) malts, where assuming a linear buffering around:

dQ = a1 * (pHz - pH DI)

instead of:

dQ = a1 * (pHz - pH DI) + a2 * (pHz - pH DI) ^ 2 + a3 * (pHz - pH DI) ^ 3 + an * (pHz - pH DI) ^ n

Might predict lower than actual pHz (desired pH) values. My frame of reference here is my recent experience using the new algorithm with a simple grain bill and Sauermalz using the following parameters:

pHz = 5.4 pH DI = 3.50, a1 = -319.01, a2 = 68.94, a3 = -5.40

The linear approach gives:

dQSauermalz = -608.17

where as the full polynomial gives:

dQSauermalz = -395.03

The same would occur, to a lesser degree, for cara and roasted malts. Granted, this assumes we have either measured titration data for a 3 term solution, or at least an educated amalgamation of measured data, but the concern still stands.
 
@dmr, does this x0.60 factor apply to all of the buffering capacities found in your recent paper?

I need to emphasize this factor of 0.6 is only a preliminary estimate, based on homebrewers' mash pH data that have so far been posted (and that I have analyzed).

Furthermore, the data that are available certainly do not allow one to try to discern a different factor for different types of malt. I doubt that such data will ever provide such distinction.
 
The only place I can see this getting you into the weeds would be for more acidic (cara, roast, Sauermalz) malts, where assuming a linear buffering around:

dQ = a1 * (pHz - pH DI)

instead of:

dQ = a1 * (pHz - pH DI) + a2 * (pHz - pH DI) ^ 2 + a3 * (pHz - pH DI) ^ 3 + an * (pHz - pH DI) ^ n

Might predict lower than actual pHz (desired pH) values. My frame of reference here is my recent experience using the new algorithm with a simple grain bill and Sauermalz using the following parameters:

pHz = 5.4 pH DI = 3.50, a1 = -319.01, a2 = 68.94, a3 = -5.40

The linear approach gives:

dQSauermalz = -608.17

where as the full polynomial gives:

dQSauermalz = -395.03

The same would occur, to a lesser degree, for cara and roasted malts. Granted, this assumes we have either measured titration data for a 3 term solution, or at least an educated amalgamation of measured data, but the concern still stands.

I must respectfully disagree, at least with regards to dark roasted malts. As Fig. 1 in my latest paper shows, even though Briess roasted malt (e.g.) exhibits some nonlinearity in its acidity, once can fit this acidity data with a straight line and get a fit that is not appreciably different than the data. I should emphasize that such a linear fit gives a fitting parameter that is not the same as the linear-term parameter one obtains when one fits the data with a higher-order polynomial. In other words, I am not suggesting (nor have I ever suggested) that one can simply use a1 (ignoring a2, a3, etc.) that has been obtained from a higher-order fit.

As far a Sauermalz goes, I believe it is best to simply treat it as a source of lactic acid (which it is), rather than as a malt.
 
I need to emphasize this factor of 0.6 is only a preliminary estimate, based on homebrewers' mash pH data that have so far been posted (and that I have analyzed).

Furthermore, the data that are available certainly do not allow one to try to discern a different factor for different types of malt. I doubt that such data will ever provide such distinction.

Thank you! From this can it be assumed that with the buffering capacity of all malts and grains reduced, they will exhibit lower mash pH's in your upcoming version 4, such as their ability to resist pH changes is noticeably diminished by this factor?
 
In other words, I am not suggesting (nor have I ever suggested) that one can simply use a1 (ignoring a2, a3, etc.) that has been obtained from a higher-order fit.

I'll concede that for A.J.'s measurement of Roasted Barley, the difference in mEq/kg is only 5. So in that specific case, it's not a good example. Also, we'd have to agree that 300L roasted barley was a "dark" roasted malt.

In other cases, however, I guess I wonder how this differs. If you measure a1 for a specific grain (like you did in your paper, which I think is great BTW) and use it in:

dQMalt = a1 * (pHz - pH DI)

how is that any different than having measured a2 and a3 as well and just disregarded them? Whether you measure a2 and a3 or not, the malt still has those values. Isn't approximating dQMalt for a specific malt with only a linear approximation of it's full acidity going to introduce error in more acidic malts?

For instance, If I take the data from A.J.'s measurement of Crisp Chocolate:

pH DI = 4.70, a1 = -76.43, a2 = -0.40, a3 = -3.84

and plug and chug for pHz = 5.40:

Linear dQMalt = ~ -155 mEq/kg

Poly dQMalt = ~ -27 mEq/kg

That's certainly not a small difference.

As far a Sauermalz goes, I believe it is best to simply treat it as a source of lactic acid (which it is), rather than as a malt.

Here is where we get into more trouble though. Sauermalz is a malt treated with biological acid, i.e. Sauergut, and really can't be treated with any degree of accuracy as a straight source of Lactic Acid by weight. We can't even treat Sauergut as an equivalent to Lactic Acid, so how can we reliably do it for Sauermalz?

I use Sauermalz eclusively as my acidifying agent ("Agent of Acidfication" would be an awesome brewing superhero!) and for batches using Brun Water, My old sheet, and MpH, I have never had a time where I didn't have to alter the acid % or strength modifier in Brun Water significantly to match values in the field. Strictly speaking, I have never used the nominal percentages quoted by some for Sauermalz.

I believe the chart I have seen from A.J. with the Lactic and Sauermalz overlayed, only shows coincidence at one specific pH.

And again, we have valuable titration data measured for Sauermalz, so why wouldn't we use it? Certainly it's better than estimating it's acidity based on something that it isn't, no? Granted, it may not be perfect, but it seems a step in a better direction.

I just want to state that I am not trying to antagonize you at all. I am a curious about all these things and actively looking into figuring them out. I appreciate your papers and work.

I am disagreeing with you in the best and most productive terms because i want to know these things and how they work.

Cheers!
 
Last edited:
Thank you! From this can it be assumed that with the buffering capacity of all malts and grains reduced, they will exhibit lower mash pH's in your upcoming version 4, such as their ability to resist pH changes is noticeably diminished by this factor?

Indeed, that is likely to be the case (in situations where the brewer adds acids and/or significant amounts of Ca and/or Mg). It may be a while before the next version makes an appearance, as I am hoping to get more data to analyze. Plus I'll need to carefully check all of my calculations (I believe they are accurate, but one can never be too careful). Plus I don't have gobs of time to devote to this. Cheers!
 
I'll concede that for A.J.'s measurement of Roasted Barley, the difference in mEq/kg is only 5. So in that specific case, it's not a good example. Also, we'd have to agree that 300L roasted barley was a "dark" roasted malt.

As Briess Roasted Barley has pH_i and B_i values that are very much like other dark roasted malts, I believe we can safely treat it as such.

In other cases, however, I guess I wonder how this differs. If you measure a1 for a specific grain (like you did in your paper, which I think is great BTW) and use it in:

dQMalt = a1 * (pHz - pH DI)

how is that any different than having measured a2 and a3 as well and just disregarded them? Whether you measure a2 and a3 or not, the malt still has those values.

I guess I was not very clear. Think of it this way. If we fit a section of nonlinear data with a linear function, then we will extract a two coefficients: a_0 and a_1. If we now fit that section of the same data with a quadratic function, we shall obtain three coefficients: a_0, a_1, and a_2. However, the fitted values of a_0 and a_1 will (very likely) not be the same in the two cases.

If the fitted data is not too far from linear, then the linear fit will be a very good approximation to the actual curve. Conversely, if I try to describe the data using the linear function built from a_0 and a_1 that were obtained from the quadratic fit, then I would not expect this linear function to be a very good approximation to the actual data (as you have pointed out).

Excluding the analysis of our own data, the values of pH_i and B_i reported in my latest paper were obtained by using a linear function to fit the titration data that I could find in the literature. In the case of AJ deLange's "data" I did a linear fit to "data" that I reconstructed from AJ's pH_i and three reported coefficients (a_1, a_2, a_3). In my analysis I find that a linear approximation is a very good approximation to all titration data (for pH values between the malt's pH_i value and a pH of 5.4).

I'll certainly concede that a linear fit may not be a sufficient approximation in all cases, but I've yet to see titration data (between pH_i and a pH of 5.4) where this is not the case.

More generally, any fitting coefficients (a_0, a_1, ...) are a function of the data, the range (along the x axis) over which the data are fit, and the exact model being used (linear, quadratic, cubic, ...). The coefficients cannot be thought of as simply a property of the data itself.

Here is where we get into more trouble though. Sauermalz is a malt treated with biological acid, i.e. Sauergut, and really can't be treated with any degree of accuracy as a straight source of Lactic Acid by weight. We can't even treat Sauergut as an equivalent to Lactic Acid, so how can we reliably do it for Sauermalz?

I use Sauermalz eclusively as my acidifying agent ("Agent of Acidfication" would be an awesome brewing superhero!) and for batches using Brun Water, My old sheet, and MpH, I have never had a time where I didn't have to alter the acid % or strength modifier in Brun Water significantly to match values in the field. Strictly speaking, I have never used the nominal percentages quoted by some for Sauermalz.

I believe the chart I have seen from A.J. with the Lactic and Sauermalz overlayed, only shows coincidence at one specific pH.

I'm potentially convinced that one cannot treat Sauermalz as a source of lactic acid. I'd love to see AJ's titration data. Where can I get a copy of this?

Cheers!
 
As Briess Roasted Barley has pH_i and B_i values that are very much like other dark roasted malts, I believe we can safely treat it as such.



I guess I was not very clear. Think of it this way. If we fit a section of nonlinear data with a linear function, then we will extract a two coefficients: a_0 and a_1. If we now fit that section of the same data with a quadratic function, we shall obtain three coefficients: a_0, a_1, and a_2. However, the fitted values of a_0 and a_1 will (very likely) not be the same in the two cases.

If the fitted data is not too far from linear, then the linear fit will be a very good approximation to the actual curve. Conversely, if I try to describe the data using the linear function built from a_0 and a_1 that were obtained from the quadratic fit, then I would not expect this linear function to be a very good approximation to the actual data (as you have pointed out).

Excluding the analysis of our own data, the values of pH_i and B_i reported in my latest paper were obtained by using a linear function to fit the titration data that I could find in the literature. In the case of AJ deLange's "data" I did a linear fit to "data" that I reconstructed from AJ's pH_i and three reported coefficients (a_1, a_2, a_3). In my analysis I find that



I'm potentially convinced that one cannot treat Sauermalz as a source of lactic acid. I'd love to see AJ's titration data. Where can I get a copy of this?

Cheers!

Don’t you have his data? What did you use for your paper?
 
Don’t you have his data? What did you use for your paper?

AJ's data? No I do not have it; I simply reconstructed an approximation to his data using the cubic fits (pH_i, a_0, a_1, a_2) that AJ has posted on this forum.

Do you have his data? Is it available somewhere?
 
AJ's data? No I do not have it; I simply reconstructed an approximation to his data using the cubic fits (pH_i, a_0, a_1, a_2) that AJ has posted on this forum.

Do you have his data? Is it available somewhere?

I guess I’m confused now. Aren’t the cubic fits what matters? Don’t the cubic fits give the titration coefficients we need to calculate QMalt?

EDIT: I understand what you are driving at now about the initial data versus the fits.

Also, after rereading your Part III, it seems that you’ve made the assumption that, all things equal experimentally, the malts measured by each researcher would have identical values for titration co-efficiencts. While I’m inclined to agree up to a certain point, we shouldn’t really expect parity across all researchers data, should we? Malt is a product that varies from lot to lot. So then doesn’t normalizing data across all the researchers induce additional errors on top of not knowing why there were differences in the first place?

Malt is really the crux of the whole discussion and in some ways I agree with your argument that we may never have widespread data about the full buffering capabilities of malt. I’d love to get a campaign going addressed the maltster s to give this data. I know A.J. beat that drum some years ago to no avail but a coordinated effort from pro and Homebrewer’s alike could turn the tide.
 
Last edited:
I guess I’m confused now. Aren’t the cubic fits what matters? Don’t the cubic fits give the titration coefficients we need to calculate QMalt?

Yes, the cubic fits will clearly give you Q_Malt values. But I feel that most data is not of sufficient quality to reliably fit it to a cubic equation. AFAIK, only AJ's data is that good. Furthermore, if one uses a linear approximation to describe all titration data, then one has two parameters -- pH_i and B_i -- that can be compared (and averaged) among different researchers' measurements.

Also, after rereading your Part III, it seems that you’ve made the assumption that, all things equal experimentally, the malts measured by each researcher would have identical values for titration co-efficiencts. While I’m inclined to agree up to a certain point, we shouldn’t really expect parity across all researchers data, should we? Malt is a product that varies from lot to lot. So then doesn’t normalizing data across all the researchers induce additional errors on top of not knowing why there were differences in the first place?

If you look at part (b) of Fig. 7 in Part III, you will see that there is a clear systematic difference between each researcher's set of B_i's across all Briess Caramel malts. The main difference between any two researchers is clearly systematic, although there are also variations that can be attributed to differences in batches of malt.

That this systematic variation exists -- and can be corrected for -- is confirmed when the Briess-Caramel-malt derived correction factors are applied to all Caramel/Crystal/Dextrine, Base/Specialty, and Dark Roasted malts. As is shown in Fig. 8, when the correction factors are applied to all of the data from each researcher, there is a much better agreement in B_i values. To see this simply compare the spread in unadjusted B_i values (middle three panes of Fig. 8) with the spread in adjusted values (bottom three panes of Fig. 8).

So I believe I have produced a reasonable set of relative B_i values for the set of malts in Fig. 8. But what is the overall correction factor applicable to the typical homebrewer setting? I don't know. This is precisely why I have asked for brewers to post their mash pH measurements.
 
Yes, the cubic fits will clearly give you Q_Malt values. But I feel that most data is not of sufficient quality to reliably fit it to a cubic equation. AFAIK, only AJ's data is that good. Furthermore, if one uses a linear approximation to describe all titration data, then one has two parameters -- pH_i and B_i -- that can be compared (and averaged) among different researchers' measurements.

In a perfect world, we’d use:

dQMalt = a1 * ( pHz - pH DI ) + a2 * ( pHz - pH DI ) ^ 2 + a3 * ( pHz - pH DI ) ^ 3

to express each individual malts Q value.

In the case of the malts measured by some researchers, who willingly chose to forgo measuring a2 and a3 (this isn’t meant as an insult), the way to know whether neglecting to measure a2 and a3, and using only pH DI and a1, is effective is to mash them and compare estimated to actual.

Crystal/Cara malts, Roasted Malts, and Sauermalz will express the largest variation in QMalt between linear and polynomial calculations. I tried to show this above with my examples of A.J.’s Crisp 600L and Sauermalz values. In those cases, expressing them linearly will cause enormous swings in QMalt. To your point though, there are some malts that, even with the full range of co-efficients, will have a Q value very close to the linear approximation.

In my mind, and I may be stubborn here, you run this same risk with a malt where only pH DI and a1 are measured and used in a linear approximation of malt acidity, i.e. the a2 and a3 values are there whether you measure them or not and by using only pH DI and a1 to represent Q for that malt, you introduce the risk of overestimating it’s acidity.

I find this all so very interesting.
 
Last edited:
Crystal/Cara malts, Roasted Malts, and Sauermalz will express the largest variation in QMalt between linear and polynomial calculations. I tried to show this above with my examples of A.J.’s Crisp 600L and Sauermalz values. In those cases, expressing them linearly will cause enormous swings in QMalt. To your point though, there are some malts that, even with the full range of co-efficients, will have a Q value very close to the linear approximation.

Attached are some of my linear fits to AJ's data, including the 600 L Crisp Chocolate. After looking at the graph, you may feel that the linear approximations are inadequate. However, I feel like they are a pretty good description of the data in the range between pH_i and 5.3 to 5.5. Cheers!

P.S. I cannot remark on Sauermalz, as I have not looked at that malt.
 

Attachments

  • AJ Malts.pdf
    63.5 KB · Views: 29
Attached are some of my linear fits to AJ's data, including the 600 L Crisp Chocolate. After looking at the graph, you may feel that the linear approximations are inadequate. However, I feel like they are a pretty good description of the data in the range between pH_i and 5.3 to 5.5. Cheers!

P.S. I cannot remark on Sauermalz, as I have not looked at that malt.

If you mash with a large proportion of a roasted malt you feel has a decent linear fit, using a linear equation, and your estimated pH is much lower than your actual, you will have assessed how good the fit really is!

Also, am I understanding correctly when I say that for your fit of A.J.’s data, that a good fit means that the fitted slope and fitted pH are close to measured pH DI and a1?

For that malt, how would you then rectify:

Linear dQMalt = ~-155 mEq/kg

as opposed to

Polynomial dQMalt = ~-27 mEq/kg
 
Last edited:
Also, am I understanding correctly when I say that for your fit of A.J.’s data, that a good fit means that the fitted slope and fitted pH are close to measured pH DI and a1?

No, a good linear fit is one that reasonably matches AJ's polynomial fit, as it is AJ's polynomial fit that is being fit by the linear fit.

For that malt, how would you then rectify:

Linear dQMalt = ~-155 mEq/kg

as opposed to

Polynomial dQMalt = ~-27 mEq/kg

I don't know what math you are doing. For a pH of 5.4 I get -55.11 mEq/kg from AJ's numbers and -54.97 mEq/kg from my linear fit, consistent with the graph attached to my last post. As the difference is 0.14 mEq/kg, I'd say the linear approximation does a rather nice job.
 
No, a good linear fit is one that reasonably matches AJ's polynomial fit, as it is AJ's polynomial fit that is being fit by the linear fit.



I don't know what math you are doing. For a pH of 5.4 I get -55.11 mEq/kg from AJ's numbers and -54.97 mEq/kg from my linear fit, consistent with the graph attached to my last post. As the difference is 0.14 mEq/kg, I'd say the linear approximation does a rather nice job.

dQMalt = a1 * ( pHz - pH DI )

dQMalt = a1 * ( pHz - pH DI ) + a2 * ( pHz - pH DI ) ^ 2 + a3 * ( pHz - pH DI ) ^ 3

Straight from the man himself.

Maybe I’m misunderstanding what you are doing. How are you linearizing data that isn’t linear? Maybe it’s a semantic blockage on my part. When I say linear I mean what I show above. When I say polynomial I mean what I show above.

A.J. made measurements of those malts and the outcome was 3 titration co-efficients to be used in the polynomial equation above. Maybe I’m just missing something.

What formulas are you using to describe dQMalt (mEq/kg)?
 
Last edited:
The linear R^2 correlations are all indicating extremely good fits within the AJ Malts.PDF attachment as seen in @dmr's post above.

The formula derived for each "fit" is simply a standard linear slope and intercept equation in the form of Y= A +BX. Each lines equation is given in the PDF, along with its R^2 fit to the data.
 
Last edited:
The linear R^2 correlations are all indicating extremely good fits within the AJ Malts.PDF attachment as seen in @dmr's post above.

The formula derived for each "fit" is simply a standard linear slope and intercept equation in the form of Y= A +BX. Each lines equation is given in the PDF, along with its R^2 fit to the data.

So now the question is why do we think:

dQ = ( a1 * pHz ) + Fitted Constant

is a good representation of dQ?
 
I presume that the 'Y' Axis is mEq/Kg-pH, and that therefore (for any given malt which is represented on the chart) Y = mEq/Kg for any given pHz target.

So to put it all together:

Y = A +BX = mEq/Kg-pHz

Lets look at the base malt with a DI_PH of 5.6227 and for the target case of mash pHz = 5.4:

Y = 265.4 + -47.21*5.4 = mEq/Kg

Y = 10.466 mEq/Kg
(for the specific target mash pH of 5.4)
 
dQMalt = a1 * ( pHz - pH DI )

dQMalt = a1 * ( pHz - pH DI ) + a2 * ( pHz - pH DI ) ^ 2 + a3 * ( pHz - pH DI ) ^ 3

What formulas are you using to describe dQMalt (mEq/kg)?

Those that you have posted above, with the caveat that a1 in the linear equation is not the same as a1 in the cubic equation [as I've described in some earlier post (and can be seen in the pdf I posted)].
 
Those that you have posted above, with the caveat that a1 in the linear equation is not the same as a1 in the cubic equation [as I've described in some earlier post (and can be seen in the pdf I posted)].

I re-did some calculations this morning and stand corrected (big time). I'm not sure what how i made that math error initially. I did it by hand and all my Excel coded dQMalt(a1,pHz,pH DI,a2,a3) functions show agreement with your numbers.

I have a feeling I may have swapped pHz and pH DI in the initial calculations.

Thanks for bearing with me on that one.
 
Nope, I've not got around to thinking about Sauermalz. I'll need to do it at some point, though.

As that’s my main acid source, I’d be interested in what you find.
 

Latest posts

Back
Top