Two ways a cell layer closes a gap
When a monolayer of epithelial cells is wounded — in a lab this is often done crudely by scratching a plastic dish with a pipette tip, the classic scratch assay — the cells at the edge of the gap don't wait passively for new cells to arrive. They actively crawl inward, and the cells behind them keep dividing, and together those two behaviors close the wound as a coherent, collectively migrating sheet rather than as individual cells wandering randomly.
This is exactly the setup that Ronald Fisher and, independently, Andrey Kolmogorov, Ivan Petrovsky and Nikolai Piskunov analyzed in 1937 for a completely different problem — the spread of an advantageous gene through a population. The mathematics is identical, which is why it's called the Fisher-KPP equation regardless of whether the population in question is genes, foxes, or skin cells.
The equation: diffusion plus logistic growth
Let u(x,t) be the local cell density. Fisher-KPP says its rate of change is the sum of a spreading term (random migration, modeled as diffusion) and a growth term (proliferation, modeled as logistic growth capped at the carrying capacity):
du/dt = Dm * d2u/dx2 + k * u * (1 - u/K)
^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
migration/spread logistic proliferation
Dm = cell motility (diffusion coefficient)
k = proliferation rate
K = carrying capacity (confluent monolayer density)
Solved on a line with an initial gap, this equation settles into a traveling wave: a front of fixed shape moving at constant speed v = 2√(Dm·k). This formula is one of the cleanest results in mathematical biology — the healing speed depends only on how motile individual cells are and how fast they divide, not on the width of the original wound.
What's happening at the leading edge
The diffusion term in Fisher-KPP is a mathematical stand-in for something very physical: cells at the very front of the wound extend flat, sheet-like protrusions called lamellipodia, driven by actin polymerization pushing against the cell membrane. Actin monomers add to the growing ends of filaments right at the leading edge, the membrane bulges forward, and new adhesions form to anchor the advance — a cycle that repeats many times a minute. Cells a few rows back from the edge, by contrast, mostly just proliferate and passively get pushed or pulled along by their neighbors, which is exactly the division of labor the two terms of the equation represent.
Why the front doesn't spread faster than v
Fisher-KPP actually admits a whole continuum of traveling-wave speeds greater than or equal to 2√(Dm·k), but only the minimal speed is the one that's dynamically stable and the one reached from realistic, compactly-supported initial data — a wound with a sharp, finite edge rather than cells trailing off to infinity. This is why real wound-healing experiments reliably measure a single characteristic closure speed rather than a range: whatever the exact initial shape of the scratch, the system relaxes onto the same minimal-speed front.
Frequently asked questions
What is the scratch/wound-healing assay actually measuring?
It is a lab technique where a cell monolayer is scraped to create a gap, and the rate at which cells close that gap over hours is used as a simple proxy for how migratory or invasive a cell line is. It underlies this simulation's setup.
Why does the healing front move at a constant speed instead of slowing down?
Because the Fisher-KPP equation admits a traveling-wave solution once the front is established: the shape of the density profile stops changing and simply translates at the fixed speed v = 2√(Dm·k), independent of how the wound was initially shaped, as long as the initial cell density has compact support.
Is real wound closure driven only by cells crawling, or also by cell division?
Both, and the Fisher-KPP model captures exactly that split: the diffusion term represents crawling migration and the logistic growth term represents proliferation. Experiments that block cell division with mitomycin C still see the front advance, just more slowly, showing migration alone is sufficient but proliferation speeds healing up.
Try it live
Everything above runs in your browser — open Wound Healing — Cell Migration and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.
▶ Open Wound Healing — Cell Migration simulation