HomeMedical Technology & Imaging PhysicsCardiac Pressure-Volume Loop Simulator

Cardiac Pressure-Volume Loop Simulator

A live ventricular pressure-volume loop: contractility, preload and afterload sliders drive a real time-varying-elastance heart model with valve-gated filling and ejection, tracing the Wiggers-style PV loop and reading off stroke volume, ejection fraction and cardiac output.

Medical Technology & Imaging Physics3DAdvanced60 FPS
cardiology ↗ Open standalone

Watch a left ventricle's pressure-volume loop trace itself in real time from a genuine time-varying-elastance model with valve-gated filling and ejection, and see how contractility, preload, afterload and heart rate each reshape it.

🔬 What It Demonstrates

The classic Wiggers-style pressure-volume loop cardiologists use to reason about heart function: isovolumic contraction and relaxation, ejection along the arterial load, and diastolic filling along the ventricle's own passive stiffness curve — all emerging from a real elastance-and-valve model rather than a scripted shape.

🎮 How to Use

Drag contractility, preload, afterload and heart rate and watch the loop's corners move: preload widens it along the bottom, afterload and contractility reshape the top-right corner against the ESPVR line, and the vitals panel updates stroke volume, ejection fraction and cardiac output every beat.

💡 Did You Know?

The loop's enclosed area is literally the stroke work the ventricle performs each beat (pressure × volume has units of energy) — a wider, taller loop is a heart doing more mechanical work per contraction, which is exactly why afterload reduction is a real heart-failure treatment strategy.

⚙ Under the hood

A live ventricular pressure-volume loop: contractility, preload and afterload sliders drive a real time-varying-elastance heart model with valve-gated filling and ejection, tracing the Wiggers-style PV loop and reading off stroke volume, ejection fraction and cardiac output.

Three.jscardiologycardiac physiologypressure-volume loophemodynamicsFrank-Starling

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)