The bacterial population follows logistic growth capped by a carrying capacity K, but the net per-capita rate is reduced by a Hill-equation (Emax) pharmacodynamic kill term driven by the antibiotic concentration C:
net rate = r·(1−N/K) − Emax·C^H / (EC50^H + C^H)
dN/dt = net rate · N
This is integrated forward every frame with a fixed-step RK4 solver on log-scale-safe N — nothing here is scripted. The Hill term is the standard sigmoidal Emax model used in real pharmacodynamics: at C=0 there is no kill; as C grows the kill rate rises toward its ceiling Emax, crossing half of that ceiling exactly at C=EC50; H controls how sharply the curve turns from "no effect" to "near-maximal effect."
The MIC — the concentration at which growth stops for a small founding population (N≪K, so the logistic term ≈ r) — solves r = Emax·C^H/(EC50^H+C^H) exactly:
C_MIC = EC50 · ( r / (Emax − r) )^(1/H)
The panel computes this closed form for reference, but you can also find it empirically: drag the concentration slider and watch the net-rate stat and the time-kill curve — below MIC the culture still grows to a suppressed steady state (sub-MIC regrowth, since the logistic term recovers as N stays below K); above MIC, N declines every step and the log-CFU curve becomes a straight downward line (real first-order exponential decline, dominated by the near-constant kill deficit while N≪K).
- Emax must exceed r for a finite MIC to exist — otherwise no concentration can ever out-kill growth. If you set Emax below r, "no MIC — bacteria always win" is shown.
- Hill coefficient H — higher H makes the dose-response switch more steeply from "barely working" to "fully working" over a narrow concentration range, exactly as cooperative drug-target binding does for real antibiotics.
- Right-hand chart — the dose-response curve itself (net rate vs. concentration, log C axis), with the current C marked and the MIC marked where the curve crosses zero.