Carnot Engine Simulator

The Carnot engine defines the theoretical maximum efficiency for any heat engine.

Loading interactive simulation...

Lesson

The theory — Carnot Engine Simulator

A heat engine takes heat from something hot, converts part of it to work, and dumps the rest somewhere cold. The Carnot efficiency is the largest share any engine can convert, and it is fixed by the two temperatures alone: η = 1 − T_C/T_H. Not the fuel, not the working substance, not the engineering — the temperatures.

What each symbol means

T_H, T_C
the hot and cold reservoir temperatures, in kelvin. Absolute temperatures: the formula is a ratio, so a scale with an arbitrary zero gives an arbitrary answer.
Q_H
the heat drawn from the hot reservoir in one cycle.
Q_C
the heat dumped into the cold one. It is what makes an engine an engine — you cannot set it to zero.
η
W/Q_H, the fraction of the heat taken in that leaves as work.

Where the formula comes from

  1. Start with bookkeeping. Over a complete cycle the engine returns to its starting state, so it stores nothing: everything in must come out. W = Q_H − Q_C, and therefore η = W/Q_H = 1 − Q_C/Q_H. Efficiency is now entirely a question of the ratio Q_C/Q_H.
  2. Notice what has NOT been ruled out. Conservation alone is happy with Q_C = 0 and η = 1 — an engine that turns all its heat into work. Nothing in the first law forbids it. The limit has to come from somewhere else.
  3. It comes from entropy. Taking Q_H out of the hot reservoir lowers its entropy by Q_H/T_H; dumping Q_C into the cold one raises its entropy by Q_C/T_C. The engine itself returns to its starting state, so the total change is just those two. The second law forbids a decrease, so Q_C/T_C ≥ Q_H/T_H.
  4. Rearranged, Q_C/Q_H ≥ T_C/T_H, and substituting into step 1 gives η ≤ 1 − T_C/T_H. Equality needs the total entropy change to be exactly zero, which means a perfectly reversible cycle. So the Carnot value is not a clever design — it is the ceiling every design is measured against, and every real irreversibility raises Q_C and lowers η.

How to read what you see

The left panel is the cycle on pressure-volume axes: two isotherms at T_H and T_C joined by two adiabats, and the area enclosed is the work per cycle. The right panel is the same thing as a flow — Q_H in from the hot block, W out to the side, Q_C down into the cold block — with the three numbers on their arrows. Change only Q_H and the loop keeps its shape while every energy scales; change a temperature and the loop itself changes proportions.

Assumes
Two reservoirs so large that drawing heat does not cool one or warm the other, and a cycle run reversibly — slowly enough that the working substance is in equilibrium at every instant. Both temperatures in kelvin. The reservoirs are also assumed to be the only things the engine touches: no friction, no heat leaking around the cycle rather than through it.
Breaks when
The ΔS row is zero for every input you can type, and that is a property of the arithmetic rather than a verdict on the engine. Q_C is computed here as Q_H − W with W from the Carnot formula, which makes Q_C/T_C and Q_H/T_H equal identically — the row confirms that the Carnot cycle is the reversible one, and cannot detect anything else. A real engine generates entropy, and the honest way to see that here is to compare a measured efficiency against the ceiling this page prints, not to look for a non-zero ΔS.

Use Celsius here and the engine looks half again as good 🖖

The inputs on this tool are marked in kelvin, and that is not housekeeping — η = 1 − TC/TH is a ratio of absolute temperatures, so it collapses the moment you feed it a scale with an arbitrary zero. Take the steam preset, 773 K over 373 K, which the tool reports as 51.7%. Those same temperatures are 500 °C and 100 °C, and 1 − 100/500 comes out at 80%. Nothing about the engine changed; only the zero point of the scale did. At gentler temperatures it is worse still: 100 °C against 20 °C is genuinely 21.4% and reads as 80% in Celsius, an overstatement of 3.7 times. The deep reason is that this ratio is what makes absolute zero a real place rather than a convention — efficiency reaches 1 exactly when TC reaches 0, and no other scale has a zero that means anything.

Only the temperatures matter 🖖

The Carnot efficiency η = 1 − TC/TH depends only on the two reservoir temperatures — never on the fuel, the gas, or how cleverly the engine is built. Both temperatures must be in kelvin, so 300 °C is not '10× hotter' than 30 °C. The practical takeaway: to squeeze out more work, widen the temperature gap — raise TH or lower TC. You can never reach 100%, because TC = 0 K is unreachable.

The most efficient engine makes zero power 🖖

