Jump to content

Recommended Posts

So I created a simple heat calculator.

It allows you to select materials so specific heat capacity is automatically filled in. You just type temperature and mass and kDTU is calculated.

You can compare 2 materials to figure out how much mass or temperature difference you need to be able to cool down or heat up the materials.

You can access it here: http://www.oni-heat-calc.cba.pl/

So far so good - a simple solution for a common problem.

I tried to go further and estimate the result temperature of heat transfer between given materials and theirs kDTUs. But formulas, I thought will work, doesn't give consistent results with what I'm observing in the game while testing it. In my calculations I was omiting the heat conductivity factor because I just wanted to get the final temperature without considering how much time does it take to reach it.

So for example I tried to estimate the final temperature after exchanging heat between petroleum and super coolant.

In the real game enviroment I tried 3 variations of petroleum temperature, while keeping coolant temperature always the same, at 40C and mass of both at 10kg:

  • 150C => final temperature ~60C
  • 200C => final temperature ~70C
  • 300C => final temperature ~88C

I build this heat exchanger based on super conductor to test and get real values from game:

Spoiler

?interpolation=lanczos-none&output-forma

So I would like to ask your help to better understand how to properly count this heat exchange temperature. Can someone please provide me a formula how this should be calculated to obtain same results as in game?

Thank you in advance.

Link to comment
https://forums.kleientertainment.com/forums/topic/97504-oni-heat-calculator/
Share on other sites

Calculation

  Amount Specific Heat Start Temp   End temp Heating/Cooling
  g (DTU/g)/°C °C   °C DTU
Petroleum 1 1,760 40   131,0 -160,19
Super Coolant 1 8,440 150   131,0 160,19

In game simulation, quantity is irrelevant, the liquids started at exactly 150°C and 40°C and only took few seconds to reach end temperature (liquids in contact exchange heat very rapidly):

5bd310662e1fa_ScreenShot2018-10-26at14_55_55.png.ced718938cf578fa969602e8f72727d4.png5bd3105eaa35b_ScreenShot2018-10-26at14_55_52.png.50ea5688cb537b790ae2984e6d46edcc.png

There is a limit at which the heat exchanged is too small so it doesn't happen (which caused them to not reach the final temperature).  It was discussed elsewhere in this forum.

The formula to calculate the end temperature is:

Te = (HC_petro * Ts_petro + HC_super * Ts_super) / (HC_petro + HC_super)
where:
Te = end temperature
HC = Heat Capacity
Ts = Start Temperature

 

@thejams Thank you so much!

I have updated the calculator. Now it shows final temperature after heat exchange.

And I think that mass can matter in case of heat exchange in the test build I showed here. If in one pipe there is coolant at rate of 10kg/s(40C) and in second petroleum at rate of 5kg/s(150C) then calculator shows that final temperature will be 50C. Cannot test it in game right now as I'm at work. 

Well if the mass is not the same, you need to solve the heat exchange with the mass taken into account too.  The above example was assuming equal mass.

It will become:

Te = (HC1 * m1 * Ts1 + HC2 * m2 * Ts2) / (HC1 * m1 + HC2 * m2)

cmmon, this is elementary school grade math and physics :p

EDIT: oh, you already did ... sorry

1 minute ago, Angpaur said:

I already added mass to the equation in calculator. That is why it shows 50C, not 58C for the conditions with different mass.

Ok. Let me ask in a simple way.

Is there heat transfer between a tile of 200kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is correct.
Is there heat transfer between a tile of 2000kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is incorrect.

1 minute ago, Saturnus said:

Ok. Let me ask in a simple way.

Is there heat transfer between a tile of 200kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is correct.
Is there heat transfer between a tile of 2000kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is incorrect.

As I already mentioned in the orignal post the calculator doesn't consider termal conductivity as a factor - it counts like conductivity is instant or infinite.

I made it in order to calculate for example how much coolant I need to cool down some other material if I know its temperature and mass.

4 minutes ago, Angpaur said:

As I already mentioned in the orignal post the calculator doesn't consider termal conductivity as a factor - it counts like conductivity is instant or infinite.

I made it in order to calculate for example how much coolant I need to cool down some other material if I know its temperature and mass.

Not arguing that at all. Merely pointing out that heat transfer isn't a simple binary thing. Well, in a way it is. Low mass means you have heat transfer, high mass means you don't. Very counter-intuitive.

1 minute ago, Saturnus said:

Not arguing that at all. Merely pointing out that heat transfer isn't a simple binary thing. 

Indeed it is not simple at all, not just a simple binary thing ;)

That is why I hope this calculator will help other people who struggled like me to properly predict temperature changes in ONI

As far I know ONI uses some custom algorithms to count conduction. It is of course based on real formula, but has some exceptions. That is why I didn't want to include this in my calculator as I was certain it will not give corresponding to ingame results. So probably the calculator you mentioned also will not always give correct results.

On 10/26/2018 at 9:51 AM, Saturnus said:

Is there heat transfer between a tile of 200kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is correct.
Is there heat transfer between a tile of 2000kg 2000K magma to a sandstone insulated tile? If yes, then the calculator is incorrect.

 

On 10/26/2018 at 9:58 AM, Saturnus said:

Not arguing that at all. Merely pointing out that heat transfer isn't a simple binary thing. Well, in a way it is. Low mass means you have heat transfer, high mass means you don't. Very counter-intuitive.

What you talkin' 'bout Willis?  How the hell can a full tile of magma not heat a tile it is touching?

I updated the calculator so now it can count how many wheezworts are needed to cool down given material during one second.

I noticed many people asking about it and having hard time to figure it out. Now you can calculate this easily.

Additionally calculation results can now be shared as a link.

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...