The Virtual Cook, Rebuilt
A Python reproduction of a 1999 cooking model, and the choices hidden inside its doneness score.
How often should you flip a burger? McGee et al.’s 1999 model puts the shallow minimum in its doneness index near a flip interval. My reproduction finds the minimum at when boundary points count and when only interior points count. Across to , though, the index changes by only about . The reversal is clear; a single best interval is not. These are simulation results at a center.


The Model
In their 1999 Physics Today paper, McGee, McInerney, and Harrus treated a hamburger as a uniform, axisymmetric disk, across and thick, initially at . Fourier’s law, , leads to the heat equation for this constant-property model:
In boiling water, a heat-transfer coefficient of gives a Biot number of and keeps the surface within of the bath, so a fixed-temperature boundary is a good approximation. For frying, the pan-facing surface is clamped at , while the off-heat face and the cylindrical rim lose heat to air through a Robin boundary with . Each flip swaps the conditions on the two broad faces. Every simulation stops when the center reaches , the paper’s comparison point.
For this reproduction, I use fixed working inputs for lean beef: conductivity , density , and specific heat . Together they give a thermal diffusivity of . These are project assumptions carried over from the series-plan toy case, not values reported by McGee et al.; the calculation holds them constant as the meat heats.
Temperature alone does not capture the paper’s idea of doneness, so the authors add a thermal-history score. Above , a quantity called doubles for every rise; below that threshold it is zero:
The model integrates through time at points in the disk’s central cross-section, sums those histories, and divides by . That final number is a sum over sampled points, not an average over the meat. The distinction will matter when we ask whether a reproduction gets the same answer.


Can the Model Reproduce the Paper?
For the disk immersed in a bath, the reproduction gives a doneness index of ; the paper reports . At , the two values are and , and at both are . The lowest score still falls at . The model recovers the pattern, while its absolute index is a little higher.
Other checks land close to their reported targets. For a disk in a bath, the model’s center-temperature window lasts , compared with in the paper, and its center warms at rather than . A one-dimensional slab gives another check: separation of variables yields an exact temperature profile, and the solution depends on the Fourier number, , so the time to the same center temperature scales with thickness squared. For the start and bath, the slab reaches a center at , giving at , at , and at . The 2D disk runs show the same penalty: a disk takes about , while a disk takes . The 2D disk cooks slightly faster than the slab at because heat also enters through its rim.


Before trusting the disk simulations, I compare the finite-volume solver with exact one-dimensional slab solutions for fixed-temperature and convective boundaries. Those analytical profiles give a known answer against which to check the numerical method before applying it to the axisymmetric disk. Across five grid refinements, the spatial error falls at second order; after a boundary flip, two backward-Euler steps damp the surface ringing from Crank–Nicolson while preserving second-order temporal convergence. The energy imbalance in these checks ranges from to . The cooking runs use a axisymmetric mesh and time steps, with the reported quantities within about of their mesh-converged values. These checks support the numerical method, but they cannot decide how the paper’s index should count sample points.
A Warmer Start, a Faster Cook
The bath and the disk’s thickness are not the only ways to change the time to a center. Begin with the same disk at , then raise its starting temperature before cooking: prewarming it to shortens the cook by , while starting at shortens it by . The hotter start gives heat less ground to cover before the center reaches its target. That change in cooking time is direct and easy to interpret.
The doneness index shifts too, but its size depends on how the sample points are counted. At , it falls by with boundary points included and by with interior points alone; the paper reports about . At , cooking time falls by , while the index falls by under the boundary-inclusive convention. The time comparison follows the temperature field; the index comparison also inherits the rules used to sample it. A warmer start changes both the cook and the score, but the score is the less portable measure.


What Does Flipping Change?
In the frying cases, one face contacts the hot pan while the other faces the air, and the two conditions exchange when the disk flips. With a interval between flips, the center reaches in . Flipping every brings that time down to . The heating surface alternates more often, so the center warms sooner. More frequent flipping speeds this cook.
The paper’s more surprising claim concerns the doneness index, which has a shallow minimum near a flip interval. The reproduction also finds a shallow minimum, but its sampled location is when the cooking faces are included and when only interior points are counted. Across intervals from to , the score changes by about . The direction of the curve survives; its precise minimum does not.


The Index Has a Counting Problem
The paper’s index adds the integrated thermal history at each sample point and divides by a fixed constant. If the same temperature field is sampled more densely, the sum grows: on this run, increasing the grid from points to raises the index from to , nearly tenfold. The area average stays at . The sum measures how many points were counted as well as how much of the meat was cooked.
Where those points sit changes the answer too. With points, including the two cooking faces gives ; using only points strictly inside the meat gives for the same simulation. The faces remain at the bath temperature, where is , compared with at the center. As a result, face samples contribute of the sum, while the interior samples contribute .
This choice also changes the apparent location of the flip-interval minimum, even though the simulated temperature fields are identical. The boundary-inclusive convention gives ratios of for the -to- bath comparison and for the -to- comparison, compared with the paper’s and ; the interior-only convention gives and . That is evidence that the paper included boundary points, though it cannot prove the original grid layout. The prewarming comparison is a useful counterexample: its index change is closer to the paper under interior-only sampling. I report the area average beside the paper-style sum so a reader can see both and compare the result across meshes.


Conclusion
Rebuilding the virtual cook recovers the paper’s main comparisons: cooler immersion baths lower the index, doubling thickness quadruples cooking time, and frequent flipping brings the center to its target sooner. It also exposes a less visible choice inside the headline score. The solver can be refined and checked, but a sum over an unspecified set of points will still depend on how those points are chosen.
The next useful step is to replace that sum with a spatial average and keep the original convention alongside it when comparing with the paper. One target remains outside this reproduction: the spit-roast case needs a three-dimensional model with a rotating radiative boundary. The next post will relax the assumption that every part of the meat has the same properties, and ask how internal variation changes cooking time. For the burger in the bath, the distance heat must travel still explains the long wait. The counting rule explains why the score is harder to trust.
Part of my research notes on heat transfer in cooking. Based on McGee, McInerney, and Harrus, “The Virtual Cook: Modeling Heat Transfer in the Kitchen,” Physics Today 52(11), 30–36 (1999); numerical results are from the Post 1 reproduction notebook.