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.
surely We can put our collective heads together and provide something more substantial than SRM based pH.
 
surely We can put our collective heads together and provide something more substantial than SRM based pH.

This seems to offer a very simple starting point:

~mEq's of acid (if positive) or base (if negative) required to move 1 Kg. of a given malt as listed to specifically pH 5.4
----------------------------------------------------------------------------------------------------------------------------------------------------------
US 2-Row = ~= 4.8
Generic 2-Row ~= 6.4
Pale or Vienna ~= 8
GP or Crisp MO ~= 9.6
Muntons MO ~= 11.2
Pilsner ~= 12.7
Wheat or Rye Malt ~= 12.2
Munich and Biscuit 10L~= 3.8
Munich and Biscuit 20L~= -2.8
Munich and Biscuit 30L~= -9.1
Caramel 10L ~= -11.3
Caramel 20L ~= -14.6
Caramel 40L ~= -21.6
Caramel 60L ~= -28.9
Caramel 80L ~= -36.4
Caramel 120L ~= -51.4
Caramel 140L ~= -58.6
Melanoidin ~= -19.7
Roasted Malt 240L ~= -25.2
Roasted Malt 300L ~= -29.8
Roasted Malt 400L ~= -37.5
Roasted Malt 500L ~= -45.3
Roasted Malt 550L ~= -49.1
Roast Barley 300L ~= -33
Roast Barley 500L ~= -36.6

NOTE: There is a great deal of leeway and variability in each of the above 'ballpark' mEq presumptions, and different lots, different climates, different growing regions, differing year of growth, differing soil conditions, slight genetic varietal variances, etc... can and very likely will to some unknown degree noticeably move these initial presumption values. Don't online_shoot me for these presumptions please. Instead, simply provide better ones.