There's a catch textbooks skip: reaching the Carnot limit requires running the cycle infinitely slowly, so each stroke stays reversible. An infinitely slow engine delivers infinitesimal power — useless in practice. In 1975 Curzon and Ahlborn instead asked for the efficiency at maximum power output and found η = 1 − √(TC/TH). For an 1800 K / 600 K engine that gives ≈ 42%, far closer to real power plants than Carnot's 67%.

THE CARNOT LIMIT — WHAT SETS THE CEILING, AND WHAT IT COSTS TO RAISE IT

Which Carnot Case Are You In?

The best any heat engine can do is η = 1 − Tc/Th, and the striking part is what is absent: the fuel, the working substance, the size of the machine. Only the two temperatures matter, and only as a ratio. That single expression tells you where the ceiling is, why real engines run hot, and why the same hardware that makes a poor engine makes an excellent heat pump.

A two-to-one temperature ratio — half the heat becomes work η = 1 − Tc/Th
A very hot source — the ceiling rises but reality falls short Th ↑ ⇒ η ↑
A real machine — the cold side matters as much as the hot Tc ↓ ⇒ η ↑
A very cold sink — a high ceiling from a lukewarm source η = 1 − Tc/Th
A small temperature gap — a poor engine and an excellent heat pump COP = Tc/(Th − Tc)

01

A two-to-one temperature ratio — half the heat becomes work

What you know: Both reservoir temperatures in kelvin. η = 1 − Tc/Th, and nothing else enters the calculation.

Efficiency: η = 1 − Tc/Th

Worked example: Th = 600 K against Tc = 300 K → η = 1 − 0.5 = 50%. Of 1000 J drawn from the hot side, 500 J becomes work and 500 J is dumped cold.

Open this case: 50% efficient
A two-to-one temperature ratio — half the heat becomes work. Half the input becomes work and half leaves at the cold reservoir — the ratio decides the split. Both reservoir temperatures in kelvin. η = 1 − Tc/Th, and nothing else enters the calculation.
Half the input becomes work and half leaves at the cold reservoir — the ratio decides the split.

02

A very hot source — the ceiling rises but reality falls short

What you know: A combustion temperature far above the surroundings. The ratio Tc/Th becomes small, so the theoretical efficiency climbs towards 1.

Efficiency: Th ↑ ⇒ η ↑

Worked example: Th = 2500 K against Tc = 300 K → η = 88%. Of 5000 J, the limit allows 4400 J of work and only 600 J rejected.

Open this case: Car engine
A very hot source — the ceiling rises but reality falls short. A hot source shrinks the rejected heat to a thin stream, at least in principle. A combustion temperature far above the surroundings. The ratio Tc/Th becomes small, so the theoretical efficiency climbs towards 1.
A hot source shrinks the rejected heat to a thin stream, at least in principle.

03

A real machine — the cold side matters as much as the hot

What you know: Both temperatures are set by the working fluid and the condenser. Lowering Tc helps exactly as much as raising Th by the same ratio.

Efficiency: Tc ↓ ⇒ η ↑

Worked example: Th = 773 K against Tc = 373 K → η = 51.7%, so 2000 J gives 1035 J of work and rejects 965 J.

Open this case: Steam engine
A real machine — the cold side matters as much as the hot. Both reservoirs are levers; the condenser temperature moves the ceiling as surely as the boiler does. Both temperatures are set by the working fluid and the condenser. Lowering Tc helps exactly as much as raising Th by the same ratio.
Both reservoirs are levers; the condenser temperature moves the ceiling as surely as the boiler does.

04

A very cold sink — a high ceiling from a lukewarm source

What you know: The hot side is merely room temperature, but the cold side is liquid nitrogen. The ratio is what counts, not how hot the source feels.

Efficiency: η = 1 − Tc/Th

Worked example: Th = 300 K against Tc = 77 K → η = 74.3%. From 500 J the limit allows 372 J of work.

Open this case: Cryogenic
A very cold sink — a high ceiling from a lukewarm source. A cold sink does the same job as a hot source, because only the ratio of the two enters. The hot side is merely room temperature, but the cold side is liquid nitrogen. The ratio is what counts, not how hot the source feels.
A cold sink does the same job as a hot source, because only the ratio of the two enters.

05

A small temperature gap — a poor engine and an excellent heat pump

What you know: The two reservoirs are close together. The efficiency collapses, but the same cycle run backwards becomes highly effective.

Efficiency: COP = Tc/(Th − Tc)

Worked example: Th = 350 K against Tc = 300 K → η = 14.3%, only 143 J of work from 1000 J. Reversed, the coefficient of performance is Tc/(Th − Tc) = 6.0.

