Cardiac Hemodynamics Under Sensor Noise
A 3-element Windkessel cardiovascular model that survives noisy pressure transducers — where both BDF and Radau fail completely.
- 30/30
- SolvSRK seeds survived
- 0/30
- BDF seeds survived
- 0/30
- Radau seeds survived
- 63ms
- SolvSRK median wall time
The scenario
Set the picture
A hemodynamic monitoring system tracks arterial pressure, cardiac output, and vascular resistance using a 3-element Windkessel model (Westerhof et al. 2009). The model is a stiff ODE system (stiffness class S2) with three state variables: arterial pressure, peripheral flow, and compliance volume.
In clinical use, pressure transducers introduce noise — catheter whip, signal conditioning drift, patient movement artifacts. The ODE solver must integrate through this noise to produce reliable hemodynamic estimates for clinician decision-making.
Cost today
Standard implicit solvers (BDF, Radau) depend on converged Jacobian estimates. When the right-hand side includes stochastic noise from pressure transducers, the Jacobian becomes noisy and Newton iteration fails to converge. The solver either crashes or produces silently wrong hemodynamic estimates.
In our validation, both scipy BDF and Radau achieved 0% survival on 30 seeds of the noisy Windkessel-3 model — total failure. BDF hit a 15-second timeout consuming 500K–840K function evaluations per seed. Radau hit a 1M function evaluation cap.
What changes with SolvSRK
SolvSRK uses a proprietary noise-conditioning architecture that tolerates stochastic function evaluations natively, producing stable integration through sensor noise without requiring noise-specific tuning.
On the same Windkessel-3 model with Gaussian noise (sigma=0.001), SolvSRK achieved 100% survival across all 30 seeds. Median wall time: 63ms. Median function evaluations: 4,868. The solver simply integrates through the noise that causes standard methods to fail.
Measurable outcome
What we claim — and how it survives review
Each line below maps to a captured number in the demo section. Every number is reproducible from the benchmark suite.
- SolvSRK: 30/30 seeds survived (100% survival rate).
- BDF: 0/30 survived — timeout at 15s, 500K–840K nfev per seed.
- Radau: 0/30 survived — nfev cap at 1M, 13–14s per seed.
- SolvSRK median wall time: 63ms (vs BDF/Radau: total failure).
- SolvSRK median function evaluations: 4,868.
- Stiffness class S2 — the Windkessel model is moderately stiff.
The demo
What was tested. How. What the simulation printed.
Benchmark: 3-element Windkessel cardiovascular model (Westerhof et al. 2009). Stiffness class S2, dimension 3, t_span [0, 5.0]. Gaussian noise injected at sigma=0.001 on every RHS evaluation.
Three solver arms tested in parallel: SolvSRK, scipy BDF, and scipy Radau. 30 independent noise seeds per solver. 90 total runs with 4 workers.
Reference solution computed with ||y_ref|| = 1,310. RuntimeWarning on sigmoid valve function (exp overflow at extreme pressures) — cosmetic, does not affect integration accuracy.
Captured benchmark output
The numbers the simulation actually printed.
| Solver | Survived | Survival % | Median nfev | Median wall (s) | Failure mode |
|---|---|---|---|---|---|
| SolvSRK | 30/30 | 100% | 4,868 | 0.063 | — |
| BDF | 0/30 | 0% | — | 15.0 (cap) | Timeout |
| Radau | 0/30 | 0% | — | 13–14 | nfev cap (1M) |
Claim ID: MEDTECH-CVW3. Topic: solvsrk-reval-medtech. 30 seeds, Gaussian noise sigma=0.001.
Composes with
Where this POC sits in the validation suite
Evidence pointers
Where the claims live in the evidence register
These are the validation sources a reviewer should trace to verify every number on this page.
- Claim MEDTECH-CVW3 — Grade A CONFIRMED. Topic: solvsrk-reval-medtech.
- Sub-finding SF-MEDTECH-1: SolvSRK stiffness-invariant survival (S0–S2).
- Problem: cardiovascular_wk3 (Westerhof et al. 2009). Stiffness: S2. Dim: 3.
- 90 runs total (30 SolvSRK + 30 BDF + 30 Radau). Noise: Gaussian sigma=0.001.
- Triage date: 2026-05-08. Phase verdict: CLOSED.
Want to see these numbers on your model?
Run the benchmark on your actual physiological system.
Two weeks, fully credited. Every claim above traces back to a simulation you can verify.