Sum up (mEq's_to_pH_5.4 * Kg_In_Recipe) for each individual recipe grist component, and this summed value will become your 'mEq_Grist' at step 5. There will be no steps # 1, 2, 3, 3.5 or 5.5 used for this method. Mash water volume (for water with alkalinity) and Ca/Mg mineral induced mEq's still apply as per the SRM method. For the utmost in simplicity, this method defaults the mash pH target (pH_T) to 5.4.
 
Last edited:
Example for a mash in distilled water:

Recipe:
5 Kg. of Pilsner malt
0.5 Kg of 120L Caramel/Crystal Malt

(5 * 12.7) + (0.5 * -51.4) = 37.8 mEq_Grist

37.8/11.7 = ~3.2 mL lactic acid (since mEq's are positive)

Answer: Add 3.2 mL of lactic acid to hit ~5.4 pH in the mash.
 
It should be noted that the mEq "strengths" for weak acids and bases actually vary with the chosen pH target, and my initial presumptions of 11.7 mEq/mL acid strength for 88% Lactic Acid and -11.7 mEq/gram for Baking Soda were only chosen and conflated for the utmost in simplicity. OK, more bluntly, I initially lied to you in the name of "close enough for government work" or "Ballpark" precision and formula simplicity. And as such I left out the impact of dissociation constants. I confess. There, I feel much better now.

For specifically a target of pH 5.4 in the mash these are better mEq/mL and mEq/gram acid/base strength values:

85% Phosphoric Acid: 14.87 mEq/mL
75% Phosphoric Acid: 12.26 mEq/mL
30% Phosphoric Acid: 3.67 mEq/mL
10% Phosphoric Acid: 1.09 mEq/mL
88% Lactic Acid: 11.45 mEq/mL
80% Lactic Acid: 10.25 mEq/mL
*AMS (CRS): 3.66 mEq/mL
Baking Soda: -10.71 mEq/gram

*Since AMS is a blend of two "strong" acids, it will (uniquely among the above) retain this strength across a broad spectrum of mash pH targets.
 
Adding up the first 6 items (the barley base malts) on the malt mEq's list and dividing by 6 gives 8.78 mEq/Kg_pH5.4 as the acid strength of a nominal base malt. The process can thereby be simplified even further by presuming all base malts to be ~8.78 mEq/Kg_pH5.4, albeit at some obvious sacrifice of accuracy. But since no one will know their specific base malts characteristics without titration, this averaged 8.78 value may prove to be a safe bet for a totally generic or unknown as to specifics barley base malt .

Lets try to predict what the DI_pH (or pHDI) of this averaged base malt nominally comes in at:

Kolbach tells us that 32 is a decent 'nominal' buffering value presumption for a base malt.

Delta_pH = mEq/(Buffering_Value * Kg)

Knowns:
Mash pH target = pH_T = 5.4
Buffering Value for a nominal base malt (per Kolbach) = ~32
KG = 1
The specifically pH 5.4 targeted mEq/Kg acid strength value of this averaged malt is 8.78 per the first paragraph.
Delta_pH = (pH_M - pH_T)

Unknown:
pHDI = DI_pH = pH_M

Therefore:
Delta_pH = 8.78/(32*1)
Delta_pH = 0.2744

pHDI = 5.4 + 0.2744
pHDI = 5.6744

Answer: The computed DI water mash pH of this presumed nominal base malt is 5.674

Since many mash pH adjustment assistant programs merely presume 5.7 pHDI for all barley base malts, the calculated 5.674 is not very far off their chosen nominal base malt pHDI mark. So by extension, 8.78 mEq/Kg must not be very far off from their mEq/Kg to a targeted mash pH of 5.4 presumptions either.
 
(pH_M - pH_T) = Delta_T = mEq_Malt/(Buffering_Value_ Malt* Kg)

pH_M = pHDI = DI_pH

Rearranging and simplifying this for 1 Kg. of malt and a mask pH target of 5.4 this formula becomes:

Buffering_Value = mEq_Malt/(pH_M-5.4)

We know the ballpark pH 5.4 mEq_Malt values from the provided malt mEq's list above.

Therefore, if we do a test mash whereby to ascertain the pHDI or pH_M value for each malt on the list, we can compute a nominal buffering value for each malt on the list.
 
Is this thread worthy of sticky status yet? The essence of both an SRM based and an mEq based mash pH assistant methodology (math model) is all here for public consumption. And none of it requires rocket science. How does a thread acquire the status of stickiness?
 
Is this thread worthy of sticky status yet? The essence of both an SRM based and an mEq based mash pH assistant methodology (math model) is all here for public consumption. And none of it requires rocket science. How does a thread acquire the status of stickiness?

I’m not sure something untested should be a sticky.
 
I’m not sure something untested should be a sticky.

The formulas found within (sans for step #4 of SRM based, as is recognized within that methodology) are generally found to be solid, and all that seriously matters in this arena is getting a decent pH_M. The second method does rather precisely that (within the bounds of malt variability, and no one is going to get around that issue sans to test each lot for every malt they touch), whereas the first was never intended to achieve ultra-precision without tweaking, but rather to reveal a methodology suitable for simplicity, education, and the aforementioned tweaking, as is clear within the text from the onset. The request was made to improve (and I'll add here, expand) the malt mEq at target pH 5.4 list. Perfection within that list is essentially all that keeps method #2 from approaching the potential of perfection at a level rivaling the best of the breed of mash pH adjustment software. And such perfection without titrating every malt lot on earth now and into the future isn't going to happen. I'll grant that if any of the formulas are to be proven outright incorrect (sans step #4 for SRM which never had such intent) this should not be a sticky.
 
Last edited:
I’m not sure something untested should be a sticky.

I doubt that sticky #1 has any means of strict validation, being highly subjective. And several others are contestable as to strict validation of precision as well. One even projects that pH strips deviation from precision is written in stone for past, present, and future, when clearly every lot of such strips was never tested.
 
Last edited:
I doubt that sticky #1 has any means of strict validation, being highly subjective. And several others are contestable as to strict validation of precision as well. One even projects that pH strips deviation from precision is written in stone for past, present, and future, when clearly every lot of such strips was never tested.

Ask for it to be a sticky if you think it's worth it.
 
Ask for it to be a sticky if you think it's worth it.

I didn't think a sticky was something that had to be asked for. I was presuming that a mod would eventually be seeing the value in and of it and that would provide the trigger.
 
I didn't think a sticky was something that had to be asked for. I was presuming that a mod would eventually be seeing the value in and of it and that would provide the trigger.

YMMV but sticky status invariably involves a bunch of people who are not the OP of the thread asking for the thread to be sticky'd.

I personally don't see anything here that has not been discussed by say, A.J. deLange, You, I, etc. in any number of important threads over the years. I don't believe your SRM thing is worthwhile and we've discussed charge conservation in a number of interesting threads over the last 2 years.

I'm not trying to beat you down but this is like calling a Zebra a Striped Horse and being discouraged when the new moniker does not stick.
 
YMMV but sticky status invariably involves a bunch of people who are not the OP of the thread asking for the thread to be sticky'd.

I personally don't see anything here that has not been discussed by say, A.J. deLange, You, I, etc. in any number of important threads over the years. I don't believe your SRM thing is worthwhile and we've discussed charge conservation in a number of interesting threads over the last 2 years.

I'm not trying to beat you down but this is like calling a Zebra a Striped Horse and being discouraged when the new moniker does not stick.

You asked for a better method, and I came up with method #2. Why continue beating on method #1?

One huge difference is that AJ's stuff is spread across hundreds of posts, mainly as snippets and tidbits (bits and pieces), whereas an entire model (or make that, two entire workable models) exist(s) here within this single thread. Another huge difference is that AJ generally caters to those at a level of insight and education simply not achievable or reachable by the average brewer, whereas this threads two methodologies are as simple as I can imagine that such as this can ever come by, while achieving the same goal.
 
Last edited:
You asked for a better method, and I came up with method #2. Why continue beating on method #1?

One huge difference is that AJ's stuff is spread across hundreds of posts, mainly as snippets and tidbits (bits and pieces), whereas an entire model (or make that, two entire workable models) exist(s) here within this single thread. Another huge difference is that AJ generally caters to those a level of insight and education simply not achievable or reachable by the average brewer, whereas this threads two methodologies are as simple as I can imagine that such as this can ever come by, while achieving the same goal.

Should we work within this thread? I’ll type up my thoughts on charge conservation and the math here and we can present a more basic version maybe?
 
Should we work within this thread? I’ll type up my thoughts on charge conservation and the math here and we can present a more basic version maybe?

I must note that this thread is intended as one for methodologies which are entry level in simplicity, and to go beyond that seems to violate the spirit of this thread. I would therefore ask that you limit methodology by adherence to the criteria of utmost simplicity, and of relative model completeness in one package. That should work within this thread.
 
I managed to find a relatively new 'online' and strictly SRM based calculator in the UK. At first glance it appears as if it may use much of Kai Troester's methodology as seen for the Kaiser Water Calculator and Brewer's Friend when in SRM mode. Here is the link to it:

Simple Water Calculator
 
I honestly don’t think I could simplify the math enough to have it be easy to do by hand or calculator, at least for the stuff that A.J. and I worked up.

That was kind of the point of putting it in a spreadsheetbin the first place! I guess I’m out!
 
Albeit that method #2 is preferred, I haven't completely given up on and thereby abandoned the initial SRM based method quite yet. I can't go back and change the SRM based methods Step 4 in post #1 of this thread since the allotted time for changing it has passed me by, so I'm entering a revised Step 4 here.

1st_Revised_Step 4: Calculates the anticipated pre-adjustment mash pH (pH_M).
pH_M =(0.001*SRM+1)*5.85-0.035*SRM+0.0003*SRM^2 (whereby * = multiply, and ^2 = Squared)

In this revision the original 5.92 constant has been changed to 5.85, and this value has been made into a variable with respect to SRM via the addition of the (0.001*SRM+1) multiplier.
 
Here are two snapshots of the final batch SRM based methods output with the above Step 4 modification applied, and with 11.45 mEq/mL acid strength for 88% Lactic Acid (positive adjustment, last column), and 10.71 mEq/gram caustic strength for Baking Soda (negative adjustment, last column). As for the earlier snapshots, the first snapshot changes only the batches final SRM color, and the second snapshot changes multiple values.

1st.png


2nd.png
 
Here it is as a free spreadsheet. Fluffed and Sizzled it up a bit. And named it 'SRM Made Easy'. No guarantees expressed or implied.
 

Attachments

  • SRM Made Easy.xlsx.zip
    7.8 KB · Views: 9
Here is a side by side of SRM Made Easy (SME) and the Kaiser Water Calculator. OG set to 1.050 for 'SME'

SME_VS_Kaiser.png
 
Further refinement. What was originally the constant 5.92, is now 5.76 for version 1.01 of 'SRM Made Easy'. Now it presumes a more mainstream or middle of the road base malt. Here is a "color by color" side by side with the Kaiser Water Calculator again so you can see the result of the SME change. Revised spreadsheet is also attached.

SME_1.01_VS_Kaiser.png
 

Attachments

  • SRM Made Easy 1.01.xlsx.zip
    7.8 KB · Views: 3
Throw in a guesstimate of acid and at some point in time all mashes match the target pH.
 
I added a "% Grist Wt. from Deep Roasted" button and the output appears to have gotten much better. I can see now why all other SRM based online or spreadsheet mash pH assistants have this feature. Onward to version 1.02, which I have attached.
 

Attachments

  • SRM Made Easy 1.02.xlsx.zip
    7.9 KB · Views: 3
Last edited:
Throw in a guesstimate of acid and at some point in time all mashes match the target pH.

I added 2.3 grams of baking soda to the strike water of a no-sparge robust stout awhile back, and after 30 minutes of mashing it measured 5.18 pH, and after 60 minutes of mashing it measured 5.21 pH. After plugging all of the specifics of that recipe 'into SRM Made Easy', it is telling me that I should have added 5.51 grams of baking soda to hit a mash pH of 5.4. Below is the screenshot from 'SRM Made Easy' version 1.02.

Robust Stout.png
 
Since base malt acidity (with respect to target mash pH) and base malt pHDI (deionized or distilled water mash pH) vary appreciably with base malt type, the last thing that 'SRM Made Easy' required whereby to improve its output noticeably was a base malt selector switch (drop down) similar to 'Mash Made Easy'. Thus version 1.03 is attached here adding this feature.
 

Attachments

  • SRM Made Easy 1.03.xlsx.zip
    8.7 KB · Views: 15
Don't consider abandoning this new SRM based approach until you've kicked its tires a bit. I've been spending a bit of time today going through a handful of my personal recipes stored within 'Mash Made Easy' and comparing calculated total mEq's between MME and the new 'SRM Made Easy 1.03', and (so far at least, plus considering that it is so early in the game for this new SRM based methodology) I'm finding surprisingly decent predicted total mEq correlation overall across a wide range of SRM's, grists, deep roast wt. percentages, mineralizations, alkalinities, mash water volumes, etc.... Much more comparison testing is obviously required, and the door is open to additional tweaking on the (empirical as to pH_M) SRM based side of things, but the bottom line (so far at least) has been that since the unveiling of version 1.03 of 'SRM Made Easy', both methodologies are showing themselves to be overall rather close in their predicted overall mEq's, and thereby in their output as to adjustment recommendations whereby to hit the targeted mash pH.
 
Silver_Is_Money:

Thanks so much for starting this thread and providing a simple formulaic approach to determining mash ph and the acid additions needed to hit your target. Also, thanks for providing MMM which I use to confirm my own back of the envelope PH calculations and make adjustments (for RO, start with 5.75 for base plus or minus .5 for munich/wheat malts, subtract .1 - .14 for Ca and Mg ppm 50-150, subtract % crystal and dark malts/.2 x .5).

I want to incorporate your formula into my brewing program (excel based) and test it out. My program has the ability to assign values to specific malts as well as separate kettle additions from grist, so determining a relevant SRM for the batch (sans sugars and syrups) is no problem. After running through all the posts and iterations, it is difficult to determine exactly what is in and out. Would it be possible to post the latest iteration of steps and assumption, just like you did in the first post. This would be greatly appreciated.

Finally just some thoughts on model enhancements, which could be totally off-base as I only have a high level understanding of PH. From your post 43 it looks like the major groups of malts mEqs grow with lovi. The exception is the Munich malts. Perhaps having a lovi-bond adjustment factor for each group of malts (base, roast, crystal/melanoidin, wheat/rye, munichs/biscuit could be applied to each before calculating the MCU for the Morey model, reducing or increasing SRM to a more relevant number for your formula. For example - the Munichs and Biscuit malts lovi could be reduced by a factor of 4. Alternatively, perhaps dividing each malt's lovi by the mEq (or tweaked mEq as something in the back of my mind is telling me that this stuff in non-linear) may provide a malt by malt specific adjustment . The sliding adjustment would emphasize malts that have greater impact on mEq relative to their color and deemphasize malts, like the Munichs, that have less impact. Once an adjusted MCU and SRM is calculated, the SRM can be loaded into your master equation. I could easily implement this approach into my program for testing.

Again thanks so much for leading this discussion as well as thanks to all of you who have contributed to the dialog.

Regards,

KB
 
You are free to tweak as you see fit. But as to the more precise "method #2" I believe the malt mEq's to pH 5.4 as the target within my post #43 list to be respectably accurate, meaning they should not be tweaked much if at all.

The complete and stand alone 'SRM Made Easy' version 1.03 is attached within post #69 above as a zip file. Just click on it to download it. As to the base malt drop down selector switch found within, SRM Made Easy version 1.03 takes the formula seen within post #61 as the "revised step 4 formula" for pH_M and replaces the constant of 5.85 with each individual base malts DI_pH (or pHDI) plus 0.09.

As to the impact of the "Percentage of Grist by Weight that is deep roasted" compensation, it simply adds 0.01 pH points to pH_M for every 1 percent of deep roasted grains/malts within the total of the grist weight. This seems to work quite well to compensate for color derived from deep roasted bringing with it less acidity than color not from deep roasted.

Note that grist weight as used within the SRM method does not include added adjunct sugars or their color or OG contributing factors. These must be backed out for recipes containing sugars.

You should now have everything required to make your own SRM based spreadsheet.
 
Last edited:
For the SRM method I quickly cobbled this together to bring it under a single post as you requested:

Step 1: Pick pH_T (your desired Target mash pH, this is often 5.4 or 5.5)
Step 2: Guess your beers final SRM color (whereby: EBC/1.97 = SRM)
Step 3: Determine your grists weight in Kg. (whereby: Lbs./2.20462 = Kg.)

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: Calculate the grists mEq's of acid or base with respect to your desired mash pH target
mEq's = (pH_M - pH_T)*34*Kg_grist

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)

Step #6,calculate alkalinity mEq's:
(Mash Water Volume in Liters)*(mg/L Alkalinity)/50 = Alkalinity mEq's

Step #7, calculate mineral mEq's:
(Mash Water Volume in Liters)*[(mg/L_Ca)/20/3.5 +(mg/L_Mg)/12.15/7)] = mEq's from Ca and Mg

Step #8, calculate total or overall mEq's:
Total_mEq's = Step#5.5 + Step#6 - Step#7

Step #9: Calculate adjustment to hit target mash pH:
Adjustment = Total_mEq's / mEq/ml (or mEq/gram) for adjusting acid or baking soda. Pick mEq/ml or mEq/gram value from below (these values are specific to pH 5.4 as the target, but are close enough for nearby targeted mash pH's):

85% Phosphoric Acid: 14.87 mEq/mL
75% Phosphoric Acid: 12.26 mEq/mL
30% Phosphoric Acid: 3.67 mEq/mL
10% Phosphoric Acid: 1.09 mEq/mL
88% Lactic Acid: 11.45 mEq/mL
80% Lactic Acid: 10.25 mEq/mL
*AMS (CRS): 3.66 mEq/mL
Baking Soda: -10.71 mEq/gram

Test it against 'SRM Made Easy' version 1.03 and if it gives the same adjustment advice I did this correctly.
 
Last edited:
For the SRM method I quickly cobbled this together to bring it under a single post as you requested:

Step 1: Pick pH_T (your desired Target mash pH, this is often 5.4 or 5.5)
Step 2: Guess your beers final SRM color (whereby: EBC/1.97 = SRM)
Step 3: Determine your grists weight in Kg. (whereby: Lbs./2.20462 = Kg.)

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: Calculate the grists mEq's of acid or base with respect to your desired mash pH target
mEq's = (pH_M - pH_T)*34*Kg_grist

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)

