This is the spatial counterpart to the 3D whole-body simulator: instead of one well-mixed plasma compartment, the drug is injected at four capillaries around the edge of a tumor cross-section and has to physically diffuse inward through tissue to reach the core, exactly like real chemotherapy delivery. Two coupled fields are solved on a grid every frame — a 2D Fickian diffusion equation for drug concentration C(x,y,t), and a local Gompertz-growth-minus-log-kill reaction for tumor cell density ρ(x,y,t) at every point independently.
∂C/∂t = D·∇²C − k_e·C (Fick diffusion + first-order clearance)
C → C + Dose/V_local (bolus at each of 4 capillary points)
∂ρ/∂t = a·ρ·ln(1/ρ) − k·C(x,y)·ρ (Gompertz growth − local Norton–Simon kill)
Because the kill term now uses the local concentration C(x,y) rather than one shared plasma value, cells near a capillary see the full dose while cells at the tumor's diffusion-limited core see only whatever managed to arrive after clearance had a chance to remove it en route — this is the same reason real tumor cores are drug-resistant sanctuaries, derived here from real diffusion physics rather than assumed.
- Dose / interval — the chemotherapy schedule, as before.
- Half-life — how fast the drug clears locally; a short half-life can clear the drug before it ever diffuses to the core.
- Kill potency k — intrinsic cytotoxicity per unit local concentration.
- Vascular diffusivity D — how permeable/well-perfused the tissue is. Low D (poorly vascularized tumor) leaves a stark core/rim concentration gap; high D (well-perfused) evens it out, closing the gap toward 1.
The heatmap shows local tumor cell density (dark = dying/killed, bright = dense/proliferating) with a blue diffusion glow showing where drug concentration currently reaches. Watch the glow's advancing front lag behind each dose at low D — that lag is the diffusion-limited penetration problem in action.