PowerElecHub

Heatsink and Thermal Resistance Calculator

Junction temperatures of several devices on one heatsink, the largest heatsink R_θSA that keeps them under T_j,max, TIM resistance, and pulsed junction temperature from a Foster Z_th network.

Heatsink and ambient

A datasheet R_θSA holds only for the stated airflow, orientation and mounting. Natural convection with the fins horizontal, or a heat source much smaller than the base, can be considerably worse.

R_θCS = t/(k·A) = 0.333 K/W

Every device uses this R_θCS. Use the compressed thickness, not the nominal one.

Devices on the heatsink

NameP (W)R_θJC (K/W)R_θCS (K/W)T_j,max (°C)T_c (°C)T_j (°C)Remove
0.33385.195.1
0.33385.195.1
0.33381.189.1

Total loss ΣP

48.0 W

Heatsink T_s

78.4 °C

T_a + R_θSA·ΣP

Hottest junction

95.1 °C

Largest allowed R_θSA

1.549 K/W

set by D1, 25 °C margin

Temperature at each node

Foster network (Z_th,jc)

iR_i (K/W)τ_i (s)
1
2
3
4

Enter up to four R_i/τ_i pairs from the datasheet's Z_th table. The defaults are generic example values, not data for any real part. Leave a row at 0 to drop it.

Pulse train

T_c is held constant. This is reasonable when the pulse period is much shorter than the heatsink's time constant.

Peak T_j (periodic)

103.8 °C

ΔT_jc = 18.77 K

Valley T_j (periodic)

87.0 °C

ΔT_jc = 2.01 K

Single pulse

101.9 °C

P·Z_th(t_p) = 16.91 K

Average power only

90.0 °C

D·P·ΣR = 5.00 K

Superposition approximation: 19.11 K against 18.77 K exact (1.8 %). ΣR_i = 0.500 K/W, D = 10.0 %.

Z_th,jc(t) from the Foster entries

T_j over 52 periods from a cold start

The train runs for about five times the longest τ (100 ms), so the last pulses reach the periodic steady state.

One-dimensional thermal resistances with a single sink node. Heat spreading in the base, interaction between neighbouring devices and the heatsink's own time constant are not modelled. A Foster network describes only the junction-to-case impedance as a whole; its inner nodes have no physical meaning, so it cannot be split at the case or chained with a heatsink model without error.

How it works

In steady state each device's heat flows through its junction-to-case resistance R_θJC, then the interface material R_θCS, into a heatsink that all devices share. The heatsink rises above ambient by R_θSA times the total loss, so every device on the sink is heated by the others as well. The junction temperature of each device adds its own drops on top of the common sink temperature.

The inverse question is often the useful one: how good does the heatsink have to be? For each device the allowed sink rise is T_j,max minus the margin, ambient and its own case and TIM drops; dividing by the total loss gives an R_θSA limit, and the smallest of these is the requirement. The device that sets it is not always the one with the highest loss.

The thermal interface is a thin layer with resistance t/(k·A). Pads and greases are specified by conductivity, but the thickness that counts is the compressed one under the mounting pressure, and the contact area is the part of the tab or base that actually touches.

For pulsed loads the junction responds through the transient impedance Z_th, given in datasheets as a Foster network of R_i/τ_i pairs, Z_th(t) = Σ R_i(1 − e^(−t/τ_i)). A single pulse heats the junction by P·Z_th(t_p). For a repetitive train each RC element settles into its own periodic cycle, which has an exact closed-form solution, so no approximation is needed. The case temperature is held constant, which Infineon AN2008-03 notes is valid when the heatsink is much slower than the device. The superposition approximation adds the last pulse's step, Z(t_p), to the average D·R_th; the term (1 − D)·Z(T + t_p) − Z(T) corrects for the previous pulse, which began one period T before the last one.

Design procedure

  1. 1Collect each device's loss at the worst operating point, its R_θJC and its T_j,max, and decide on a margin.
  2. 2Work out R_θCS from the interface material: compressed thickness, conductivity and real contact area, or take it from the pad's datasheet.
  3. 3Read off the largest allowed R_θSA and the device that sets it, then choose a heatsink whose resistance under your airflow and orientation is below that value.
  4. 4Enter the chosen R_θSA and check every junction temperature and the sink temperature.
  5. 5For pulsed operation, enter the Foster pairs from the datasheet, the pulse power, width and period, and use the case temperature from the steady-state result. Check the periodic peak, not just the average.
  6. 6Confirm on the bench by measuring the heatsink or case temperature under full load.

Formulas