Step #6,calculate alkalinity mEq's:
(Mash Water Volume in Liters)*(mg/L Alkalinity)/50 = Alkalinity mEq's

Step #7, calculate mineral mEq's:
(Mash Water Volume in Liters)*[(mg/L_Ca)/20/3.5 +(mg/L_Mg)/12.15/7)] = mEq's from Ca and Mg

Step #8, calculate total or overall mEq's:
Total_mEq's = Step#5.5 + Step#6 - Step#7

Step #9: Calculate adjustment to hit target mash pH:
Adjustment = Total_mEq's / mEq/ml (or mEq/gram) for adjusting acid or baking soda. Pick mEq/ml or mEq/gram value from below (these values are specific to pH 5.4 as the target, but are close enough for nearby targeted mash pH's):

85% Phosphoric Acid: 14.87 mEq/mL
75% Phosphoric Acid: 12.26 mEq/mL
30% Phosphoric Acid: 3.67 mEq/mL
10% Phosphoric Acid: 1.09 mEq/mL
88% Lactic Acid: 11.45 mEq/mL
80% Lactic Acid: 10.25 mEq/mL
*AMS (CRS): 3.66 mEq/mL
Baking Soda: -10.71 mEq/gram

Test it against 'SRM Made Easy' version 1.03 and if it gives the same adjustment advice I did this correctly.
Thanks so much for doing this and I look forward to applying it to my program. I'll let you know how it goes. Any recommendation on a PH for dummies book:). One other question regarding the Munich and biscuit malts. While they have lovibond numbers similar to some of the crystal malts, they are much less acidic. Does a similar adjustment like the roast malts need to made to the Munichs, just a bit lower like raise step 4 ph .005 for every 1% of grist? Given their often large percentage of the grist, they can have significant upward impact on SRM without the corresponding impact to Ph.
 
