Reinventing the Bread Baker’s DDT Formula, Pt 2

A New Approach

John Scalo
Made by Windmill

--

I’ve been thinking for a while now how great it would be if we had a formula that didn’t rely on this friction factor. It seems like a solvable problem. If I know ingredient amounts, ingredient temperatures, air temperature, and a little about the equipment being used, I should be able to apply principles of thermodynamics and chemistry to calculate the required starting water temperature. But which principles? Where do I start?

You know how sometimes in cop dramas a pathologist will say that the murder occurred on Thursday at 1:30am just by examining the victim’s body? That’s very similar to the problem I’m trying to solve, but in reverse, and they’re using Newton’s Law of Cooling. It looks like this:

where

  • Q is the rate of heat transfer
  • h is the heat transfer coefficient
  • A is the heat transfer surface area
  • ΔT(t) is the difference in temperature between the environment and the object, at time t

I’m not going to lie, some of the math here is beyond my capabilities and if it weren’t for the help of a math genius friend (thanks Christopher Arthur!), I would have been stuck. Suffice to say, for this formula to be useful we need to apply some calculus and differentiate the equation. When we do, we get:

where

  • T(t) is the temperature of the mixture after t minutes
  • Ta is the air temperature
  • T0 is the starting temperature of the mixture
  • e is euler’s constant
  • 𝜏 is a time constant specific to the mixture

Applying this to our dough situation, we can say that the t in T(t) is the number of minutes spent mixing the dough until it’s thoroughly integrated. Ta is straightforward, that’s just the air temperature. But what about T0 and 𝜏?

T0 is the starting temperature of the mixture. You might think you can get that just by averaging the temperatures of the the ingredients proportioned to their weight, but nope, nothing’s ever that easy. Instead we turn to the first law of thermodynamics and Richmann’s law of mixtures. Basically instead of just taking the temperature of each ingredient proportioned by weight, we need to consider the specific heat capacity of each ingredient. The final formula looks like:

Just my luck, this raises even more questions. What’s the specific heat capacity ( C ) of water? What’s the C of flour? What’s the C of starter?

It’s well known that the C of water is 4.184 so at least I get that for free. And there is some scientific data about the specific heat of many common food ingredients, but the value for flour ranges from 0.5 to 1.8 depending on where you look. For now I’ll use 1.8.

The C of starter? I had to calculate that by hand and came up with a value of 2.97. That’s not 100% accurate since by the time I combined the water and starter thoroughly, some heat had already been lost, but close enough for now.

Now let’s take the general formula above and make it specific for our ingredients: water (w), flour (f), and starter (s). (I’m leaving the C values of flour and starter variable for now so they can be adjusted later if needed.)

Then, substituting this formulation of T0 back into NLoC and solving for Tw I finally got this beast:

(Just to get this fitting on one line I used r in place of the constant 0.239006.)

This is progress! In theory I now have a generalized formula that can tell me the temperature of water required to achieve a final dough temperature, T(t).

Tau

But what about this 𝜏 (tau) value? Its function in the equation is to provide a constant cooling factor for a given mass and type of substance. It’s defined like this:

where

  • m is the mass of the mixture
  • C is the specific heat capacity of the mixture
  • h is the heat transfer coefficient for the mixture
  • A is the surface area of the mixture

I went down a loooong road trying to calculate 𝜏 dynamically but in the end I found that to be impractical. Calculating the surface area of a dough ball is too imprecise and even if I had that, I’d still have to roughly estimate C and h.

But that’s OK. If C and h are constants, and the surface area of the dough correlates to its mass, then there should be some equation that predicts 𝜏 based on mass. In statistical terms, I want to apply regression analysis to create a mathematical model of the behavior of this 𝜏 variable. Our app already uses these types of models to estimate the ideal bulk and proof times of the dough so this is familiar territory.

So instead of calculating 𝜏 dynamically, I did a series of experiments under varying conditions to model its value. To do that, I started by restating Newton’s Law of Cooling formula in terms of 𝜏:

This is where the dough experiments come in. And lots of them. Using varying air temperatures, ingredient temperatures, dough masses, and flour types (ranging from home-milled to cheap store-bought), I mixed dough together under (as best I could) controlled conditions and took a temperature reading every minute. (Actually I always took 2 readings and averaged them together.) From this data I was hopeful that I could fit a linear equation to predict how 𝜏 would change.

From my experiments I gathered some good insights. 1) 𝜏 behaves differently when using a mixer vs using my hands. And 2) 𝜏 behaves differently when the mixture started warm and came down in temperature vs when it started cool and came up in temperature (I’m still not sure why this is). And as expected from its definition, 𝜏 varies by mass.

Therefore I’d need 4 different models for 𝜏:

  • Mixing by hand when the mixture is warmer than the air temp
  • Mixing by hand when the mixture is cooler than the air temp
  • Mixing with a stand mixer when the mixture is warmer than the air temp
  • Mixing with a stand mixer when the mixture is cooler than the air temp

Doing some linear regression analysis on 𝜏 vs mass with the data split up in those four different ways showed promising results. For example:

Look at that nice line! The R² (a measure of how well the prediction equation correlates to the actual data) is 0.97 which is fantastic.

(As an aside, because I’m modeling an equation based on relatively little data, there’s a risk of overfitting the model. Overfitting occurs when the prediction equation is so specific that it becomes tailor-made to the data set, errors and all. To protect against overfitting I’ve limited the prediction equations to be simple linear equations only.)

Again, more progress. Now I have a generalized formula for getting the required water temperature and a mathematical model for predicting the value of one of its key variables.

In the part 3, I’ll look at the accuracy of this new formula.

--

--

Twitter: @scalo • Cofounder of @MadeByWindmill - an iOS dev shop • Apple, Inc ex-pat.