Reproduce how the elasticity of the great arteries turns the heart's pulsatile beat into smooth blood flow, using a two-element Windkessel model. Adjust the arterial compliance and peripheral resistance to see the aortic pressure waveform, time constant, mean arterial pressure and pulse pressure update in real time.
Parameters
Arterial compliance C
mL/mmHg
How easily the arteries stretch. Smaller = stiffer arteries
Peripheral resistance R
mmHg·s/mL
How hard the small vessels resist the outflow
Stroke volume SV
mL
Blood volume the heart ejects per beat
Heart rate HR
bpm
Number of beats per minute
Systole fraction
Fraction of the cardiac cycle spent in systole (ejection)
Results
—
Time constant τ = RC (s)
—
Cycle period T (s)
—
Cardiac output CO (mL/min)
—
Mean arterial pressure MAP (mmHg)
—
Pulse pressure PP (mmHg)
—
Diastolic pressure decay (%)
—
Pulsating arterial chamber schematic
The heart ejects blood into an elastic arterial chamber (the compliance), which bulges in systole and recoils in diastole to keep pushing blood through the downstream resistance. The right side shows the aortic pressure over one cardiac cycle.
The time constant τ is the product of peripheral resistance R and arterial compliance C. During diastole the arterial pressure decays exponentially with the time constant τ = RC, and stiffer arteries (a smaller C) raise the pulse pressure PP.
The mean flow Q̇ follows from the stroke volume SV and heart rate HR, and the cycle period T from the inverse of the heart rate. The mean arterial pressure MAP is mean flow times resistance — a circulatory Ohm's law — and does not depend on the compliance C.
$$P(t)=P_0\,e^{-t/\tau}\quad(\text{diastole})$$
During diastole no blood enters and the blood stored in the arterial chamber drains to the periphery, so the pressure P decays exponentially from its initial value P₀ with the time constant τ.
What is the Windkessel Model Simulator?
🙋
I have never heard of the "Windkessel model". The heart beats with a sharp thump, thump — yet when I feel my pulse, the blood seems to flow fairly smoothly. How does that work?
🎓
Good question. As a pump the heart does push blood out in a sudden "thump". But by the time it reaches the capillaries the flow is almost steady and smooth. What converts that jerky pulsation into smooth flow is the elasticity of the large arteries. In 1899 the German physiologist Otto Frank captured this in a model he named the "Windkessel" — German for "air chamber".
🙋
An air chamber? We are talking about the heart — why does air come into it?
🎓
Old hand-pumped fire engines had a domed chamber filled with air. When someone worked the lever up and down, the water would otherwise come out in jerky bursts. But the air chamber stores some water by compressing the air on the down-stroke, and as the lever returns the air expands and pushes that water on. The result is a continuous jet from the hose. In the cardiovascular version, the elastic aorta plays the part of that air chamber: it balloons out in systole and stores blood, and recoils in diastole to squeeze it onward.
🙋
So the aorta balloons like a rubber balloon and stores blood. In this tool the parameters are just "C" and "R" — what are they?
🎓
The two-element model distils the whole complex circulation into just two numbers. One is the arterial compliance C — how easily the arteries stretch, the softness of the balloon. The other is the peripheral resistance R — how hard the small vessels resist outflow. The model's key prediction is that during diastole, when the heart sends no blood, the arterial pressure decays exponentially with a time constant τ = R·C. Move C or R on the left and you will see the decay in the pressure chart change.
🙋
τ = RC — that looks just like the capacitor formula I learned in electronics. So what happens when the arteries stiffen? I often hear about that with blood pressure in the elderly.
🎓
That is exactly where the model proves its worth. With age the arteries stiffen and the compliance C falls. Since pulse pressure PP ≈ SV/C, ejecting the same volume into a smaller C makes the pulse pressure larger. That is why the elderly are prone to "isolated systolic hypertension", where the systolic pressure alone rises sharply. In the "pulse pressure vs arterial compliance" chart, slide C toward smaller values and you will see the pulse pressure shoot up along a steep curve. A simple model, but it explains the clinical picture cleanly.
Frequently Asked Questions
The Windkessel model is a circulation model that describes how the arterial system converts the heart's pulsatile ejection into smooth flow using two elements: an elastic arterial compliance C and a peripheral resistance R. It was proposed in 1899 by the German physiologist Otto Frank. In the two-element model, the arterial pressure decays exponentially during diastole, when no blood is entering, with a time constant equal to tau = R*C.
The time constant tau measures how slowly the arterial pressure falls during diastole, when the heart is not ejecting blood. It is the product of peripheral resistance R and arterial compliance C, and the larger tau is, the more gradual the pressure decay. A typical value is about 1.5 s, which is longer than the cardiac cycle (about 0.86 s), so the pressure never reaches zero before the next beat and a non-zero pressure is maintained throughout diastole.
Pulse pressure PP is the difference between systolic and diastolic pressure, and in the two-element model it is approximated by PP ≈ SV/C, where SV is the stroke volume and C is the arterial compliance. For the same ejected volume, stiffer arteries with a smaller C produce a larger pulse pressure. This is why isolated systolic hypertension — a rise in systolic pressure alone — is so common in the elderly, whose arteries stiffen with age and lose compliance.
Mean arterial pressure MAP is the flow averaged over one cardiac cycle multiplied by the peripheral resistance: MAP = (SV*HR/60)*R, where SV*HR/60 is the mean flow (cardiac output expressed per second). This is the circulatory version of Ohm's law (voltage = current x resistance): the mean pressure depends only on the mean flow the heart delivers and the peripheral resistance, and not on the arterial compliance C. Compliance C governs the pulse pressure (the swing), not the mean level.
Real-World Applications
Understanding arterial stiffening and hypertension: The Windkessel model directly explains why a fall in arterial compliance C — caused by ageing or arteriosclerosis — increases the pulse pressure. The clinically important pattern of "isolated systolic hypertension", in which the systolic pressure alone is high while the diastolic pressure is, if anything, low, can be understood as the mean pressure (MAP = Q̇R) staying roughly constant while the swing — the pulse pressure (PP ≈ SV/C) — widens as C drops. Pulse pressure is itself valued as an independent marker of cardiovascular risk.
Estimating cardiac output: Given a measured arterial pressure waveform, the time constant τ can be read from its diastolic decay curve, combined with an estimated compliance C to obtain the peripheral resistance R, and the cardiac output can then be back-calculated from the mean pressure. Pulse-contour cardiac-output monitoring rests on the Windkessel model and its extensions as a theoretical foundation. It is used in intensive care units and operating rooms to monitor circulation continuously without a pulmonary artery catheter.
Teaching circulation and an entry point to CAE: The two-element Windkessel model is the textbook example of a "lumped-parameter model", mapping the resistance R and compliance C onto an electrical resistor and capacitor. It is widely used in physiology and biomedical-engineering education to teach the idea of capturing a complex circulation with a minimal set of elements. It also extends to three- and four-element models and serves as the outflow boundary condition for one-dimensional blood-flow CFD models, making it a gateway to full cardiovascular simulation.
Designing artificial hearts and circulatory support: Testing artificial hearts and extracorporeal circulation devices uses a "mock circulation loop" that emulates the patient's arterial system. That loop is literally a physical Windkessel model: a compliance chamber combined with a variable resistance reproduces a wide range of circulatory conditions, from healthy subjects to patients with arteriosclerosis. It is indispensable for evaluating how a device handles pulsatile flow.
Common Misconceptions and Pitfalls
The most common misconception is that "the two-element Windkessel model can reproduce a real blood-pressure waveform". The two-element model captures the exponential pressure decay of diastole well, but it cannot represent the fine detail of the systolic waveform — in particular the "dicrotic notch" that appears the moment the aortic valve closes, or the reflected wave that returns from the periphery. Capturing those requires a three-element model that adds the characteristic impedance of the aorta, or a four-element model that adds inertia. Treat the pressure waveform in this tool as an approximation within the two-element framework only.
Next, the assumption that "the mean arterial pressure MAP changes with arterial compliance C". As MAP = Q̇·R shows, the mean pressure depends only on the mean flow and the peripheral resistance, not on C. What C changes is the pulse pressure (the swing), not the mean level. That is exactly why stiffening arteries leave MAP unchanged while only the systolic pressure rises. If you really want to move MAP, the levers are the peripheral resistance R or the cardiac output. Be careful not to oversimplify it into "softening the vessels lowers the mean blood pressure".
Finally, the misconception that "R and C are independent constants you can set freely". In a real circulation, the peripheral resistance R is actively regulated over seconds to minutes by the sympathetic nervous system and vasoactive substances, and the arterial compliance C itself varies non-linearly with the pressure level (arteries stiffen the higher the pressure). This tool treats R and C as independent fixed parameters to keep the explanation clear, but bear in mind that in a living body the two change together and dynamically. A lumped-parameter model is, after all, a simplification for understanding the phenomenon.
How to Use
Set arterial compliance (C) in mL/mmHg, typical range 0.8–1.2 for healthy adults; lower values simulate arterial stiffening in hypertension.
Adjust peripheral resistance (R) in mmHg·min/mL; normal range 0.8–1.2 represents systemic vascular resistance in the 800–1200 mmHg·min/mL window.
Enter stroke volume (SV) in mL per beat and heart rate (HR) in bpm to compute cardiac output and pressure dynamics.
Observe real-time aortic pressure waveforms, time constant τ = RC, and mean arterial pressure (MAP) updates across the cardiac cycle.
Worked Example
A 55-year-old patient with mild arterial stiffness: C = 0.9 mL/mmHg, R = 1.0 mmHg·min/mL, SV = 70 mL, HR = 75 bpm. Cardiac output CO = 70 × 75 = 5,250 mL/min. Time constant τ = 0.9 × 1.0 = 0.9 s. Cycle period T = 60/75 = 0.8 s. Mean arterial pressure MAP ≈ 90 mmHg. Pulse pressure PP ≈ 42 mmHg (systolic 132, diastolic 90). Diastolic decay ≈ 18% reflects exponential pressure relaxation governed by RC damping.
Practical Notes
In sepsis, R drops dramatically (e.g., 0.5 mmHg·min/mL) causing low MAP despite high CO; increase vasopressor support to restore R.
Aging stiffens arteries; reducing C below 0.8 mL/mmHg increases pulse pressure and systolic load on left ventricle.
If τ exceeds T (slow RC time constant), diastolic pressure remains elevated, simulating reduced arterial elastance seen in chronic hypertension or aortic atherosclerosis.
Verify CO = (MAP − CVP)/R where CVP ≈ 0 mmHg for simplified two-element Windkessel; three-element models add characteristic impedance for improved accuracy.