Thanks so much for doing this and I look forward to applying it to my program. I'll let you know how it goes. Any recommendation on a PH for dummies book:). One other question regarding the Munich and biscuit malts. While they have lovibond numbers similar to some of the crystal malts, they are much less acidic. Does a similar adjustment like the roast malts need to made to the Munichs, just a bit lower like raise step 4 ph .005 for every 1% of grist? Given their often large percentage of the grist, they can have significant upward impact on SRM without the corresponding impact to Ph.

Did you notice the negative signs on two of the munich/biscuit malts? They are more acidic than the positive signed base malts. They just utilize a different slope. Many try to slope them right in line with base malts, but this does not work in my experience. So far I see no need to apply any changes on their behalf. But since I agree that they are nowhere near as acidic as caramel/crystal malts to adjust for them may offer improvement, particularly if you tend to go quite heavy on them within the grist, and tweaking the empirical pH_M for better outcome is the goal here so I will watch for your results.
 
Last edited:
Munich and Biscuit malts mEq/Kg_pH5.4:

10L = plus 3.8 (a bit basic with respect to the targeted pH 5.4 value)
20L = minus 2.8 (a bit acidic with respect to the targeted pH 5.4 value)
30L = minus 9.1 (more acidic with respect to the targeted pH 5.4 value)

