loading...
running...
How to use
Pick a preset or move any slider. The picture shows the left ventricle (its size follows the volume), the atrium and veins, the aorta coloured by pressure and the two valves opening and closing; the pressure-volume loop is traced live, and the strip chart below shows the stylised ECG, the ventricular and aortic pressures and the valve events. The side graphs show the Wiggers diagram, volumes and flows, the loop with ESPVR and EDPVR, and the Frank-Starling and heart-rate curves of the current heart. Space pauses, R restarts. Things to try: (1) healthy rest, then Exercise: watch the loop get taller and wider and CO rise; (2) lower the blood volume to mimic hemorrhage; (3) heart failure lowers Emax and the EF; (4) aortic stenosis creates a pressure gradient across the valve; (5) aortic regurgitation lowers diastolic pressure; (6) push the heart rate to 170 bpm and see the cardiac output fall as filling time collapses; (7) make the arteries stiff (low compliance) and watch the pulse pressure widen.
The science
This is an educational lumped-parameter model of the left heart and the systemic circulation. It uses typical adult textbook values and synthetic data; it is not a clinical tool and cannot diagnose anything.
The ventricle as a time-varying elastance. The pressure in the left ventricle follows from its volume and an activation function:
Plv(t) = E(t) (Vlv − V0), E(t) = Emin + (Emax − Emin) e(t/Tmax)
e is a normalised double-Hill function that rises during systole and relaxes afterwards (Stergiopulos et al., 1996); Tmax = 0.2 + 0.15 Tcycle. Emax is the slope of the end-systolic pressure-volume relation (ESPVR) and a load-independent index of contractility; Emin sets the stiffness of the relaxed chamber (the end-diastolic relation, EDPVR).
Valves as diodes. The mitral valve passes flow Qm = (Pv − Plv)/Rm only when Pv > Plv; the aortic valve passes Qa = (Plv − Pa)/Rao only when Plv > Pa. Stenosis raises the resistance of the valve (here with the square of the narrowing factor, since resistance varies as 1/area²); a leaking aortic valve gives a backflow conductance in diastole. The four phases of the cycle appear on their own: isovolumic contraction, ejection, isovolumic relaxation and filling.
Arteries and veins. The aorta and large arteries are a three-element Windkessel: a characteristic impedance Zc, a compliance Ca and the peripheral resistance Rp; the veins and atrium are one compliant reservoir Cv:
dVlv/dt = Qm − Qa, Ca dPa/dt = Qa − (Pa − Pv)/Rp, Cv dPv/dt = (Pa − Pv)/Rp − Qm
These are integrated with a fourth-order Runge-Kutta step of 0.5 ms. Because each flow leaves one reservoir and enters another, the stressed blood volume Vlv + CaPa + CvPv is conserved; the slider changes it (hemorrhage or transfusion). In steady state the average flow equals the cardiac output CO, so the mean arterial pressure follows MAP − Pv = CO · Rp (the circulatory Ohm's law).
Derived quantities. Stroke volume SV = EDV − ESV, ejection fraction EF = SV/EDV, CO = SV · HR; the stroke work is the area enclosed by the pressure-volume loop, W = −∮P dV (1 mmHg mL = 1.333×10−4 J). More blood volume raises EDV and with it SV (the Frank-Starling mechanism, graph 4); the cardiac output rises with heart rate until filling time becomes too short (graph 5).
Numerical checks run in the page. (1) The stressed volume is conserved over 4 s; (2) in steady state mean(Pa) − mean(Pv) = CO Rp; (3) the loop area (shoelace formula) equals the integral of P dV; (4) EF = SV/EDV and the resting EF lies in the normal range; (5) more filling volume gives a larger stroke volume; (6) aortic stenosis increases the ventricle-to-aorta peak gradient; (7) the normalised elastance peaks at exactly 1.
Simplifications. A single ventricle and no explicit right heart or pulmonary circuit; the atrium is merged with the venous reservoir (so no atrial kick); the valves are ideal resistive diodes without inertia, so the Windkessel cannot show wave reflection or the dicrotic notch exactly; the elastance is load-independent; no autonomic reflexes (baroreflex), no coronary flow, no valve dynamics beyond the pressure rules; the ECG is a stylised sum of Gaussians drawn at the model's timing, not computed from electrophysiology. Parameter values are plausible round numbers, not patient data.