Announcing the release of 'Mash Made Easy' (MME) version 11.40

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.

Silver_Is_Money

Larry Sayre, Developer of 'Mash Made Easy'
Joined
Dec 31, 2016
Messages
6,458
Reaction score
2,213
Location
N/E Ohio
Mash Made Easy version 11.40 is now available for free download in both USA and fully Metric versions.

Changes since version 11.30:

1) Per the recent request of one of our valued HBT members I've changed the apparently somewhat confusing "Not Categorized" Malt/Grain Classification drop down selection to read "Main Sequence", and I've made this initial default grist component selection visible, as opposed to its having been invisible for version 11.30.

"Main Sequence" Malts include mainly (though not always) Barley Malts such as (but not limited to):
------------------------------------------------------------------------------------------------------------------------------------
Base Malts
Specialty Base Malts
Munich Malts
Biscuit Malts (including Victory)
Brown Malts
Chocolate Malts
Dark Roasted Malts (including Bitterless)
Dark Roasted Unmalted Grains (such as Roasted Barley)

To make grist component category selection as easy as possible, simply open any Malt/Grain Classification (drop down) cell via clicking within it and then click upon the down arrow which will appear to its immediate right. Visually scan the category choices offered within this drop down menu. If a classification for your grist component is NOT offered, it is to be considered "Main Sequence". If it is offered, click upon it within this drop down menu whereby to select it.
 
Aside from changing the "Not Categorized" grist component designator to read "Main Sequence", and making this designation visible, versions 11.30 and 11.40 are identical. Some may prefer main sequence visibility (11.40) and some may prefer main sequence invisibility (11.30).
 
In keeping with my policy of transparency, here are some of the key current version inner workings of Mash Made Easy (MME):

Main Sequence BC (malt acidity for exclusively a pulverized malt*) = 34.5+LN(Lovibond)*5.75

Examples:
Lovibond = 1.2, BC = 34.5+LN(1.2)*5.75 = 35.55 mEq/Kg_pH
Lovibond = 1.5, BC = 34.5+LN(1.5)*5.75 = 36.83 mEq/Kg_pH
Lovibond = 2, BC = 34.5+LN(2)*5.75 = 38.49 mEq/Kg_pH
Lovibond = 3, BC = 34.5+LN(3)*5.75 = 40.82 mEq/Kg_pH
Lovibond = 4, BC = 34.5+LN(4)*5.75 = 42.47 mEq/Kg_pH
Lovibond = 6, BC = 34.5+LN(6)*5.75 = 44.80 mEq/Kg_pH
Lovibond = 10, BC = 34.5+LN(10)*5.75 = 47.74 mEq/Kg_pH
Lovibond = 25, BC = 34.5+LN(25)*5.75 = 53.01 mEq/Kg_pH
Lovibond = 65, BC = 34.5+LN(65)*5.75 = 58.50 mEq/Kg_pH
Lovibond = 80, BC = 34.5+LN(80)*5.75 = 59.70 mEq/Kg_pH
Lovibond = 140, BC = 34.5+LN(140)*5.75 = 62.91 mEq/Kg_pH
Lovibond = 300, BC = 34.5+LN(300)*5.75 = 67.30 mEq/Kg_pH
Lovibond = 500, BC = 34.5+LN(500)*5.75 = 70.23 mEq/Kg_pH
Lovibond = 600, BC = 34.5+LN(500)*5.75 = 71.28 mEq/Kg_pH

* Less than pulverized grist components will have progressively lower BC values in relation to crush. Example BC's as seen above are for a grist buffer multiplier of 1.00 (I.E., Pulverized)

Main Sequence DI_pH = 5.85-0.5*LOG(Lovibond)

--------------------------------------------------------------------------------------------------------------------------------------------


Caramel/Crystal BC (malt acidity for exclusively a pulverized malt*) = 28+LN(Lovibond)*8+Lovibond/8

Examples:
Lovibond = 10, BC = 28+LN(10)*8+10/8 = 47.67 mEq/Kg_pH
Lovibond = 20, BC = 28+LN(20)*8+20/8 = 54.47 mEq/Kg_pH
Lovibond = 40, BC = 28+LN(40)*8+40/8 = 62.51 mEq/Kg_pH
Lovibond = 60, BC = 28+LN(60)*8+60/8 = 68.25 mEq/Kg_pH
Lovibond = 80, BC = 28+LN(80)*8+80/8 = 73.06 mEq/Kg_pH
Lovibond = 120, BC = 28+LN(120)*8+120/8 = 81.30 mEq/Kg_pH
Lovibond = 150, BC = 28+LN(150)*8+150/8 = 86.84 mEq/Kg_pH

