Blood enters a branching capillary network from an arteriole, leaves through a venule, and feeds the surrounding cells with oxygen. Change pressure, vessel radius, haematocrit or tissue demand and block capillaries to see where flow and oxygen go. Educational model, not a medical tool.
Solid: closed form. Dashed: numerical integration of the diffusion equation. They overlap.
The science
Poiseuille flow. For a round tube of radius r and length L the laminar flow is Q = π r⁴ ΔP / (8 μ L), so conductance scales with r⁴: halving the radius cuts the flow 16-fold. A vessel of conductance g between nodes i and j carries Q = g (Pi − Pj); at every junction the flows sum to zero (Kirchhoff). The network is solved for all node pressures by Gauss-Seidel iteration.
Blood is not water. Apparent viscosity depends on tube diameter D and haematocrit Ht (Fåhræus-Lindqvist effect). The model uses the empirical in-vitro fit of Pries and co-workers: μ0.45 = 220 e−1.3D + 3.2 − 2.44 e−0.06 D0.645 with a haematocrit correction, times a plasma viscosity of 1.2 mPa·s. Haematocrit is the same in every vessel (no phase separation at bifurcations), and red-cell speed equals the mean blood speed.
Oxygen carriage. Saturation follows the Hill curve S = Pn/(Pn + P₅₀n) with n = 2.7 and P₅₀ = 26.8 mmHg; blood content is 1.34·Hb·S + 0.00003·PO₂ mL O₂ per mL. Content is mixed at junctions weighted by flow and reduced along each capillary by the tissue uptake.
Krogh cylinder. Each capillary of radius rc feeds a coaxial tissue cylinder of radius R consuming oxygen at a uniform rate M. Steady diffusion gives PO₂(r) = Pc + M/(4Dα) [ r² − rc² − 2R² ln(r/rc) ], lowest at r = R. If the capillary PO₂ is below the drop to the cylinder edge, only a fraction of the tissue is supplied; the rest counts as hypoxic.
Simplifications and model values. Rigid round tubes, steady flow, no pulsatility, no vessel wall mechanics, no autoregulation, uniform consumption, the Krogh constant, plasma viscosity, vessel lengths and the upstream arteriole length (4 mm, drawn shortened) are typical round numbers chosen for a plausible capillary speed of roughly 0.5 to 1 mm/s. This is a teaching model and gives no diagnosis or medical advice. Models built with Blender, scene by Three.js.