Yes, and it is quite simple (once you get your head around it
Somewhere on the specification for the device it will tell you the maximum junction temperature for the device. This tends to be fairly consistent because it is related to the materials used in its construction. It may be higher for devices made using exotic semiconductors.
For silicon devices, it's typically rated at around 125C -- silicon can get hotter than this, but manufacturers typically give you a "safe" value to allow for local hotspots for example that may mean some parts of the chip are hotter than the average. You'll also see 150C and 200C for some devices.
Another very important specification is the maximum power. Regardless of heatsinking, you should not exceed this.
Somewhere you will find ratings for thermal resistance. This is given in degC/Watt. This tells you the increase in temperature that will accompany each additional watt of power dissipation. You can see values ranging from 0.5 up to 600, so don't be surprised. Typically you will see 1 or 2 values. One is junction to case, the other is case to air (or junction to air). Which you see depends on whether the manufacturer expects you to be using a heatsink.
Lets look at a particular case. The 2N3055 transistor. Read along with me
here.
The first think you'll notice is that it's a 115W device. (but you can't always use it at up to this power level)
The next thing you'll see is de-rating information (which is related to heatsinking) and the range of storage and operating junction temperatures. Most of us don't have to worry about the lower limit of -65C. The upper value for this device is 200C. Note that this section is called "Maximum ratings", many datasheets are more explicit in calling it "Absolute maximum ratings" -- these are things you should never exceed. Let's say that we'll design for a max junction temperature of 150C (I'd be happier with that).
Going down a little further, you'll see the "Thermal Characteristics", and here we find that the device has a thermal resistance of 1.52 degrees C per watt from junction to case. No values are given for thermal resistance from case to air -- because they expect you'll always be heatsinking it. Without a heatsink, the thermal resistance from case to air is about 7.5 degC/watt (from a bit of googling).
And what is the maximum temperature at which we will operate? Let's assume 40C. Now, this will refer to the temperature of the air surrounding the device, and if it's in an enclosed case, 40C could very easily be exceeded. But let's go with that...
Now we have all the figures:
Max 115W, mac junction temp 150C, 1.52 degC/W junction to case, 7.5 degC case to air, ambient temperature 40C
The first thing we do is add all the thermal resistances together. So from junction to air, we have junction to case plus case to air which is close enough to 9 degC/W.
The next thing to do is to find the difference between the max junction temperature and the ambient air. That's 150 - 40 = 110 degC
Now to determine the max dissipation we simply divide the temperature difference by the thermal resistance -- 110 / 9 = 12.2 (let's call it 12)
So without heatsinking, the maximum dissipation is 12W. That's less than 115W, so that's OK. (if it was > 115W, we would just use 115W).
Remember that at 12W the transistor will have a junction operating at 150C and the case will be extremely hot. But that's nowhere near 115W.
Let's assume we had one of
these heatsinks. You'll notice that they are rated at 2.5 degC/W. What impact would that have?
Let's do the sums again...
Max 115W, mac junction temp 150C, 1.52 degC/W junction to case, 2.5 degC case to air, ambient temperature 40C
So from junction to air 4 degC/W.
Difference between the max junction temperature and the ambient air. That's 150 - 40 = 110 degC
Max dissipation 110 / 4 = 27.5 (let's call it 27)
So that small heatsink allows us to dissipate 27W.
In reality, the max dissipation will be lower. Why? Well we often want to insulate the transistor from the heatsink, and this insulation will itself have some thermal resistance. In fact, even bolting the transistor to the heatsink has some thermal resistance because the two do not make a perfect connection. Thermal paste is often used to improve this connection. The thermal resistance can vary from 0.25 degC/W to 1.5 degC/W. The lower value is obtained using a toxic beryllium compound (which is my favourite).
Typically, however, we don't want to determine the max power, we have a design that calls for the dissipation of a certain amount of heat and we want to keep the transistor within it's operating range. Let's try a more realistic example.
Required dissipation 40W
Max air temp 45C
resistance of insulator 0.5 degC/W
The difference in temperatures is 150-45 = 105
the required thermal resistance is105/40 = 2.6 degC/W
The required thermal resistance of the heatsink is 2.6 - (1.52 - 0.5) = 0.6 degC/W
Here is an example of a 0.5 degC/W heatsink. That is *huge*.
And remember that the total dissipation is only 40W.
So how can we get away with a smaller heatsink?
1) we can allow the device to get hotter
2) we can make assumptions that the air temperature is lower
3) we can use forced air cooling (a fan)
4) we can eliminate the insulating washer (easiest if the heatsink is inside the case)
5) we can heatsink based on average rather than max power
6) use a different package
7) use multiple devices in parallel
Here is something that goes into heatsinking in more detail.
Essentially it's pretty simple, but there are lots of factors to consider.