Cardiac Cycle Simulator
The cardiac cycle is one heartbeat of filling, contraction, ejection and relaxation. Watch pressures, volume, valves and ECG line up on a Wiggers diagram.
Simulator
Drag across the diagram, or use the left and right arrow keys, to move the cursor and read the values at that instant. Space plays and pauses.
- LV pressure
- Aortic pressure
- Atrial pressure
- LV volume
- Atrial systole
- Isovolumetric
- Ejection
- Filling
At 75 beats per minute each beat lasts 0.80 s, timed here from the start of the P wave. The mitral valve closes at 0.18 s and the aortic valve opens at 0.23 s, after 46 ms of isovolumetric contraction. Ejection lasts 280 ms, with the ventricle peaking at 121 mmHg and the aorta at 116 mmHg. The aortic valve closes at 0.51 s and the mitral valve opens at 0.58 s, after 77 ms of isovolumetric relaxation. The ventricle fills from 47 mL back to 122 mL, a stroke volume of 75.7 mL.
- Stroke volume End-diastolic volume minus end-systolic volume: the blood the ventricle ejects in one beat.
- 75.7 mL
- Ejection fraction Stroke volume as a share of end-diastolic volume. OpenStax gives 55 to 70 percent for a healthy adult at rest.
- 62 %
- Cardiac output Blood pumped per minute: stroke volume times heart rate, plus any that runs straight through while both valves are open.
- 5.68 L/min
- End-diastolic volume
- 122 mL
- End-systolic volume
- 47 mL
- Aortic pressure The highest and lowest pressure at the aortic root over the beat.
- 116/75 mmHg
- Mean aortic pressure The time average of the aortic trace. The MAP calculator estimates it from a cuff reading with the one-third rule.
- 98 mmHg
- LV end-diastolic pressure Ventricular pressure at mitral closure, where filling ends.
- 12 mmHg
- Filled in atrial systole The volume that enters while the atrium contracts, 23 percent of end-diastolic volume here. OpenStax puts the atrial kick at 20 to 30 percent of filling.
- 29 mL
- Systole and diastole Mitral closure to aortic closure, and the rest of the beat.
- 326/474 ms
- Isovolumetric contraction
- 46 ms
- Ejection time
- 280 ms
- Isovolumetric relaxation
- 77 ms
- Stroke work The area inside the pressure-volume loop. 1 mmHg·mL is 133.3 µJ.
- 1.09 J
- Pressure-volume loop
- End-systolic line (slope = contractility)
- End-diastolic curve
- Mitral valve (E and A waves)
- Aortic valve (ejection)
Citing this tool
Last updated . Add the date you accessed it as well, which a citation of a page that can change asks for. If a specific result matters, cite the permalink from the tool’s share row instead of this page: it reproduces the exact parameters.
The equation
Time-varying elastance, Suga and Sagawa (1974)
What the cardiac cycle is
The cardiac cycle is one heartbeat: the atria contract to top up the ventricles, the
ventricles contract and eject blood into the arteries, and then they relax and fill again. What
one beat ejects is the stroke volume, SV = EDV − ESV, the end-diastolic volume less
the end-systolic volume, and the share of the full ventricle that leaves is the ejection
fraction, EF = SV / EDV.
The Wiggers diagram above draws one beat of the left heart on a single time axis, starting at
the P wave: the pressures in the left ventricle, the aorta and the left atrium, the ventricle’s
volume, and the ECG. Because they share the axis, every valve event can be read straight down
through all of them. At the defaults, 75 beats per minute, a beat lasts
60 / 75 = 0.8 s. Press Play to sweep a cursor through it at a quarter of real speed,
drag across the diagram to park the cursor anywhere, or use Next valve event to step through
the four moments the valves change state.
Worked example: stroke volume, ejection fraction and cardiac output
At the defaults the ventricle holds 122.5 mL when the mitral valve closes and 46.8 mL when the
aortic valve closes, so one beat ejects SV = 122.5 − 46.8 = 75.7 mL. That is
EF = 75.7 / 122.5 = 0.618, or 61.8 percent, which the readout rounds to 62, inside
the 55 to 70 percent OpenStax gives for a healthy adult at rest. At 75 beats per minute the heart
pumps CO = 75.7 × 75 = 5678 mL/min, or 5.68 L/min.
Two changes show what each part of the beat contributes. Switch atrial contraction off and the ventricle fills only to 101.0 mL, so the stroke volume falls to 61.3 mL and the output to 4.60 L/min. With the atrium working, 28.5 mL entered during atrial systole, 23 percent of the end-diastolic volume, which is the atrial kick OpenStax puts at 20 to 30 percent of filling. Switching it off costs less than that, 21.4 mL of end-diastolic volume, because the ventricle goes on filling passively through the time the atrium would have spent contracting.
Or double the rate to 150 beats per minute. Systole shortens from 326 to 229 ms, but diastole shortens from 474 to 171 ms, so the ventricle fills to only 98.6 mL and ejects 46.5 mL. Cardiac output still rises, from 5.68 to 6.98 L/min, because the beats come twice as often.
How to read the diagram
The top panel holds the three pressures: the ventricle in blue, the aorta in red and the atrium in violet. The atrium’s swings are a few mmHg against a scale that runs to 140 mmHg, so the second panel repeats the atrium and the ventricle from 0 to 25 mmHg. Below them come the ventricle’s volume, the ECG, and a band that colours each phase and marks the heart sounds.
Each dashed line is a valve event, and each event is one pressure crossing another. The mitral valve closes as the ventricle’s pressure rises past the atrium’s, and that is S1. The aortic valve opens as the ventricle passes the aortic pressure, 75 mmHg at the defaults, and closes as it falls back through it at about 108 mmHg, which is S2 and the small notch on the aortic trace called the incisura. The mitral valve opens again once the ventricle has relaxed below the atrium.
The atrial trace carries the waves a clinician looks for: the a wave from atrial contraction, peaking near 13 mmHg; the x descent as the atrium relaxes; the v wave, near 10 mmHg, as it fills against a closed mitral valve; and the y descent when the valve opens and the ventricle drains it. The model has no c wave: in a real heart the mitral valve bulges back towards the atrium as the ventricle starts to contract, and these valves have no leaflets to bulge.
The five phases, in order
- Atrial systole, 122 ms at the defaults. The atrium contracts after the P wave and pushes the last of the filling into the ventricle, raising the atrial and ventricular pressures together while the mitral valve is still open.
- Isovolumetric contraction, 46 ms. The ventricle contracts after the QRS. Its pressure passes the atrium’s at once, so the mitral valve closes, but it has not yet reached the aorta’s, so both valves are shut and the volume cannot change. The pressure climbs fastest here.
- Ejection, 280 ms. The aortic valve opens and blood leaves quickly at first: 63 percent of the stroke volume is out in the first third of ejection. The T wave ends 29 ms before the aortic valve closes.
- Isovolumetric relaxation, 77 ms. The aortic valve has closed and the mitral valve has not yet opened, so the ventricle’s pressure falls with its volume fixed at the end-systolic 46.8 mL.
- Filling, 276 ms. The mitral valve opens and the ventricle fills rapidly, then more slowly as its pressure approaches the atrium’s, until the next atrial systole tops it up.
Heart rate: why diastole pays for speed
Every activation time in the model shortens with the square root of the cycle length, the law Heldt and colleagues use for systole in their teaching simulator and the one Bazett found for the QT interval. The cycle itself shortens in proportion, so systole takes a growing share of it: 41 percent of the beat at 75 beats per minute, 57 percent at 150 and 63 percent at 180. The diagram’s time axis always spans exactly one beat, so as you raise the rate the ejection band widens across the same width.
The cost is filling time. Stroke volume falls from 98.1 mL at 40 beats per minute to 38.8 mL at 180, and cardiac output climbs from 3.93 L/min to 6.98 L/min at 150 and then holds, 6.98 L/min at 180 as well. OpenStax describes a real heart’s output rising to about 120 beats per minute, holding to about 160 and falling beyond that; this model flattens from about 150 and does not fall within the slider.
Preload, contractility and afterload
Filling pressure is the preload. Raise it from 8 to 15 mmHg and the ventricle fills to 153.4 mL instead of 92.5 mL, and ejects 96.5 mL instead of 55.5 mL, which is Frank and Starling’s law: a fuller ventricle beats more strongly. The end-diastolic curve stiffens as it fills, so each extra mmHg buys less volume than the one before.
Contractility is the slope of the end-systolic line, the pressure the fully contracted ventricle develops per mL above 10 mL. Lower it from 3 to 1 mmHg/mL and the ventricle empties only to 84.8 mL, the stroke volume falls to 48.7 mL and the ejection fraction to 36.5 percent, a failing ventricle ejecting a smaller share of a bigger volume.
Systemic vascular resistance is the afterload. Double it to 2 mmHg·s/mL and the aortic pressure rises from 116/75 to 172/138 mmHg while the stroke volume falls to 61.7 mL, because the ventricle has to reach a higher pressure before it can eject at all. There is no baroreflex here, so the heart does not slow down to bring the pressure back.
Reading the pressure-volume loop
The first plot below the diagram takes the ventricle’s pressure against its volume, which turns the beat into a loop that runs anticlockwise: filling along the bottom, isovolumetric contraction straight up the right side, ejection across the top and isovolumetric relaxation straight down the left. Its width is the stroke volume and its area is the work of one beat, the stroke work: 8186 mmHg·mL at the defaults, which at 133.3 µJ per mmHg·mL is 1.09 J.
The dashed straight line is the end-systolic pressure-volume relation,
P = E_es (V − V₀) with V₀ = 10 mL, and the dashed curve is the
end-diastolic relation, P = P₀ e^(βV) with P₀ = 2.3 mmHg and
β = 0.013 /mL. Contractility swings the line, preload slides the loop along the
curve, and afterload moves the top of the loop up the line.
What drives the model
Each chamber is a time-varying elastance, the description Suga and Sagawa gave in 1974: a
chamber whose stiffness rises as it contracts, so its pressure is its elastance times how far its
volume sits above an unstressed volume. For the ventricle that becomes
P_LV = e(t) E_es (V − V₀) + (1 − e(t)) P₀ e^(βV), where the activation
e(t) runs from 0 in diastole to 1 at end-systole. The activation curves are the
double Hill function of Stergiopulos, Meister and Westerhof (1996) with Mynard and colleagues’
(2012) constants, and the atrium stiffens from 0.08 to 0.17 mmHg/mL as it contracts.
The pulmonary veins are held at the filling pressure and drain into the atrium through Sun and colleagues’ pulmonary resistances. The valves are ideal diodes with the resistances of Heldt and colleagues’ model, and the aorta is Simaan and colleagues’ small compliance, inertance and characteristic resistance in front of a large compliance that drains through the systemic resistance. The beat is stepped by fourth-order Runge-Kutta in at most 0.5 ms steps, and the beat you see is the periodic one, found by accelerating the map from one beat to the next to its fixed point.
At the defaults the phase durations sit inside the ranges the Copenhagen City Heart Study measured by tissue Doppler in almost two thousand healthy adults, once corrected for heart rate as the study’s own regressions do, and the ejection time is within 4 ms of the 276 ms its regression predicts at 75 beats per minute.
The ECG is drawn, not simulated
Nothing in the pressures depends on the ECG trace. It is a schematic lead II built from Gaussian waves, the representation behind McSharry and colleagues’ synthetic ECG, placed on the model’s clock so that each wave begins 60 ms before the contraction it triggers, the electromechanical delay Broomé and colleagues assume in their simulator. The ventricle starts to contract 60 ms after the QRS begins, and the aortic valve opens 107.5 ms after it. OpenStax gives shorter delays, with the atria starting to contract about 25 ms after the P wave begins and the ventricles as the QRS reaches the peak of the R wave, so by that account the waves here are drawn 25 to 35 ms early.
The T wave ends one QT after the start of the QRS, with the QT from Bazett’s formula and a corrected QT of 400 ms: at 75 beats per minute that is 358 ms, which the QTc calculator corrects straight back to 400. It puts the end of the T wave 29 ms before the aortic valve closes, where a textbook draws it. The electrical events underneath the P, QRS and T waves are an action potential story; the action potential simulator shows one, in a squid axon rather than heart muscle.
Mean pressure from the aortic trace
The mean aortic pressure readout is the time average of the aortic trace over the beat, 98.4
mmHg at the defaults. A cuff gives only the systolic and diastolic pressures, and the
MAP calculator estimates the average from
them with the one-third rule, which for this trace’s 116/75 gives
75 + (116 − 75) / 3 = 88.7 mmHg. The rule assumes the pressure spends most of the
beat near diastolic. This model’s aortic pressure stays near its peak through most of ejection,
a squarer pulse than a real aorta’s, so its true average sits higher than the rule would say.
What this model leaves out
- The right heart and the lungs. The pulmonary veins are a reservoir held at the filling pressure, so venous return never limits output however fast the heart beats.
- Reflexes. No baroreflex, so the lowest resistance at the slowest rate lets the aortic pressure fall far enough for both valves to open at once, and the page says so when it happens. And no force-frequency effect: contractility stays where you set it as the rate rises, which is why isovolumetric contraction lengthens to 58 ms at 150 beats per minute where the Copenhagen regression predicts much less.
- Valve leaflets. The valves are diodes, so nothing leaks back, there is no c wave, and the incisura is shallow, about 1 mmHg deep here, because a real valve closes on a brief backflow that a diode does not have.
- Slow rates. Below about 55 beats per minute the square root stretches ejection past measured values: 418 ms at 40 beats per minute, where the Copenhagen regression gives 325.
- The atrium’s size. Mynard’s atrium is far more compliant than a real one, so it holds between 75 and 123 mL through the beat here. The Copenhagen study’s healthy adults averaged an atrial volume index of 23 mL per square metre of body surface, about 41 mL at 1.8 m². The volume is not drawn, but it is why the pressures stay low.
- Everything around the heart. No pericardium, no septum between the ventricles, no coronary flow, no breathing, and no wave reflection in the arteries, whose tree is lumped into two compliances. For the anatomy the model leaves out, the heart explorer has the valves and chambers in three dimensions.
Common mistakes
- Thinking muscle opens the valves. They open and close passively, whenever the pressure on one side passes the pressure on the other. Every event on the diagram is two traces crossing.
- Confusing stroke volume with ejection fraction. A failing ventricle can still eject a reasonable volume from a dilated chamber. At a contractility of 1 mmHg/mL it ejects 48.7 mL from 133.5 mL, a fraction of only 36.5 percent.
- Reading isovolumetric as nothing happening. The volume is fixed, but the pressure changes fastest then, up during contraction and down during relaxation.
- Placing S1 at the peak of contraction. It is the mitral and tricuspid valves closing, at the very start of systole.
- Assuming the atrium does most of the filling. At rest most blood runs through the open mitral valve passively; atrial systole adds 23 percent of the end-diastolic volume here.
- Treating the QRS as the start of ejection. It precedes contraction, and ejection follows only once the ventricle has overtaken the aortic pressure, 107.5 ms after the QRS begins in this model.
- Averaging systolic and diastolic pressure. The mean of 116 and 75 is 95.5 mmHg, which is neither the trace’s true average nor the one-third rule’s estimate.
Model and assumptions
- Method
- Runge-Kutta 4th order
- Largest step
- 0.0005 s
- Repeatability
- Deterministic. The same link gives the same numbers on any machine.
What it assumes
- The left atrium and left ventricle are time-varying elastances in the sense of Suga and Sagawa, chambers whose stiffness rises as they contract, each driven by Mynard’s double Hill activation curve.
- At full activation the ventricle follows a straight end-systolic line whose slope is the contractility slider, and at rest it follows Pagoulatou’s exponential end-diastolic curve.
- Every activation time, the delay between atrium and ventricle included, scales with the square root of the cycle length, the law Heldt’s model applies to systole, so systole shortens far less than diastole as the rate rises.
- The valves are ideal diodes with a small resistance, the pulmonary veins are held at the filling pressure, and the aorta is Simaan’s compliance, inertance and resistance draining to zero venous pressure.
- The beat shown is the periodic one, found by accelerating the map from one beat to the next to its fixed point, and each beat is divided into a whole number of steps of at most 0.5 ms.
Where it stops holding. Settings a real circulation would answer with reflexes, which this model does not have: raise the resistance and the pressure climbs without the heart slowing, and at the slowest rate against the lowest resistance the aortic pressure falls far enough for both valves to open at once. Below about 55 beats per minute the square root law also stretches ejection past measured values, to 418 ms at 40 beats per minute against the 325 ms the Copenhagen City Heart Study’s regression gives.
Numerical accuracy
- Measured error bound
- 2.6e-4 mL in the stroke volume, about 3.5e-6 of the largest value reached
- How that was obtained
- Recomputed with the largest step at five values between 1.5e-4 s and 5.0e-4 s. The stroke volume moved across a window of 2.6e-4 mL, which bounds the error without assuming a convergence order.
- Conditions
- 75 beats per minute, contractility 3 mmHg/mL, filling pressure 11 mmHg, resistance 1 mmHg s/mL, the atrium contracting: the shipped defaults
Runge-Kutta is fourth order where the right-hand side is smooth, but each valve opening or closing puts a corner in the flow inside one step, and each activation curve rises from zero as a fractional power. How much those steps lose depends on where the event falls within them, so halving the step does not shrink the error by a fixed factor and no single convergence order describes it.
Common questions
What is a Wiggers diagram?
A graph of one heartbeat that stacks the pressures in the left ventricle, the aorta and the left atrium, the ventricle’s volume and the ECG on a single time axis, so that every valve event can be read straight down through all of them. It is named after the physiologist Carl Wiggers. Each event is one pressure crossing another: here, at 75 beats per minute, the aortic valve opens as the ventricle passes the aortic pressure of 75 mmHg, and it closes as the ventricle falls back through the aortic pressure at about 108 mmHg.
What are the phases of the cardiac cycle?
Five, each bounded by a valve event: atrial systole, isovolumetric contraction, ejection, isovolumetric relaxation and ventricular filling. The atrium contracts to top up the ventricle; the ventricle contracts with both valves shut until its pressure exceeds the aorta’s; it ejects until its pressure falls back below the aorta’s; it relaxes with both valves shut again; and it fills once its pressure drops below the atrium’s. At the defaults, 75 beats per minute, they last 122, 46, 280, 77 and 276 ms of the 800 ms beat.
Why does the ventricle’s volume stay flat twice in each beat?
Because both valves are shut, so blood can neither enter nor leave. The first flat stretch is isovolumetric contraction: the mitral valve has closed but the ventricle’s pressure has not yet passed the aorta’s, so it squeezes a fixed volume and its pressure climbs steeply. The second is isovolumetric relaxation, after the aortic valve closes and before the ventricle’s pressure has fallen below the atrium’s. At 75 beats per minute they last 46 and 77 ms here, both inside the 95 percent ranges the Copenhagen City Heart Study reported for healthy adults.
What causes the first and second heart sounds?
Valves closing. The first sound comes as the mitral and tricuspid valves shut at the start of ventricular contraction, and the second as the aortic and pulmonary valves shut at the start of relaxation. So on the diagram S1 sits at mitral closure and S2 at aortic closure, they bracket systole, and the gap from S2 to the next S1 is diastole, the stretch that shrinks most as the heart speeds up. This model has only the left heart, so it marks the mitral and aortic closures, and it plays no sound.
How do stroke volume and ejection fraction change with heart rate?
With contractility held fixed, as in this model, both fall as the rate rises, because diastole, when the ventricle fills, shortens far more than systole. Going from 75 to 150 beats per minute here shortens systole from 326 to 229 ms but diastole from 474 to 171 ms, so the ventricle fills to 99 mL instead of 122, stroke volume drops from 76 to 47 mL and ejection fraction from 62 to 47 percent. Cardiac output still rises, from 5.7 to 7.0 L/min, because the beats come twice as often. In a real heart the rate does not rise alone: in exercise the sympathetic drive that raises it also strengthens contraction, so the ejection fraction usually rises rather than falls.