* Less than pulverized grist components will have progressively lower BC values in relation to crush. Example BC's as seen above are for a grist buffer multiplier of 1.00 (I.E., Pulverized)

Caramel/Crystal DI_pH = 5.65-0.55*LOG((Lovibond+0.7)/1.35444
 
Last edited:
Oops, I forgot to mention that the above BC's are intended specifically with reference to a mash pH target of 5.40.
 
Critically, there is also a requisite change in 'sign' for mEq's with respect to whether or not a grist component is alkaline (or basic) with respect to the chosen mash pH target, or acidic with respect to the chosen mash pH target.

DI_pH greater than ones mash pH target = alkaline with respect to mash pH (I.E.., requires an acid addition)
DI_pH less than ones mash pH target = acidic with respect to mash pH (I.E., requires an alkaline or basic addition)
 
mEq/Kg_pH represents the mEq's of either acid or base 'nominally' required to move 1 Kilogram of a grist component 1 pH point.

For the example of a 'nominally' 500 Lovibond malt such Black Patent, BC = mEq/Kg_pH = 70.23
And for the same Black Patent malt the DI_pH should nominally be: 5.85-0.5*LOG(500) = 4.50

For the example of Black Patent Malt:
--------------------------------------------------
Mash pH target chosen = 5.40
Black Patent DI_pH ~= 4.50
Black Patent BC ~= 70.23
Kg's of Black Patent to be added to our grist = 0.125 Kg.
Delta_pH = mEq/(BC x Kg.)
(5.40 - 4.50) = mEq/(70.23 x 0.125)
0.90 = mEq/8.77875
mEq = 7.900875
Black Patent is acidic with respect to pH 5.40, requiring the addition of 7.9 mEq's of a base like Baking Soda
At specifically the mash pH target of 5.40 Baking Soda has a strength of 10.75162 mEq/Gram (call it 10.75)

7.9 mEq/10.75 mEq/Gr. = 0.74 Gr. of Baking Soda to 'nominally' move 0.125 Kg. of Black Patent to pH 5.40
(Edit: For specifically the case of a fully pulverized Black Patent Malt)
 
Last edited:
The most down and dirty, yet adequately effective, means to bring Alkalinity laden water to approximately pH 5.4 is:

1) Divide the mg/L (ppm) Alkalinity by 50. This gives you mEq/L Alkalinity. (if persnickety, divide by 50.04345)
2) Multiply the above by the number of liters of your mash water. This gives you mEq's of Alkalinity.
3) Full elimination of Alkalinity requires acidification to 4.3 pH, but 90% elimination will bring you to ~5.40 pH.
4) 0.90 x mEq's of Alkalinity = mEq's of Alkalinity to be removed.

Example for 137 mg/L (ppm) mash water Alkalinity, and 20.5 Liters of mash water:
1) 137/50 = 2.74 mEq/L Alkalinity
2) 2.74 mEq/L x 20.5L = 56.17 mEq of Total Alkalinity
3) Full elimination of Alkalinity requires acidification to 4.3 pH, but ~90% elimination will bring you to 5.4 pH.
4) 0.90 x 56.17 = 50.553 mEq to be removed whereby to achieve ~ pH 5.40.

If you are using 88% Lactic Acid, which delivers 11.451 mEq's of Acid (H+ ions, or protons) per mL at specifically pH 5.40, then:

50.553 mEq ÷ 11.451 mEq/mL = 4.4 mL of 88% Lactic Acid required to move 20.5 Liters of 137 ppm Alkalinity mash water (or same for 20.5 L. of sparge water) to a pH of approximately 5.40.
 
Common Acid's deliveries of mEq's/mL of H+ ions (protons) at specifically a targeted pH of 5.40 are:

