A minimal Topp-style systems-biology model of type 2 diabetes progression, integrated numerically every frame on two coupled timescales — fast glucose/insulin balance in minutes-hours, slow beta-cell mass drift over months-years — plus an explicit, user-controlled insulin-resistance driver:
dIR/dt = rate (slow, user-set: resistance progression)
s_eff = s0 / (1 + IR) (effective insulin sensitivity, falls as IR rises)
dG/dt = a − (c + s_eff·I)·G (minutes–hours: glucose balance)
dI/dt = β·p·G²/(G²+1) − k·I (minutes–hours: insulin secretion)
dβ/dt = β·[ k_prolif·(G−1) − k_tox·max(0,G−1.6)² ] (months–years: compensation vs. glucotoxicity)
- IR, G, I, β — insulin resistance, glucose, insulin, and beta-cell function, normalized so 1.0 (IR: 0) = healthy set-point.
- Progression rate — how fast insulin resistance genuinely accrues (obesity, inactivity, genetics, aging). It only ever increases; you set how quickly.
- Compensation — as IR erodes effective sensitivity, glucose creeps up. Mild hyperglycemia (G slightly > 1) drives the parabolic secretion term positive, so β expands and secretes more insulin, pulling G back toward normal — the long, flat "compensated" plateau you see on the chart even while IR keeps climbing underneath.
- Glucotoxicity & the tipping point — once G drifts past ≈1.6, the −k_tox·(G−1.6)² term dominates and β starts shrinking instead of growing. Less β means less insulin, so G rises further, which increases glucotoxicity further — a runaway positive feedback that shows up as the sharp break where the flat plateau ends.
- Meal Challenge — injects a temporary glucose bolus (like an oral glucose tolerance test) so you can see how fast the current beta-cell function can bring glucose back down.
Real-world relevance: this is the same qualitative mechanism behind why fasting glucose can look normal for years before diabetes "suddenly" appears — the beta-cell mass was quietly compensating until it crossed a bifurcation it could no longer recover from. Push the progression rate higher and the tipping point genuinely arrives sooner; the simulator measures and reports the actual crossing time from the live trajectory, not a scripted value.