← CoffeeScope

Methodology, validation & limitations

Last updated: 18 July 2026

CoffeeScope is a real-time, browser-based multiphysics simulator of coffee extraction. This page documents, for coffee professionals and for machines that quote it, what the model actually computes, how it is verified, which published work informed it, what has been calibrated and against what, and — stated plainly — what it cannot predict reliably. Every claim here traces to code, tests, or documentation in the project.

Contents
  1. What is modeled
  2. How it is verified
  3. What informed it
  4. Calibration & validation status
  5. What it cannot do
  6. Who builds it, and how often it changes

1. What is modeled

A single coupled 2-D axisymmetric finite-volume solver advances the coffee bed, the water, and the receiving cup as one domain, from the brewer rim to the cup bottom. Each timestep advances the following processes together:

Percolation and flow (Darcy)

Explicit downward Darcy drainage under gravity (V60, OXO, auto-drip) or plunger pressure (AeroPress, espresso). Permeability follows a Kozeny–Carman shape — it scales with the square of grind size (k ∝ d²·ε³/(1−ε)²) — and is throttled by CO₂ bubbles during the bloom and by bed compaction as the brew proceeds. Moka is the one upward-flow brewer: flow is driven by a simulated boiler pressure instead of a gravity head.

Extraction kinetics

A reduced, two-timescale linear-driving-force model. Solubles are lumped into a fast class (bright, sweet, acidic — extracts early and at lower temperature), a slow class (bitter, astringent, woody polyphenols — extracts late, favored by heat and fine grind), and a refractory pool that only the most aggressive brews reach. Caffeine is tracked as its own solute. Each channel carries an Arrhenius temperature dependence, scales with grind surface area, and is limited by saturation back-pressure. Grind is described by both a median size and a spread (fines extract fast and bitter; boulders lock up solids and lower yield).

Heat transport

Five-point conduction, convection advected with the flow, wall loss (damped by optional brewer/cup preheat), and free-surface evaporative cooling. The cup keeps cooling and developing after the brew finishes.

CO₂ bloom and degassing

Roast- and freshness-dependent. Active degassing resists drawdown, swells the bed, and lofts aromatics; roast age is an input. A late crema/foam term accumulates on the pressurized brewers.

Grounds transport

Grounds are not a static bed. When the near-bed shear exceeds a Shields incipient-motion threshold — computed per particle size class — grains are entrained and advected by the local flow. A center pour additionally excavates a crater into a bare or thin bed: the jet's centerline velocity decays with depth (Rajaratnam), sets a wall shear stress (Beltaos–Rajaratnam), and picks up solids above the excess-Shields threshold (van Rijn-scale efficiency). The ejecta advects to a rim mound and over-steep walls relax by an avalanche sweep. Solid mass is conserved throughout.

Pouring and per-brewer schedulers

Pour rate and height both feed bed agitation (stream impact velocity ≈ √(2gh)), and pouring is headroom-gated so the kettle holds off the rim instead of overfilling. Each brewer has its own scheduler (a phase state machine — bloom→pour→drawdown for gravity; fill→steep→press for immersion). The registry currently covers V60, AeroPress (inverted and non-inverted), French press, OXO Rapid Brewer, espresso, moka pot, auto-drip (V60-02 + carafe), and the Hario Switch.

2. How it is verified

3. What informed it

The model's structure and several of its constants are anchored to published work, cited in the source where each term is defined. These are informing references; CoffeeScope is a physically-motivated teaching simulator, not a lab-exact CFD code or a reproduction of any single paper.

Model termInforming reference
Two-timescale extraction + Darcy percolation structureMoroney et al. 2015/2016; Corrochano 2015; Cameron 2020
Kozeny–Carman permeability shapeKozeny–Carman porous-media relation
Jet centerline decay (pour excavation)Rajaratnam 1976 (turbulent jets)
Impinging-jet wall shearBeltaos & Rajaratnam 1974
Sediment pickup / grounds entrainmentvan Rijn pickup function; Shields criterion
Evaporation / boiler vapour pressureMagnus saturation-vapour-pressure curve
Extraction-yield framing (18–22% EY, ~1.15–1.45% TDS filter)SCA "Gold Cup" control chart
Moka boiler thermodynamics & pressure profileGianino 2007; King 2008; Navarini 2009
French-press plateau yieldLiang 2021
AeroPress plunger-motion pressureAdler patent US 7,849,784; Lindsey 2024

4. Calibration & validation status

Constants are tuned so that a well-made brew lands inside published or community-measured windows, and the test bands are anchored to those windows rather than to a single golden number:

Importantly, a single shared model is used for every brewer — per-brewer numbers are not individually fudged to hit a target. Where the shared model cannot reach a literature figure, that gap is surfaced in the validation registry as a known gap rather than hidden.

Taste is calibrated directionally. The six taste axes (acidity, sweetness, body, bitterness, aroma, clarity) are mapped from the dissolved-solubles state using sensory-standard directions (e.g. acidity brightens as a cup cools; bitterness climbs past ~22% yield). They are calibrated to move the right way, by a plausible amount — they are not predictions validated against a trained sensory panel. Read them as a well-reasoned taste direction, not a measured score.

5. What it cannot do

Stated plainly, so nobody over-reads the output:

6. Who builds it, and how often it changes

CoffeeScope is built by Lasse Thomsen (Denmark) using an AI expert-panel workflow: specialist reviewers for specialty-coffee ground truth, transport physics, extraction chemistry, UX, and software quality critique each change against the bar "would James Hoffmann and Lance Hedrick respect it?" The physics and its verification gate are reviewed continuously; the model changes as calibration improves and gaps are closed. This page is dated above and is updated when the methodology materially changes.


References

  1. Moroney, K.M. et al. — modelling of coffee extraction during brewing (2015/2016).
  2. Corrochano, B.R. et al. — flow and extraction in espresso (2015).
  3. Cameron, M.I. et al. — systematically improving espresso (2020).
  4. Rajaratnam, N. — Turbulent Jets (1976).
  5. Beltaos, S. & Rajaratnam, N. — impinging circular turbulent jets (1974).
  6. van Rijn, L.C. — sediment pickup functions; Shields incipient-motion criterion.
  7. Gianino, C. (2007); King, W. (2008); Navarini, L. et al. (2009) — moka-pot physics.
  8. Liang, J. et al. (2021) — French-press extraction.
  9. Specialty Coffee Association — "Gold Cup" / control-chart extraction-yield framing.

Privacy Policy →  ·  Terms of Use →