Shared heatsink node
T_s = T_a + R_θSA·ΣP_k, T_c,i = T_s + P_i·R_θCS,i, T_j,i = T_c,i + P_i·R_θJC,i
Largest allowed heatsink resistance
R_θSA,max = min_i [ (T_j,max,i − margin − T_a − P_i·(R_θJC,i + R_θCS,i)) / ΣP_k ]
Thermal interface
R_θCS = t / (k·A)
Foster thermal impedance
Z_th(t) = Σ R_i·(1 − e^(−t/τ_i)), Z_th(∞) = Σ R_i, single pulse ΔT_j = P·Z_th(t_p)
Periodic steady state (exact)
ΔT_max = P·Σ R_i·(1 − e^(−t_p/τ_i)) / (1 − e^(−T/τ_i)), ΔT_min = Σ ΔT_i,max·e^(−(T − t_p)/τ_i)
Superposition approximation
Z(t_p, D) ≈ D·R_th + (1 − D)·Z(T + t_p) − Z(T) + Z(t_p)

Worked example

Two MOSFETs at 20 W with R_θJC = 0.5 K/W and a diode at 8 W with 1.0 K/W share a heatsink of 0.8 K/W at 40 °C ambient. Each sits on a 250 µm pad of 3 W/m·K over 250 mm², which gives R_θCS = 0.333 K/W. The total loss is 48 W, so the heatsink runs at 78.4 °C. The MOSFET cases reach 85.1 °C and their junctions 95.1 °C; the diode case reaches 81.1 °C and its junction 89.1 °C. With a 25 °C margin below T_j,max (175 °C for the MOSFETs, 150 °C for the diode), the diode sets the limit, and the heatsink may be as poor as 1.55 K/W. For the transient part, a generic Foster network (0.05 K/W at 0.1 ms, 0.15 at 1 ms, 0.25 at 10 ms, 0.05 at 100 ms; 0.5 K/W in total) carries 100 W pulses of 1 ms every 10 ms with the case held at 85 °C. A single pulse raises the junction by 16.9 K to 101.9 °C. In the periodic steady state the junction swings between 87.0 °C and 103.8 °C (2.01 K to 18.77 K above the case), while the average power alone would predict only 90.0 °C. The superposition approximation gives 19.11 K, 1.8 % above the exact value.

Common mistakes

  • Using the TIM's nominal thickness. Pads compress and greases thin out under pressure, and the result depends on the mounting force and flatness.
  • Taking a datasheet R_θSA at face value. It applies to one airflow and orientation, and a small heat source on a large base spreads poorly.
  • Evaluating pulsed loads with average power only. The junction swings above the average; in the example the peak is 13.8 K higher than the average-power estimate.
  • Splitting a Foster network at the case or chaining it with a heatsink Foster network as if its nodes were physical. Its internal nodes do not correspond to the case or any layer.
  • Forgetting the other devices on the same heatsink. Their loss raises the sink temperature for everyone, and the device with the least margin limits the heatsink choice.

Frequently asked questions

Can I read the case temperature from the Foster network?

No. In a Foster network the RC elements are fitted to the measured Z_th curve and their nodes have no physical meaning, as Infineon AN2008-03 points out. Only a Cauer (ladder) network has nodes that correspond to the layers of the device, and a Foster network does convert to a unique Cauer network for a given impedance, but Cauer elements derived from fitted data are still not physical layer values. For the same reason, putting a device's Foster model in series with a heatsink model sends heat to the heatsink without delay, which is not what happens physically.

Is the R_θSA from a heatsink datasheet valid for my design?

Only under the conditions it was measured: airflow, fin orientation, mounting and usually a heat source spread over the base. Natural convection with horizontal fins, a nearby enclosure wall, or one small device in the middle of a large base can all give a noticeably higher resistance. Use the margin for this, or measure the sink temperature in the real assembly.

Why compute the periodic steady state exactly rather than with the usual approximation?

Each RC element of a Foster network has a closed-form periodic solution, so the exact peak and valley take no more effort than the approximation. The common superposition formula, Z(t_p, D) ≈ D·R_th + (1 − D)·Z(T + t_p) − Z(T) + Z(t_p), is shown for comparison; in the example it is 1.8 % high.

When is holding the case temperature constant reasonable?

When the pulse period is much shorter than the heatsink's time constant. Air-cooled heatsinks typically respond in tens to hundreds of seconds, so a train of millisecond pulses sees an almost constant base. Water-cooled cold plates are much faster; for those Infineon AN2008-03 recommends measuring the Z_th of the complete system.

How were the formulas checked?

With a script: the Foster sum at long times equals ΣR_i (0.5 K/W); the single-pulse rise P·Z_th(t_p) = 16.910 K agrees with an RK4 integration of the RC network to six digits; the exact periodic peak of 18.768 K agrees with 120 periods of time stepping and with the cold-start pulse train used for the chart; and the steady-state example was checked by hand.

Results are engineering estimates. Verify your design with datasheets, simulation and measurement.

Related guides

Related calculators