• 13
• 15
• 27
• 9
• 9

# Whats a good mathematical model for heat transfer?

This topic is 1401 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Well basically I have  one main heat variable wich increases and decreases by its modifyers.
Now the interesting part for me is, that how would I transfer the heat dynamically to another variable?

For a good example, heat transfer from oil to water in cars. The oil Heats up and if the water is colder than the oil, it heats up to the same temperature, but it wont do this instantly. It takes some time to transfer heat from one fluid to another.

If possible Id like to ignore if/else sentences and do it all mathematically, this way it would stay dynamic.

So to start things of, obviously I need  a heattransfer variable, so the higher this is the faster the transfer takes place. I'd like to keep this 1.0 at highest, where the heat transfer is almost instant., so a variable of 0.3 would give smoother transfer.
And I also need a cooling variable, so that the heat can be cooled down if its higher than the desired temperature. Same criteria for heating applys to cooling.

As I understand I have to take use of a formula like this:

// decrease
transfer -= (constant + transfer)*transferspeed*dT;
// increase
transfer += (constant - transfer)*transferspeed*dT;

right? But how could I write it as close to a single line code with cooling included ?

Edit:

Also how to make it so that the desired heat will also decrease, because its a heat transfer procedure.  As a law of physics theres no such thing as a free lunch.

Thanks!

##### Share on other sites

The real way is to use something like Fourier's law like in this article.

Though that might be overkill for your purposes.

##### Share on other sites

Start by thinking about it as heat energy, not as temperature.

You can get temperature from the internal energy by having the mass and thermal heat capacity of the objects.

The difference in temperature drives a flow of heat energy between the objects.

A thermal resistance slows this flow.

It works like Ohms law.  (E=IR)

But with thermal-ness it would be (T = QR)

where T is temperature delta, Q is heat flow, R is thermal resistance.

How you calculate R is the crux of how complicated your system is!  For a simple "looks good enough" you can just base it on surface area of the objects in contact with a scaling factor.

For a more accurate effect, you'd have to deal with things like arriving at a convection coefficient which is brilliantly convoluted to calculate.  For round objects there are some natural logs that show up in the calculation of R.  There are Nussault numbers and Prandl numbers.  You can go nuts here.

Your specific example of heat transfer from oil->water is an example of a heat exchanger.

If you can be more specific about what you need to accomplish, we can advise you better.

##### Share on other sites

You may want to use a relatively simple heat transfer simulation.

[attachment=21566:heat_transfer.png]

Thermal units (BTUs) are driven by temperature differences. I've shown it as linear but it's actually a higher order curve.

The oil is at one temperature. Near the radiator wall there's a transfer region whose coefficient is oil dependent. The radiator wall has a coefficient, as does the water.

Given oil and water temperatures, setup equations for each transfer region and solve for the temperature at each interface.

##### Share on other sites
Simple version: The amount of heat transferred per unit of time is proportional to the difference in temperature. The constant of proportionality is what controls how fast the transfer happens.

  // Each timestep

transfer_heat = control_variable * timestep_length * (object_B.temp - object_A.temp);
object_A.temp += transfer_heat / object_A.heat_capacity;
object_B.temp -= transfer_heat / object_B.heat_capacity;
Edited by Álvaro