But I agree they do not slope as for caramel/crystal.

NOTE: To "best fit" model caramel/crystal acidity I had to resort to a non-linear slope as my math model. The rest of the malt classes (from memory) are OK with linear based acidity slopes. The valuations seen in my post #43 list are rounded to 1 decimal place values...
 
Last edited:
At first I missed the negative signs but later caught them so I see the Munichs do follow a consistent path.

I will play with your model and as a first tweak to test, I will assign adjusted lovibonds that follow the crystal malt mEqs and see how that impacts the output. Also, I will use your DiPHs in MMM for the base malts - I hope a weighted average if blending base malts is somewhat accurate.

After seeing your table on mEqs for the different malts, I was amazed on how correlated lovibond is to mEqs at least within malt types. That said, there should be no reason SRM can't be used as a proxy and a reasonable estimate for PH to be made based on SRM.

Thanks again for all the direction in this thread as well as many others.

Regards,

KB
 
Determining a malts buffering value:

Buffering_Value_Malt = mEq's_of_Titrant_added / [(Delta_pH_Malt)*Kg_Malt_Titrated]

For example:

1) Make a congress mash of 50 grams of a ground base malt in 200 mL of DI or distilled water.
2) Cool to 20 degrees C. and take its DI_pH, lets say it is 5.75
3) Add 10 mL's of 0.1 normal HCl (adding acid here since its DI_pH is basic with respect to target pH 5.4)
4) Stir, settle, cool again to 20 degrees C., and measure the resulting pH, lets say it is 5.15
5) 10 mL * 0.1N = 1 mEq of HCl titrant added
6) Base Malts Buffering value = 1 / ((5.75-5.15)*(50/1000)) = 33.33 mEq/Kg_pH

