What is CFD?

Computational Fluid Dynamics (CFD) is the numerical solution of the Navier-Stokes equations: the partial differential equations that govern the motion of fluid. Instead of building a physical prototype and measuring forces in a wind tunnel, CFD divides the domain into thousands or millions of discrete cells (a mesh), then solves for velocity and pressure at each cell center using iterative matrix algebra.

For a soccer ball in flight, CFD provides:

$$ \nabla \cdot \mathbf{u} = 0 \qquad \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla) \mathbf{u} = -\frac{1}{\rho} \nabla p + \nu \nabla^2 \mathbf{u} $$
Incompressible Navier-Stokes: the equations CFD solves at every cell

Steady vs Unsteady: A steady simulation assumes the flow does not change in time: one solution captures the time-averaged behaviour. An unsteady simulation marches forward in small time steps, resolving transient phenomena like vortex shedding. The knuckleball is inherently unsteady; a spinning Magnus shot can be approximated as steady because the wake locks into a fixed asymmetric pattern.

Laminar vs Turbulent: At soccer-relevant Reynolds numbers ($Re \approx 2 \times 10^4$ to $5 \times 10^5$), the flow can be either laminar (smooth, ordered) or turbulent (chaotic, mixing). A RANS (Reynolds-Averaged Navier-Stokes) model like SST $k$-$\omega$ solves for the mean flow and models the turbulent fluctuations. A laminar simulation solves the raw Navier-Stokes without a turbulence model: accurate at low Re, but unable to capture turbulence at high Re without extreme grid resolution (DNS).

This project uses two solvers at different fidelity levels to bracket the real physics, exactly as industrial aerospace teams operate.

Governing Equations

Navier-Stokes

All CFD simulations in this project (both ΦFlow and SU2) solve the incompressible Navier-Stokes equations, which enforce conservation of mass and momentum at every point in the fluid:

$$ \nabla \cdot \mathbf{u} = 0 $$ $$ \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla) \mathbf{u} = -\frac{1}{\rho} \nabla p + \nu \nabla^2 \mathbf{u} $$
(1) Conservation of mass (top) and momentum (bottom)

where $\mathbf{u}$ is the velocity field, $p$ is pressure, $\rho$ is density, and $\nu$ is kinematic viscosity.

ΦFlow approach: Semi-Lagrangian advection + iterative CG pressure solve on a staggered MAC grid. Fast and differentiable: ideal for parametric sweeps.
SU2 approach: Finite-volume RANS with Menter SST $k$-$\omega$ turbulence model. Unstructured meshes resolve boundary layers for accurate skin friction and separation points.

Reynolds Number

The governing dimensionless parameter for all flows considered:

$$ Re = \frac{\rho U L}{\mu} = \frac{U L}{\nu} $$
(2) Ratio of inertial to viscous forces

where $U$ is the freestream velocity, $L$ is the characteristic length (ball diameter or cylinder diameter), and $\mu$ is dynamic viscosity.

Bernoulli's Principle

Bernoulli's principle states that in a steady, inviscid flow, an increase in velocity occurs simultaneously with a decrease in pressure. It follows directly from conservation of energy along a streamline:

$$ p + \frac{1}{2} \rho U^2 = \text{constant} $$
(3) Bernoulli's equation along a streamline

where $p$ is static pressure, $\frac{1}{2} \rho U^2$ is the dynamic pressure, and their sum is the total pressure. When velocity increases, static pressure decreases. This inverse relationship is what generates the lift force in the Magnus effect and the drag reduction in drafting.

On a soccer pitch, Bernoulli's principle explains three separate phenomena. A spinning ball curves because the spin accelerates the air on one side, lowering static pressure and creating a net force (the Magnus effect, detailed below). A knuckleball moves unpredictably because alternating vortex shedding creates rapidly changing pressure differentials across the ball. When a fullback runs directly behind a winger, they sit in the leader's low-pressure wake, reducing the pressure differential across their own body and lowering drag by 42.2% (analysed in the Overlap Run Analysis).

Gaussian Influence Fields

Every defender generates a zone of influence around their position. The strength of that influence decays smoothly with distance following a Gaussian (bell-shaped) curve:

$$ G_i(\mathbf{x}) = \exp\left(-\frac{\|\mathbf{x} - \mathbf{x}_i\|^2}{2\sigma_i^2}\right) $$
(4) Gaussian influence of defender $i$

where $\mathbf{x}_i$ is the defender's position and $\sigma_i$ controls the radius of influence. A centre-back with $\sigma = 4.0$ exerts wide zone control spanning the penalty area. A winger with $\sigma = 2.5$ has a narrow, concentrated influence reflecting their touchline role. The total pressure at any point on the pitch is the sum of all 11 individual influence fields:

$$ p(\mathbf{x}) = \sum_{i=1}^{11} G_i(\mathbf{x}) $$
(5) Total defensive pressure field (superposition)

This is the superposition principle: the same mathematical framework used in CFD to solve complex flow fields. In potential flow theory, the velocity at any point is the sum of contributions from all sources, sinks, and vortices. Here, the pressure at any point is the sum of contributions from all 11 defenders. The result is a 2D kernel density estimate of the defending team's spatial structure, a heatmap that reveals exactly where space exists and where it is congested.

The CFD connection: In CFD, the superposition principle lets us build complex flow solutions from simple building blocks. A cylinder in a crossflow is modelled as a doublet + uniform flow. A team formation is modelled the same way — 11 individual influence zones stacked together to reveal the team's structural strengths and weaknesses.

Magnus Effect

A rotating body in a crossflow experiences a lift force perpendicular to the freestream:

$$ F_L = C_L \cdot \frac{1}{2} \rho A U^2 $$
(6) Magnus lift force

The spin creates an asymmetric boundary layer: faster flow on one side reduces pressure (Bernoulli), slower flow on the other increases pressure. The resulting pressure differential deflects the body's trajectory.

The same mathematical tools used to model fluid flow can be applied to team formations on a football pitch. Positional play creates pressure gradients, areas of congestion and space, that determine passing options and defensive solidity. Just as a pressure field drives fluid motion, the cumulative influence of 11 defenders creates a defensive stress field that channels attackers away from dangerous areas. The superposition equations ((4)–(5)) define how those individual player influences combine into a total defensive pressure field. The full model is implemented on the Tactical Positioning page.