Open this case: Inefficient
A small temperature gap — a poor engine and an excellent heat pump. A narrow gap wastes most of the heat as an engine, and moves heat cheaply in reverse. The two reservoirs are close together. The efficiency collapses, but the same cycle run backwards becomes highly effective.
A narrow gap wastes most of the heat as an engine, and moves heat cheaply in reverse.
References (2)

Problems solved in full

  1. An engine taking in 1000 J between 600 K and 300 K 5 steps

    An engine runs between 600 K and 300 K and takes in 1000 J. Find the most work it could possibly produce — and then find out why raising the hot side beats cooling the cold side.

    1. A reversible cycle returns to its starting state, so entropy must too. That single requirement ties the two heat flows to the two temperatures before any engine design is considered.

    2. Efficiency is work out over heat in, and work is whatever heat did not get dumped. Substituting the entropy condition removes the heats entirely and leaves only temperatures.

    3. Evaluate. The simulator above shows this substitution rather than just the result, which is the point: the answer depends on nothing about the working fluid, the pressures, or the machinery.

    4. So 500 J of the 1000 J must be thrown away. Not because the engine is badly built — because a perfectly reversible one running between these temperatures would also throw away exactly this much.

    5. Now compare the two upgrades on offer. Raise the hot side by 200 K to 800 K, or cool the cold side by the 50 K the environment allows, to 250 K. You cannot cool below ambient without a second engine spending work to do it.

    Answer

    500 J, and not one joule more. Raising the hot reservoir to 800 K gives η = 0.625; the cold side is bounded below by the environment, so real gains almost always come from the top. That is why jet engines chase turbine-inlet temperature with exotic alloys and blade cooling, and why a power station’s cooling towers are not a design failure — the 500 J they reject is required by the second law. The ceiling here is not engineering; a perfect engine hits the same number.

  2. An efficiency of 50.0% running the whole cycle backwards 6 steps

    The panel prints an efficiency of 50.0% and a total entropy change of exactly 0.0000. That zero is the more interesting number: it is the licence to run the whole cycle backwards. Do that, and ask what a Carnot engine turns into.

    1. Start where the panel already is. Half the heat drawn from the hot reservoir leaves as work and the other half is dumped cold — that is what 50% means here, and 1000 J in gives 500 J out.

    2. Now the entropy row. What the cold reservoir gains and what the hot one loses are equal and opposite, so the total is zero — and a process with zero entropy change is reversible by definition. Nothing in the cycle prefers a direction.

    3. So reverse it. Push 500 J of work in, and the cycle carries 500 J up from the cold side and delivers 1000 J to the hot one. Divide through by the work: two units of heat delivered per unit of work spent, which is exactly 1/η.

    4. Both ratios deserve names. Heat delivered per unit work is 2; heat removed from the cold side per unit work is 1. Their difference is always exactly 1, and not by coincidence — the difference of the two heats is the work.

    5. Now the number that matters for a house. Rewrite the ratio in temperatures alone: 20 °C indoors against 0 °C outside is a gap of 20 K, and the ideal figure is 14.65 — nearly fifteen joules of heating per joule of electricity.

    6. The two directions pull opposite ways, which is the sting. Squeeze the temperature gap and the heat pump becomes spectacular while the engine becomes useless.

    Answer

    Run a Carnot engine backwards and its efficiency becomes its coefficient of performance, 1/η — here 2, or 1000 J delivered for 500 J of work. That reads as 200% and breaks nothing, because a heat pump moves heat rather than making it. The engine's enemy is the heat pump's friend: at 293 K against 273 K the ideal figure is 14.65, while a real unit manages 3 to 5. The entire gap between 14.65 and 4 is irreversibility — the panel's entropy row no longer reading zero.

Example problems

  • 50% efficient - A round number to hold on to: 600 K over 300 K halves the ratio and gives exactly 50.0% — of 1000 J in, 500.0 J comes out as work
  • Car engine - A petrol flame at 2500 K exhausting to 300 K allows 88.0%, and 4400.0 J of every 5000 — the ceiling real engines reach barely a third of
  • Steam engine - 773 K over 373 K is 51.7%: superheated steam to a condenser, and still only half the heat becomes work
  • Cryogenic - Liquid nitrogen at 77 K as the cold side gives 74.3% from room temperature — the cold reservoir is the cheaper lever, and this is why
  • Inefficient - 350 K over 300 K is 14.3%. A 50-degree gradient is a poor engine no matter how well built, which is the whole point of the formula