When you get into malts with twice this buffering capacity it might be best to titrate with 20 mL vs 10 mL. Titrations such as this will be going in the opposite pH direction whereby to bridge the target pH region, and will require 0.1N NaOH as the titrant.
 
Last edited:
After seeing your table on mEqs for the different malts, I was amazed on how correlated lovibond is to mEqs at least within malt types. That said, there should be no reason SRM can't be used as a proxy and a reasonable estimate for PH to be made based on SRM.

The values are highly idealized norms, and thus the witnessed correlation. Spreadsheets need to start somewhere, and slopes are the name of the game. The mEq values are derived averages stemming from presumptive DI_pH's gleaned from diverse public domain sources, including some actual hard data provided to me directly by Breiss upon my request, and likewise from presumptive buffering capacities gleaned from the public domain. Begin with data from different sources, and interpret/massage/cull it differently as well (as is merely normal human behavioral confirmation bias whereby to get a perceived better fit), and your software ends up with different slopes than mine. Individual lots of real world malts will of course not be precise fits, and the R^2 values for real malts will not show anywhere near such good correlation. Small lab scale "congress" mashes do not scale well to larger home brewer and/or commercial batch sizes as well. Calculated buffer values based upon pulverized grists and highly controlled and idealized/perfected congress mashes seem to require a multiplier (OK, to be honest here, a fudge factor) by which to better scale them to the poor grind and miserable efficiency of particularly the average home brewer.

