FMD · Spatial PDE —
ICAR-NIVEDI · Disease Informatics

FMD Spatial Simulator — Partial Differential Equation Model

A spatially explicit reaction–diffusion–advection model for foot-and-mouth disease. The ODE compartments are promoted to density fields over a two-dimensional landscape, so the model resolves where infection is, how fast the epidemic front travels, and which locations are reached and when.

Reaction–Diffusion
Non-local kernel
Explicit FD solver
1 · The mathematical model click to collapse
State variables — densities, animals km⁻²

Every ODE compartment becomes a function of space and time, u(x,y,t). The host population density N(x,y) is reconstructed from your census data: cattle population of each district (or farm) divided by its area, mapped onto the grid.

∂S/∂t = ∇·(DS∇S) − ∇·(uS) + δN − λS − (α + μ)S + θR + χV
∂E/∂t = ∇·(DE∇E) − ∇·(uE) + λS − (ρ + μ)E
∂I₁/∂t = ∇·(D₁∇I₁) − ∇·(uI₁) + ρE − (σ + μ)I₁
∂I₂/∂t = ∇·(D₂∇I₂) + σI₁ − (γ + μ + φ + d)I₂
∂Q/∂t = φI₂ − (γq + μ)Q
∂V/∂t = ∇·(DS∇V) + αS − (χ + γv + μ)V
∂R/∂t = ∇·(DS∇R) + γI₂ + γqQ + γvV − (μ + θ)R
∂W/∂t = DW∇²W − ∇·(uwW) + ξ(I₁ + κwI₂) − εW
Force of infection — the only non-local term
λ(x,t) = Fenv(x) · (1 − m(t)) · [ βL·Ĩ/N̄  +  βK·(𝒦∗Ĩ)/N̄  +  βW·W ]
with Ĩ = I₁ + κI₂ (κ scales the relative infectiousness of clinical animals), and 𝒦 the dispersal kernel: 𝒦 = w₁·G(σ₁) + w₂·G(σ₂), a short-range plus a fat-tail component representing local contact and long-distance animal trade respectively.
Why a PDE and not just more ODEs
  • The ODE assumes every animal can contact every other animal. A PDE only lets infection reach a location through its neighbourhood, which is what actually happens in the field.
  • It produces a travelling wave. The front speed c* = 2√(D·r) is a testable prediction you can compare against the observed spread of outbreak reports across districts.
  • Ring vaccination and movement bans are inherently spatial — they cannot be represented in a well-mixed model at all.
  • Clinical animals are lame and under movement control, so D₂ ≪ D₁. The pre-clinical class does the spreading.
Derived quantities computed by the solver
R₀ (next-generation matrix, 4 infected states E, I₁, I₂, W):
R₀ = ρ/(ρ+μ) · [ a₁/(σ+μ) + a₂σ/((σ+μ)(γ+μ+φ+d)) + a₃ξ/ε · ( 1/(σ+μ) + κwσ/((σ+μ)(γ+μ+φ+d)) ) ]
r = dominant eigenvalue of the linearised infection Jacobian (day⁻¹)
c* = 2√(Deff·r)   (Fisher–KPP / Kolmogorov front speed, km day⁻¹)
Deff = Σ viDi / Σ vi  +  ½⟨σ²⟩·fnon-local·r
v = dominant eigenvector; the second term is the moment-closure diffusivity equivalent of the dispersal kernel (variance × rate ÷ 2).
Numerical scheme

Method of lines on a uniform Cartesian grid. Diffusion uses the 5-point Laplacian, advection a first-order upwind stencil, reaction a forward-Euler or RK4 update (operator splitting). Boundaries are zero-flux (Neumann) by default, so no animals leak out of the domain. Stability is enforced by the parabolic condition Δt ≤ h²/(4Dmax) and the CFL condition Δt ≤ h/(|ux|+|uy|); the solver reports both and clamps Δt automatically.

SymbolMeaningUnit SymbolMeaningUnit
D₁, D₂Diffusivity of pre-clinical / clinical infectious animalskm² day⁻¹ ρLatent → pre-clinical progressionday⁻¹
DS, DEDiffusivity of susceptible / latent animalskm² day⁻¹ σPre-clinical → clinical progressionday⁻¹
DWEnvironmental virus dispersal (aerosol, fomites)km² day⁻¹ γ, γq, γvRecovery from I₂ / Q / immunity from Vday⁻¹
uAdvection velocity — prevailing trade or wind directionkm day⁻¹ φIsolation / quarantine removal rateday⁻¹
βL, βK, βWLocal, kernel-mediated and environmental transmissionday⁻¹ dDisease-induced mortalityday⁻¹
σ₁, σ₂Short-range and long-range kernel widthskm α, χ, θVaccination, vaccine waning, immunity lossday⁻¹
ξ, εVirus shedding into environment / environmental decayday⁻¹ FenvTemperature–humidity–pH survival multiplier—
Set inputs here, then open Results & graphs.

2 · Spatial domain & data source

The scale you pick determines the grid extent, the cell size and how the host density field N(x,y) is built from your FMD data.

Data provenance. District centroids and geographic areas in the built-in Karnataka table are real. The cattle-population and reported-attack series bundled with this file are a demonstration series anchored on the Ramanagara figures used by the ODE dashboard and interpolated across districts and years — they are placeholders for wiring and teaching, and must not be quoted as surveillance results. For any analysis that leaves this screen, load your own NADRES / Livestock Census extract through Upload custom domain (CSV) (columns: name, lat, lon, area_km2, population, infected); the uploaded table replaces the built-in one completely.
Reported attacks of this year become the initial I₂ field.
0 = use the reported attacks from the data.
Columns: name, lat, lon, area_km2, population, infected
Karnataka mosaic · 30 districts

3 · Parameters

Epidemiology
Environmental virus
Movement & dispersal
Environment F_env
F_env = — — same Briere-type response used in your ODE dashboard
Numerics
Stability check
cell size h = — km  ·  domain —
diffusion limit Δt ≤ — d
CFL limit Δt ≤ — d
Spatial control measures
Idle.