88% Lactic Acid = 11.451 mEq/mL
80% Lactic Acid = 10.246 mEq/mL
10% Phosphoric Acid = 1.090 mEq/mL
30% Phosphoric Acid = 3.667 mEq/mL
85% Phosphoric Acid = 14.865 mEq/mL
AMS (or CRS) Acid Blend = 3.655 mEq/mL
Anhydrous Citric Acid = 12.635 mEq/Gram
 
Acid Malt (nominal, or typical) = ~0.3231 mEq/Gram at specifically pH 5.40
Acid Malt (nominal, or typical) = ~9.16 mEq/Ounce at specifically pH 5.40
 
Last edited:
A.J. deLange stated several times that in his observations the H+ (Acid) liberated within the mash proper due to the presence of (and Malt Phosphate interaction with) Calcium and Magnesium ions within the mash is roughly about half of what Kolbach observed specifically post boil and cooling (I.E., at knockout).

Later, Chemists Barth and Zaman showed that depending upon ones chosen grist components, the H+ (Acid) liberation within the mash proper can range from half (in agreement with AJ) to roughly one quarter of what Kolbach observed post boil and cooling (I.E., at knockout).

Going with strictly A.J deLage here (strictly out of convenience) we can now express this as:

MEq's of H+ (I. E., Acid) Liberated by Malt Phosphates = mEq's_Ca++/7 + mEq's_Mg++/14

Example for 20.5 Liters of mash water containing 75 mg/L (ppm) Ca++, and 8 mg/L (ppm) Mg++

MW Ca++ = 40.078 grams/mol
MW Mg++ = 24.305 grams/mol

Both of these ions are +2 in charge, therefore:

Eq. Wt. Ca++ = 40.078/2 = 20.039 grams/Eq = 20.039 mg./mEq
Eq. Et. Mg++ = 24.305/2 = 12.153 grams/Eq = 12.153 mg./mEq

75 mg/L Ca++ ÷ 20.039 mg./mEq = 3.743 mEq/L Ca++
8 mg/L Mg++ ÷ 12.153 mg./mEq = 0.658 mEq/L Mg++

3.743 mEq/L x 20.5L = 76.732 mEq's of Ca++ ions
0.658 mEq/L x 20.5L = 13.489 mEq's of Mg++ ions

mEq's of H+ (I. E., Acid) Liberated by Malt Phosphates = 76.732/7 + 13.489/14 = 11.925 mEq's

Therefore: 11.925 mEq's of Acid are "nominally" expected (per siding with A. J. deLange as opposed to Barth and Zaman, who likely would derive somewhat less) to evolve within the mash water used for this specific example via the presence of these two minerals.

Note: Within 'MME' this conditional state (I.E., divisors of 7 and 14 for Ca++ and Mg++ mEq's respectively) is achieved via setting the "Kolbach Ca++ and Mg++ pH Shift Multiplier =" cell to a value of 0.50, which is the download default for this cell.
 
Last edited:
Simply sum the positive and negative mEq's for each individual grist component, plus the mEq's of mash water Alkalinity adjustment to pH 5.40, plus the mEq's of H+ liberated by your mash waters Calcium and Magnesium ions, and you will know how many mEq's of either acid or baking soda are required whereby to move your mash to a pH of ~5.40 for the specific case of a pulverized grist.
 
Lastly (perhaps): BC Compensation for grist components that are crushed to a known Mill Gap as opposed to being Pulverized:

Actual_Grist_Component_BC = BC_Pulverized x (1 - 6.9215 x Mill_Gap_Inches)
(or for the Metric version)
Actual_Grist_Component_BC = BC_Pulverized x (1 - 0.27725 x Mill_Gap_mm)

Example:

Assumptions:
Mill Gap for grain crush = 0.032"
Individual Malts Pulverized_BC = 41

Method:
1) Since inches: Actual_Grist_Component_BC = BC_Pulverized x (1 - 6.9215 x Mill_Gap_Inches)
2) Actual_Grist_Component_BC = 41 x (1 - 6.9215 x 0.032)
3) Actual_Grist_Component_BC = 31.92

For this example, our grist component with a pulverized malt BC of 41 will have a real world BC of closer to 31.92.