If you undertake your own quasi-congress mashes using the same grind as for your brewing sessions, and do your own titrations. you might be able to achieve better scaling correlation to both DI_pH and buffering capacity with your home brewing system.
 
Last edited:
I just realized that I'm violating my own simplicity as to entry level standards set for this thread. Bad me!!! But then again, it's all potentially a foundational part of writing the Mash pH for dummies book. At least it is all within one thread,

I might add that AJ deLange found it necessary to titrate to 3 different pH endpoints in order to achieve greater precision, because the titration curves are in reality not linear. But the non linearity only shows itself appreciably over broad moves in Delta_pH, whereby grist buffering component barriers such as dissociation constant inflection points interfere with what is generally decently enough linear. If you restrict yourself to a 1 (or for some highly buffering malts, 2 mEq) titration bridging in direction across the typical idealized mash target pH range just to either side of where phosphate buffering is rather linear, and don't thereby titrate yourself into a region (or regions) of non linearity due to pKa's causing buffer collapse thereby, this triple titration is highly unlikely in my opinion to show any real world meaningful gain. But the other side of the coin is that single small mEq titrations that move pH only a small amount require respectably trusted precision in calibration and operation of a highly reliable pH meter, and place more emphasis with respect to precision upon this end of the measurement spectrum.
 
Last edited:
Back
Top