It should be noted that the constant value of '34' as seen within step #5 of the SRM based model is merely a middle of the road or nominalized approximation for the overall or aggregate grist "buffering factor" value, chosen intentionally to make the SRM method simple. Any good spreadsheet built around the technically more precise 'Method 2' (as I've been calling it), which does not involve batch or final beer SRM's, must utilize actual derived buffering factor values for each individual grist component.
In this case we have some measured values for pH DI, a1, a2, and a3 to work from. Technically you don't need to measure these values but you have to:
a.) Be willing to use an actual batch of beer to tweak them;
b.) Be comfortable enough tweaking them
What I have had very good luck with is taking data from our forum members at LOB.com who have all other variables worked out and consistent batch results, and tweak values for a1 and a2 in particular to get matching results for their batches. Now granted, we have some guys over there using industrial in-line pH transmitters and recorders, so obviously not everybody could do the same but i am confident in the reporting of their values.
I wonder if the aforementioned grist buffering value "fudge factor" multiplier which seems to be highly requisite in making what I've been referring to as the technically more highly precise "Method 2" (as opposed to the 'SRM Method) a better fit to real world mash pH adjustment values correlates somehow to mash efficiency, and can be derived as a variable with respect to efficiency rather than assigned as a rather arbitrary constant.
This fudge factor has not turned out to be a factor for me in my calcs. Even "field" data has not shown this to be not necessary. YMMW. I actually attempted to apply it in a few cases where people seems to be having un-diagnosable issues with pH, but it turned out we just needed to tweak the titration constants for Munich and Sauermalz.
I wonder if the AJ method finds better correlation to the mash pH adjustment results found in the real world by home brewers via the application of the potentially highly variable "fudge factor", or if it is so complete and spot on that it does not need to apply this major 'kludge' due to its higher degree of purported perfection?
Obviously, I am a champion for A.J.'s algorithm. I have made some tweaks to mine but it is essentially the same exact thing at heart. Most of my tweaks were for the user interface and not the background functions, although I did have to tweak, pretty considerably, the Find pHz function (the function that auto calculates pHz without macro buttons or the solver) to fit my needs better.
I can say that A.J.'s base algorithm, and my adaptation, do not use this kludge at all.
Short version: If we somehow believe we know every requisite factor regarding proton balancing, why is the "fudge factor" required at all for method #2?
I can't answer this because I don't in fact use it. Maybe it's the way your calculations are structured?
How can 'Method 2' based math models incorporate data indicating wild mash pH measurement variability swings across 'single infusion', 'step mash', and 'decoction', as witnessed by peer reviewed brewing masters, and as seen as to its magnitude within other of my threads.
Do you see these wild swings in your brewhouse when switching between mashing regimes? Could it maybe be recirculation based? I have heard many people over the years say the mash takes a while to stabilize but again, recirculation seems to help lock pH in and hold it there for those that use it so this may not be an issue for everyone.
Short version? A method doesn't need to account for something that isn't there/isn't a factor. Especially if that factor is a function of poor mash mixing, etc. You should not expect a spreadsheet/software developer to code in fixes for the mechanical aspects of your system, etc.
I'm going to go back and reread that paper you posted. I don't think I gave it it's just due when you posted.
Is it silly to swat flies with atom bombs? (note that my answer to this one as it relates specifically to mash pH adjustment assistance is actually "no", and that is why I've often mentioned that I'm unworthy to tie AJ's shoes.)
I had a conversation with A.J. when I asked him if he wanted to collaborate on a sheet that put his troubleshooter to use in a user interface based spreadsheet. The reason it was called the "Engine" to start with is because we got off on a tangent about Resto-mod type vehicles, whose outward appearance often belies the modern mechanics of it's drive train, engine, etc.
The point? You don't need to understand what's under the hood to get an incredible amount of joy out of a Ferrari, Modern Corvette, Tesla, etc. Sometimes it's good enough to mash the gas and feel the rush.
In this case, the advantage of a powerful algorithm, especially one that also allows you to easily do calculations that on paper, or even in a traditional .xlsx sheet, would be very cumbersome and difficult, is that it allows you to pay attention to the mash more and make tweaks that have a real bearing on results.