Since (for this example) 31.92 ÷ 41 = 0.78 the "Actual Grist Buffer Multiplier (0.60 to 1.00) =" cell within MME should have 0.78 entered within it for the specific case of Mill Gap Crush = 0.032 inches. A worksheet at the bottom center of the main "Mash pH" sheet within MME will do this Mill Gap revised BC_Factor calculation for you, but (to allow for user flexibility) this "BC_Factor" value (or a value of your choosing, if a better value works best for your conditions) must be manually be entered into the "Actual Grist Buffer Multiplier (0.60 to 1.00) =" cell. Once 0.78 (or whatever value is MME calculator computed or alternately user chosen for your grain crush) is entered within this cell all grist components BC's are automatically adjusted internally. As long as your grain crush remains the same as to Gap, this cell will never again require BC_Factor adjustment. If your grist is actually pulverized, manually enter 1.00 into this cell.

Edit: 0.78 is the download default here.
 
Last edited:
As an aside, have you ever noticed that the 'Brewer's Friend' mash pH adjustment calculator generally settles upon an aggregate grist BC of 34-35 when a pulverized grist is more likely to have an aggregate BC in the vicinity of 45 (with AJ deLange often commenting that BC = 45 should be presumed if you have no means of computation, and wherein I speculate that AJ never gave thought to BC being impacted via crush)?

I speculate that (since to my knowledge BF does not ask the user to input a mill gap crush) it simply presumes (subject to my being corrected here) a certain 'fixed' crush gap compensation factor internally for all users.

For the MME example seen above the example's derived BC multiplicative "Factor" of 0.78 would internally convert an aggregate pulverized grist with a BC of 45 to: 0.78 x 45 = 35.1
 
Last edited:
I believe that this thread now provides adequate information (all within one thread) whereby to permit anyone desiring to do so the means whereby to create a functional (and accurate) mash pH prediction calculator. The missing information at this juncture mainly consists of complex dissociation constants (pKa, or Ka) related refinements (for which, if one searches, I have detailed the means to formulate these elsewhere within HBT). I've opened the door (and effectively my heart and soul) to the culmination of about 5 -6 years of my research and refinement to MME, so others do not need to grope for 5 - 6 years or more. Refinements of these formulas as provided above are left up to you. And are both needed and fully welcomed.
 
Hi I'm using the latest 11.50 atm, but have the same issue with previous versions.
When I take a recipe from beersmith 2.0, in this case an Old Ale, Beersmith calculates it at around 71EBC but MME calculates it at around 58EBC.
Is there any explanation for this?
Thanks alot!
 
Hi I'm using the latest 11.50 atm, but have the same issue with previous versions.
When I take a recipe from beersmith 2.0, in this case an Old Ale, Beersmith calculates it at around 71EBC but MME calculates it at around 58EBC.
Is there any explanation for this?
Thanks alot!
I have no idea as to what makes Beersmith tick, but I suspect it may be a Lovibond vs. SRM color difference issue on the input side.

As an aside, I see where at some juncture Briess arbitrarily changed their malts from Lovibond to SRM, but didn't change the colors intensity valuations accordingly, as would be factually required, keeping them as for Lovibond, but simply calling them SRM instead. No idea as to whether this is playing a part or not, but it's a possibility.
 
Last edited:
I have no idea as to what makes Beersmith tick, but I suspect it may be a Lovibond vs. SRM color difference issue on the input side.

As an aside, I see where at some juncture Briess arbitrarily changed their malts from Lovibond to SRM, but didn't change the colors intensity valuations accordingly, as would be factually required, keeping them as for Lovibond, but simply calling them SRM instead. No idea as to whether this is playing a part or not, but it's a possibility.
I am only working with EBC and german malts. I read somewhere, but can't find that especially in the 40-70ebc range the formula's differ, perhaps you use a different formula then beersmith for EBC calculation?
 
I am only working with EBC and german malts. I read somewhere, but can't find that especially in the 40-70ebc range the formula's differ, perhaps you use a different formula then beersmith for EBC calculation?
As I said, I have no idea as to what makes Beersmith tick. I can only stand behind my own work.
 
Found the thread on it

"as De Garre's post points out there are also (at least) two methods of calculating colour, and so, in recipes at least, we really ought to quote the method by which we calculated the colour of the finished beer, as well as the number that it represents (e.g. 98 EBC (by MCU) (that's the Malt Colour Units method of predicting colour, as recommended by Graham Wheeler and used in Beer Engine) equates to around 43 EBC (by Morey) ... the difference is most sharply experienced in this dark brown colour range"
source
 
Back
Top